#!/bin/sh # # ifdown-bond - bonding configuration script # Copyright (C) 2014 Marcin Krol # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # PATH=/sbin:/usr/sbin:/bin:/usr/bin . /etc/sysconfig/network . /etc/rc.d/init.d/functions . /lib/rc-scripts/functions.network CONFIG=$1 source_config if [ "x${2}" = "xboot" ] && is_no "${ONBOOT}"; then exit fi # set all major variables setup_ip_param # forget all addresses LC_ALL=C ip addr flush dev ${DEVICE} 2>&1 | grep -v "Nothing to flush" # release slave devices for SLAVE_DEV in $(cat /sys/class/net/${DEVICE}/bonding/slaves 2>/dev/null); do echo "-${SLAVE_DEV}" > /sys/class/net/${DEVICE}/bonding/slaves done # bring bonding master down ip link set ${DEVICE} down # remove bonding master if grep -wq "${DEVICE}" /sys/class/net/bonding_masters; then echo "-${DEVICE}" > /sys/class/net/bonding_masters if [ $? -ne 0 ]; then exit 1 fi fi