Add support of VLAN configuration
authorMykola Malkov <mmalkov@sipwise.com>
Tue, 27 Mar 2018 15:05:45 +0000 (17:05 +0200)
committerMykola Malkov <mmalkov@sipwise.com>
Tue, 27 Mar 2018 15:06:57 +0000 (17:06 +0200)
sbin/netcardconfig

index c9dd5a9..dca975a 100755 (executable)
@@ -414,6 +414,16 @@ configiface() {
     writeiwline
   fi
 
+  # Configure VLAN on this interface?
+  if $DIALOG --yesno "$MESSAGE16" 8 45; then
+    $DIALOG --inputbox "$MESSAGE17 $DV" 10 45 2>"$TMP" || bailout 1
+    read -r VLAN <"$TMP" ; rm -f "$TMP"
+    if [ -n "$VLAN" ]; then
+      PDV=$DV
+      DV="vlan$VLAN"
+    fi
+  fi
+
   if $DIALOG --yesno "$MESSAGE2" 8 45; then
     if [ -w /etc/network/interfaces ]; then
       rm -f "$TMP"
@@ -421,7 +431,7 @@ configiface() {
         /^\W$/{if(blank==0){lastblank=1}else{lastblank=0}{blank=1}}
         /\w/{blank=0;lastblank=0}
         {if(!(found+lastblank)){print}}
-        END{print "iface '"$DV"' inet dhcp"}' \
+        END{print "iface '"$DV"' inet dhcp";if("'"$PDV"'"!=""){print "\tvlan-raw-device '"$PDV"'"}}' \
         /etc/network/interfaces >"$TMP"
       echo -e "$IWOURLINE" >> $TMP
       #echo -e "\n\n" >> $TMP
@@ -465,7 +475,7 @@ configiface() {
     if [ -w /etc/network/interfaces ]; then
       awk '/iface/{if(/'"$DV"'/){found=1}else{found=0}}
         {if(!found){print}}
-        END{print "\niface '"$DV"' inet static\n\taddress '"$IP"'\n\tnetmask '"$NM"'\n\tnetwork '"${IP%.*}.0"'";if("'"$BC"'"!=""){print "\tbroadcast '"$BC"'"};if("'"$DG"'"!=""){print "\tgateway '"$DG"'"};if("'"$NS"'"!=""){print "\tdns-nameservers '"$NS"'"};if("'"$IWOURLINE"'"!=""){print "'"$IWOURLINE"'"};print "\n"}' \
+        END{print "\niface '"$DV"' inet static\n\taddress '"$IP"'\n\tnetmask '"$NM"'\n\tnetwork '"${IP%.*}.0"'";if("'"$BC"'"!=""){print "\tbroadcast '"$BC"'"};if("'"$DG"'"!=""){print "\tgateway '"$DG"'"};if("'"$NS"'"!=""){print "\tdns-nameservers '"$NS"'"};if("'"$PDV"'"!=""){print "\tvlan-raw-device '"$PDV"'"};if("'"$IWOURLINE"'"!=""){print "'"$IWOURLINE"'"};print "\n"}' \
         /etc/network/interfaces >"$TMP"
 
       cat "$TMP" >/etc/network/interfaces
@@ -501,6 +511,8 @@ MESSAGE12="Adding Nameserver to /etc/resolv.conf:"
 MESSAGE13="Setup wireless options?"
 MESSAGE14="Failed to bring up the interface, would you like to reconfigure it?"
 MESSAGE15="Interface enabled, do you want it auto enabled at boot?"
+MESSAGE16="Configure VLAN on this interface?"
+MESSAGE17="Please enter VLAN id for"
 MESSAGEW0="No wireless network card found."
 MESSAGEW1="Configuration of wireless parameters for"
 MESSAGEW3="Please configure IP parameters of the interface first"