diff options
Diffstat (limited to 'recipes-core/init-ifupdown/files/bonding.post-down')
| -rw-r--r-- | recipes-core/init-ifupdown/files/bonding.post-down | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/recipes-core/init-ifupdown/files/bonding.post-down b/recipes-core/init-ifupdown/files/bonding.post-down deleted file mode 100644 index 13ed4fd..0000000 --- a/recipes-core/init-ifupdown/files/bonding.post-down +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh - -[ "$IF_VERBOSITY" = 1 ] && set -x - -sysfs() -{ - # Called with : - # $1 = value to write. Won't write if $1 is empty. - # $2 = basename of the file in bonding/ to write to. - if [ "$1" ] ; then - echo "$1" > "/sys/class/net/$IFACE/master/bonding/$2" - return $? - fi - return 0 -} - -sysfs_remove_all() -{ - # Called with: - # $1 = target filename - read values < "/sys/class/net/$IFACE/bonding/$1" - for value in $values ; do - echo "-$value" > "/sys/class/net/$IFACE/bonding/$1" - done -} - -BOND_PARAMS="/sys/class/net/$IFACE/bonding" -IFSTATE=/var/run/ifstate - -# free $IFACE if it is currently enslaved to a bonding device. -if [ -f "/sys/class/net/$IFACE/master/bonding/slaves" ] ; then - echo "-$IFACE" > "/sys/class/net/$IFACE/master/bonding/slaves" - - # The first slave in bond-primary found in current slaves becomes the primary. - # If no slave in bond-primary is found, then primary does not change and might be undefined if just removed. - for slave in $IF_BOND_PRIMARY ; do - if grep -sq "\\<$slave\\>" "/sys/class/net/$IFACE/master/bonding/slaves" ; then - sysfs "$slave" primary - break - fi - done -fi - -# If $IFACE is not a master, exit. -[ ! -f "$BOND_PARAMS/slaves" ] && exit - -# Unset multivalue sysfs entries, so that re-enabling the interface later won't cause error. - -sysfs_remove_all arp_ip_target - -# Remove any slaves of $IFACE. - -[ "$IF_VERBOSITY" = 1 ] && v=-v -read slaves < "$BOND_PARAMS/slaves" -for slave in $slaves ; do - # If $slave is currently up in $IFSTATE, then bring it down, to keep $IFSTATE consistent. - # This is supposed to have the side effect of freeing the interface. - grep -q "^$slave=" $IFSTATE && ifdown $v $slave - - # Anyway, ensure $slave is free. - if [ -f "/sys/class/net/$slave/master/bonding/slaves" ] ; then - echo "-$slave" > "$BOND_PARAMS/slaves" 2> /dev/null - fi -done - -# make sure that the link is set to down -ip link set dev $IFACE down |
