X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=components%2F9990-grml-networking.sh;h=0d73e5294964b7fe894695f4da3bb87b65b397ed;hb=214cc032c4713bfaaecb2fb3b4377589684c90ab;hp=f4031cdaf48ac519440ab377c5a030e505d5cf7d;hpb=0a99e046af49be786db4c61831178fa388617cea;p=live-boot-grml.git diff --git a/components/9990-grml-networking.sh b/components/9990-grml-networking.sh index f4031cd..0d73e52 100644 --- a/components/9990-grml-networking.sh +++ b/components/9990-grml-networking.sh @@ -67,10 +67,39 @@ for interface in /sys/class/net/eth* /sys/class/net/ath* /sys/class/net/wlan*; d method="dhcp" fi - cat >> $IFFILE << EOF -allow-hotplug ${interface} + if [ -n "$VLANS" ] ; then + modprobe 8021q + + # vlan=: + for line in $(echo $VLANS | sed 's/ /\n'/) ; do + vlandev=${line#*:} + vlanid=${line%:*} + + if [ -n "$vlandev" ] && [ -n "$vlanid" ] ; then + case "$vlandev" in + "$interface") + vlan_raw_dev=$interface + interface="${vlandev}.${vlanid}" + ;; + esac + fi + done + fi + + if [ -n "$vlan_raw_dev" ] ; then + cat >> $IFFILE << EOF +auto ${interface} iface ${interface} inet ${method} + vlan-raw-device $vlan_raw_dev EOF + else + cat >> $IFFILE << EOF +auto ${interface} +iface ${interface} inet ${method} +EOF + fi + + unset vlandev vlanid vlan_raw_dev # unset variables to have clean state for next device # DNS for resolvconf and /etc/resolv.conf if [ -e "${netconfig}" ]; then