1 | diff --git a/net/bonding.sh b/net/bonding.sh |
---|
2 | index 69de32a..f35fbdd 100644 |
---|
3 | --- a/net/bonding.sh |
---|
4 | +++ b/net/bonding.sh |
---|
5 | @@ -4,7 +4,6 @@ |
---|
6 | bonding_depend() |
---|
7 | { |
---|
8 | before interface macchanger |
---|
9 | - program /sbin/ifenslave |
---|
10 | } |
---|
11 | |
---|
12 | _config_vars="$_config_vars slaves" |
---|
13 | @@ -62,7 +61,13 @@ bonding_pre_start() |
---|
14 | |
---|
15 | # finally add in slaves |
---|
16 | eoutdent |
---|
17 | - /sbin/ifenslave "${IFACE}" ${slaves} >/dev/null |
---|
18 | + if [ -d /sys/class/net ]; then |
---|
19 | + for s in ${slaves}; do |
---|
20 | + echo "+${s}" >/sys/class/net/"${IFACE}"/bonding/slaves |
---|
21 | + done |
---|
22 | + else |
---|
23 | + /sbin/ifenslave "${IFACE}" ${slaves} >/dev/null |
---|
24 | + fi |
---|
25 | eend $? |
---|
26 | |
---|
27 | return 0 #important |
---|
28 | @@ -84,7 +89,13 @@ bonding_stop() |
---|
29 | eindent |
---|
30 | einfo "${slaves}" |
---|
31 | eoutdent |
---|
32 | - /sbin/ifenslave -d "${IFACE}" ${slaves} |
---|
33 | + if [ -d /sys/class/net ]; then |
---|
34 | + for s in ${slaves}; do |
---|
35 | + echo -"${s}" > /sys/class/net/"${IFACE}"/bonding/slaves |
---|
36 | + done |
---|
37 | + else |
---|
38 | + /sbin/ifenslave -d "${IFACE}" ${slaves} |
---|
39 | + fi |
---|
40 | |
---|
41 | # reset all slaves |
---|
42 | ( |
---|