diff options
Diffstat (limited to 'rc.d/init.d')
-rwxr-xr-x | rc.d/init.d/network | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/rc.d/init.d/network b/rc.d/init.d/network index a3aeb0e0..e2045812 100755 --- a/rc.d/init.d/network +++ b/rc.d/init.d/network @@ -96,6 +96,7 @@ case "$1" in awk '{ print $3 }' 2>/dev/null` sysctl -w kernel.hotplug="/bin/true" > /dev/null 2>&1 + vlaninterfaces="" cipeinterfaces="" xdslinterfaces="" @@ -117,6 +118,12 @@ case "$1" in unset DEVICE TYPE SLAVE continue fi + + if [ "${DEVICE%%.*}" != "$DEVICE" ] ; then + vlaninterfaces="$vlaninterfaces $i" + unset DEVICE TYPE SLAVE BRIDGE + continue + fi if [ "$SLAVE" = "yes" ]; then unset DEVICE TYPE SLAVE @@ -138,7 +145,7 @@ case "$1" in done # Bring up xDSL and CIPE interfaces - for i in $xdslinterfaces $cipeinterfaces ; do + for i in $vlaninterfaces $xdslinterfaces $cipeinterfaces ; do if ! LANG=C egrep -L "^ONBOOT=['\"]?[Nn][Oo]['\"]?" ifcfg-$i >/dev/null 2>&1 ; then # If we're in confirmation mode, get user confirmation. if [ -f /var/run/confirm ]; then @@ -189,6 +196,7 @@ case "$1" in fi fi + vlaninterfaces="" cipeinterfaces="" xdslinterfaces="" @@ -208,10 +216,15 @@ case "$1" in unset DEVICE TYPE continue fi + if [ "${DEVICE%%.*}" != "$DEVICE" ]; then + vlaninterfaces="$vlaninterfaces $i" + unset DEVICE TYPE + continue + fi unset DEVICE TYPE done - for i in $cipeinterfaces $xdslinterfaces ; do + for i in $cipeinterfaces $xdslinterfaces $vlaninterfaces ; do eval $(fgrep "DEVICE=" ifcfg-$i) if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi |