Enable bonding via sysfs, #104 thanks to Wolfram Schlich

This commit is contained in:
Roy Marples 2008-09-18 22:24:58 +00:00
parent e368a4b4f8
commit 2de401bca1
2 changed files with 17 additions and 5 deletions

View File

@ -569,7 +569,8 @@
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# Bonding # Bonding
# For link bonding/trunking emerge net-misc/ifenslave # For link bonding/trunking on 2.4 kernels, or kernels without sysfs
# emerge net-misc/ifenslave
# To bond interfaces together # To bond interfaces together
#slaves_bond0="eth0 eth1 eth2" #slaves_bond0="eth0 eth1 eth2"

View File

@ -4,7 +4,6 @@
bonding_depend() bonding_depend()
{ {
before interface macchanger before interface macchanger
program /sbin/ifenslave
} }
_config_vars="$_config_vars slaves" _config_vars="$_config_vars slaves"
@ -53,7 +52,7 @@ bonding_pre_start()
# Must force the slaves to a particular state before adding them # Must force the slaves to a particular state before adding them
for IFACE in ${slaves}; do for IFACE in ${slaves}; do
_delete_addresses _delete_addresses
_up _down
done done
) )
@ -62,7 +61,13 @@ bonding_pre_start()
# finally add in slaves # finally add in slaves
eoutdent eoutdent
/sbin/ifenslave "${IFACE}" ${slaves} >/dev/null if [ -d /sys/class/net ]; then
for s in ${slaves}; do
echo "+${s}" >/sys/class/net/"${IFACE}"/bonding/slaves
done
else
/sbin/ifenslave "${IFACE}" ${slaves} >/dev/null
fi
eend $? eend $?
return 0 #important return 0 #important
@ -84,7 +89,13 @@ bonding_stop()
eindent eindent
einfo "${slaves}" einfo "${slaves}"
eoutdent eoutdent
/sbin/ifenslave -d "${IFACE}" ${slaves} if [ -d /sys/class/net ]; then
for s in ${slaves}; do
echo -"${s}" > /sys/class/net/"${IFACE}"/bonding/slaves
done
else
/sbin/ifenslave -d "${IFACE}" ${slaves}
fi
# reset all slaves # reset all slaves
( (