summaryrefslogtreecommitdiff
path: root/recipes-core/init-ifupdown/files/bonding.post-down
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/init-ifupdown/files/bonding.post-down')
-rw-r--r--recipes-core/init-ifupdown/files/bonding.post-down67
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