diff options
-rwxr-xr-x | sysconfig/network-scripts/ifdown-eth | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sysconfig/network-scripts/ifdown-eth b/sysconfig/network-scripts/ifdown-eth index 6651c93f..b894927b 100755 --- a/sysconfig/network-scripts/ifdown-eth +++ b/sysconfig/network-scripts/ifdown-eth @@ -50,6 +50,14 @@ if [ -n "${HWADDR}" -a -z "${MACADDR}" ]; then fi fi +if is_bonding_device ${DEVICE} ; then + for device in `LANG=C grep -l "^[[:space:]]*MASTER=${DEVICE}" /etc/sysconfig/network-scripts/ifcfg-*` ; do + is_ignored_file "$device" && continue + /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 @@ -86,6 +94,10 @@ if [ -d "/sys/class/net/${REALDEVICE}" ]; 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 if [ "${REALDEVICE}" = "${DEVICE}" ]; then ip link set dev ${DEVICE} down 2>/dev/null |