From ccf238f852fd0463e68d33b91f0dd55000c325e3 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Wed, 26 Mar 2008 14:18:01 +0000 Subject: Merge net.OS into net --- net.Linux/bonding.sh | 101 --------------------------------------------------- 1 file changed, 101 deletions(-) delete mode 100644 net.Linux/bonding.sh (limited to 'net.Linux/bonding.sh') diff --git a/net.Linux/bonding.sh b/net.Linux/bonding.sh deleted file mode 100644 index 69de32aa..00000000 --- a/net.Linux/bonding.sh +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 2007-2008 Roy Marples -# All rights reserved. Released under the 2-clause BSD license. - -bonding_depend() -{ - before interface macchanger - program /sbin/ifenslave -} - -_config_vars="$_config_vars slaves" - -_is_bond() -{ - [ -f "/proc/net/bonding/${IFACE}" ] -} - -bonding_pre_start() -{ - local s= slaves="$(_get_array "slaves_${IFVAR}")" - - [ -z "${slaves}" ] && return 0 - - # Load the kernel module if required - if [ ! -d /proc/net/bonding ]; then - if ! modprobe bonding; then - eerror "Cannot load the bonding module" - return 1 - fi - fi - - # We can create the interface name we like now, but this - # requires sysfs - if ! _exists && [ -d /sys/class/net ]; then - echo "+${IFACE}" > /sys/class/net/bonding_masters - fi - _exists true || return 1 - - if ! _is_bond; then - eerror "${IFACE} is not capable of bonding" - return 1 - fi - - ebegin "Adding slaves to ${IFACE}" - eindent - einfo "${slaves}" - - # Check that our slaves exist - ( - for IFACE in ${slaves}; do - _exists true || return 1 - done - - # Must force the slaves to a particular state before adding them - for IFACE in ${slaves}; do - _delete_addresses - _up - done - ) - - # now force the master to up - _up - - # finally add in slaves - eoutdent - /sbin/ifenslave "${IFACE}" ${slaves} >/dev/null - eend $? - - return 0 #important -} - -bonding_stop() -{ - _is_bond || return 0 - - local slaves= s= - slaves=$( \ - sed -n -e 's/^Slave Interface: //p' "/proc/net/bonding/${IFACE}" \ - | tr '\n' ' ' \ - ) - [ -z "${slaves}" ] && return 0 - - # remove all slaves - ebegin "Removing slaves from ${IFACE}" - eindent - einfo "${slaves}" - eoutdent - /sbin/ifenslave -d "${IFACE}" ${slaves} - - # reset all slaves - ( - for IFACE in ${slaves}; do - if _exists; then - _delete_addresses - _down - fi - done - ) - - eend 0 - return 0 -} -- cgit v1.2.3