3 # ifdown-bond - bonding configuration script
4 # Copyright (C) 2014 Marcin Krol <hawk@tld-linux.org>
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 PATH=/sbin:/usr/sbin:/bin:/usr/bin
23 . /etc/sysconfig/network
24 . /etc/rc.d/init.d/functions
25 . /lib/rc-scripts/functions.network
30 if [ "x${2}" = "xboot" ] && is_no "${ONBOOT}"; then
34 # set all major variables
37 # forget all addresses
38 LC_ALL=C ip addr flush dev "${DEVICE}" 2>&1 | grep -v "Nothing to flush"
40 # release slave devices
41 for SLAVE_DEV in $(cat /sys/class/net/${DEVICE}/bonding/slaves 2>/dev/null); do
42 ip link set "${SLAVE_DEV}" nomaster
45 # bring bonding master down
46 ip link set "${DEVICE}" down
48 # remove bonding master
49 if [ -d "/sys/class/net/${DEVICE}" ]; then
50 ip link del "${DEVICE}" type bond