Enable bonding via sysfs, #104 thanks to Wolfram Schlich
This commit is contained in:
parent
e368a4b4f8
commit
2de401bca1
@ -569,7 +569,8 @@
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# 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
|
||||
#slaves_bond0="eth0 eth1 eth2"
|
||||
|
@ -4,7 +4,6 @@
|
||||
bonding_depend()
|
||||
{
|
||||
before interface macchanger
|
||||
program /sbin/ifenslave
|
||||
}
|
||||
|
||||
_config_vars="$_config_vars slaves"
|
||||
@ -53,7 +52,7 @@ bonding_pre_start()
|
||||
# Must force the slaves to a particular state before adding them
|
||||
for IFACE in ${slaves}; do
|
||||
_delete_addresses
|
||||
_up
|
||||
_down
|
||||
done
|
||||
)
|
||||
|
||||
@ -62,7 +61,13 @@ bonding_pre_start()
|
||||
|
||||
# finally add in slaves
|
||||
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 $?
|
||||
|
||||
return 0 #important
|
||||
@ -84,7 +89,13 @@ bonding_stop()
|
||||
eindent
|
||||
einfo "${slaves}"
|
||||
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
|
||||
(
|
||||
|
Loading…
Reference in New Issue
Block a user