From 2abfd3b81f6d0898fc10247c1e2de87ac7bb13f3 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Mon, 20 Nov 2006 21:34:49 +0000 Subject: - ifdown: run ifenslave -d on bonding devices (#199706) --- initscripts.spec | 1 + sysconfig/network-scripts/ifdown | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/initscripts.spec b/initscripts.spec index 368fc7e8..73d22b05 100644 --- a/initscripts.spec +++ b/initscripts.spec @@ -214,6 +214,7 @@ rm -rf $RPM_BUILD_ROOT - init.d/functions: add configurable delay for killproc (#198468, ) - ifup: support aliases-on-vlan (#193133, ) - rc.sysinit: don't use vgscan, only use vgchange (#191879) +- ifdown: run ifenslave -d on bonding devices (#199706) * Fri Apr 21 2006 Miloslav Trmac - 7.93.25.EL-1 - Document HOTPLUG (#189509) diff --git a/sysconfig/network-scripts/ifdown b/sysconfig/network-scripts/ifdown index d0fb95ae..5a440044 100755 --- a/sysconfig/network-scripts/ifdown +++ b/sysconfig/network-scripts/ifdown @@ -71,6 +71,12 @@ if [ -n "${HWADDR}" -a -z "${MACADDR}" ]; then fi fi +if [ "${TYPE}" = "Bonding" ] || ethtool -i $DEVICE 2>/dev/null| grep -q "driver: bonding" ; then + for device in `LANG=C grep -l "^[[:space:]]*MASTER=${DEVICE}" /etc/sysconfig/network-scripts/ifcfg-*` ; do + /sbin/ifdown ${device##*/} + done +fi + if [ "${NETWORKING_IPV6}" = "yes" ]; then /etc/sysconfig/network-scripts/ifdown-ipv6 ${CONFIG} if [[ "${DHCPV6C}" = [Yy1]* ]] && [ -f /var/run/dhcp6c_${DEVICE}.pid ]; then @@ -109,6 +115,10 @@ if ! [ "$BOOTPROTO" = bootp -o "$BOOTPROTO" = dhcp ]; then else ip addr flush dev ${REALDEVICE} label ${DEVICE} 2>/dev/null fi + + if [ "${SLAVE}" = "yes" -a -n "${MASTER}" ]; then + /sbin/ifenslave -d ${MASTER} ${DEVICE} 2>/dev/null + fi fi if [ "${REALDEVICE}" = "${DEVICE}" ]; then -- cgit