Enable bonding via sysfs, #104 thanks to Wolfram Schlich
This commit is contained in:
parent
e368a4b4f8
commit
2de401bca1
@ -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"
|
||||||
|
@ -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
|
||||||
(
|
(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user