diff options
author | Harald Hoyer <harald@redhat.com> | 2009-05-04 15:02:34 +0200 |
---|---|---|
committer | Harald Hoyer <harald@redhat.com> | 2009-05-04 16:05:06 +0200 |
commit | ee709ad88ac3351ebb833138566599568ca55e8d (patch) | |
tree | 9fb887bd54267e1c2df9e52268b7c464a6d5676f | |
parent | 9707e562c1c1e46d55a320aeefff0c64c667f1b1 (diff) | |
download | initscripts-ee709ad88ac3351ebb833138566599568ca55e8d.tar initscripts-ee709ad88ac3351ebb833138566599568ca55e8d.tar.gz initscripts-ee709ad88ac3351ebb833138566599568ca55e8d.tar.bz2 initscripts-ee709ad88ac3351ebb833138566599568ca55e8d.tar.xz initscripts-ee709ad88ac3351ebb833138566599568ca55e8d.zip |
Move the bridge member handling later in the ifdown sequence (#463325, Sean E. Millichamp <sean@bruenor.org>)
-rwxr-xr-x | sysconfig/network-scripts/ifdown-eth | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/sysconfig/network-scripts/ifdown-eth b/sysconfig/network-scripts/ifdown-eth index a1ca59a3..31ba0cac 100755 --- a/sysconfig/network-scripts/ifdown-eth +++ b/sysconfig/network-scripts/ifdown-eth @@ -20,17 +20,6 @@ CONFIG=${1} source_config -if [ -n "${BRIDGE}" -a -x /usr/sbin/brctl ]; then - /sbin/ip link set dev ${DEVICE} down - /usr/sbin/brctl delif ${BRIDGE} ${DEVICE} - # Upon removing a device from a bridge, - # it's necessary to make radvd reload its config - [ -r /var/run/radvd/radvd.pid ] && kill -HUP `cat /var/run/radvd/radvd.pid` - if [ -d /sys/class/net/${BRIDGE}/brif ] && [ `ls -1 /sys/class/net/${BRIDGE}/brif | wc -l` -eq 0 ]; then - /usr/sbin/brctl delbr ${BRIDGE} - fi -fi - . /etc/sysconfig/network # Check to make sure the device is actually up @@ -108,6 +97,17 @@ if [ -d "/sys/class/net/${REALDEVICE}" ]; then fi [ "$retcode" = "0" ] && retcode=$? +if [ -n "${BRIDGE}" -a -x /usr/sbin/brctl ]; then + /sbin/ip link set dev ${DEVICE} down + /usr/sbin/brctl delif ${BRIDGE} ${DEVICE} + # Upon removing a device from a bridge, + # it's necessary to make radvd reload its config + [ -r /var/run/radvd/radvd.pid ] && kill -HUP `cat /var/run/radvd/radvd.pid` + if [ -d /sys/class/net/${BRIDGE}/brif ] && [ `ls -1 /sys/class/net/${BRIDGE}/brif | wc -l` -eq 0 ]; then + /usr/sbin/brctl delbr ${BRIDGE} + fi +fi + # wait up to 5 seconds for device to actually come down... waited=0 while ! check_device_down ${DEVICE} && [ "$waited" -lt 50 ] ; do |