Merge remote-tracking branch 'origin/pr/3'
[grml-network.git] / sbin / netcardconfig
index 83cac2b..d85404f 100755 (executable)
@@ -419,6 +419,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"
@@ -426,7 +436,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
@@ -470,7 +480,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 @@ MESSAGE10="Please enter Nameserver(s)"
 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"
 MESSAGEW4="Enter the ESSID for"
 MESSAGEW5="\n\n\n(empty for 'any', not recommended !)\n"
 MESSAGEW6="Enter the NWID (cell identifier)\nfor"