diff options
-rwxr-xr-x | rc.d/init.d/network | 12 | ||||
-rwxr-xr-x | sysconfig/network-scripts/ifup | 11 |
2 files changed, 11 insertions, 12 deletions
diff --git a/rc.d/init.d/network b/rc.d/init.d/network index 6dbeb116..4757fe45 100755 --- a/rc.d/init.d/network +++ b/rc.d/init.d/network @@ -38,7 +38,7 @@ interfaces=`ls ifcfg* | egrep -v '(ifcfg-lo|:)' | egrep 'ifcfg-[a-z0-9]+$' | \ sed 's/^ifcfg-//g'` interfaces_boot= -for inter in interfaces ; do +for inter in $interfaces ; do egrep -L "ONBOOT=\"?[Nn][Oo]\"?" ifcfg-$inter >/dev/null || interfaces_boot="$interfaces_boot $inter" done @@ -59,12 +59,10 @@ case "$1" in esac for i in $interfaces; do - if $i in $interfaces_boot ; then - action "Bringing up interface $i" ./ifup $i boot - else - # Do this so the module loads, so the interface - # gets registered + if egrep -L "ONBOOT=\"?[Nn][Oo]\"?" ifcfg-$i >/dev/null ; then ./ifup $i boot + else + action "Bringing up interface $i" ./ifup $i boot fi done @@ -78,7 +76,7 @@ case "$1" in touch /var/lock/subsys/network ;; stop) - for i in $interfaces_boot; do + for i in $interfaces ; do action "Shutting down interface $i" ./ifdown $i boot done case "$IPX" in diff --git a/sysconfig/network-scripts/ifup b/sysconfig/network-scripts/ifup index 116a4e5f..8e37de6b 100755 --- a/sysconfig/network-scripts/ifup +++ b/sysconfig/network-scripts/ifup @@ -31,11 +31,6 @@ fi source_config -if [ "foo$2" = "fooboot" -a "${ONBOOT}" = "no" -o "${ONBOOT}" = "NO" ] -then - exit -fi - IPSETUP=no DEVICETYPE=`echo $DEVICE | sed "s/[0-9]*$//"` @@ -55,6 +50,12 @@ if [ "$BOOTPROTO" = bootp -o "$BOOTPROTO" = dhcp ]; then PUMP=true fi +if [ "$2" = "boot" -a "${ONBOOT}" = "no" -o "${ONBOOT}" = "NO" ]; then + # Probe module to preserve interface ordering. + /sbin/ifconfig ${REALDEVICE} >/dev/null 2>&1 + exit +fi + OTHERSCRIPT="/etc/sysconfig/network-scripts/ifup-${DEVICETYPE}" if [ -x $OTHERSCRIPT ]; then |