diff options
Diffstat (limited to 'templates')
-rw-r--r-- | templates/interfaces/bonding/node.def | 13 | ||||
-rw-r--r-- | templates/interfaces/bonding/node.tag/mode/node.def | 2 |
2 files changed, 11 insertions, 4 deletions
diff --git a/templates/interfaces/bonding/node.def b/templates/interfaces/bonding/node.def index 74e9e39d..be8baaee 100644 --- a/templates/interfaces/bonding/node.def +++ b/templates/interfaces/bonding/node.def @@ -3,13 +3,18 @@ type: txt help: Set bonding interface syntax:expression: pattern $VAR(@) "^bond[0-9]+$" \ ; "bonding must be (bond0-bond99)" -create: ${vyatta_sbindir}/vyatta-bonding.pl --create $VAR(@) +begin: if [ ! -f /sys/class/net/bonding_masters ]; then + sudo modprobe bonding max_bonds=0 + fi +create: sudo sh -c "echo +$VAR(@) > /sys/class/net/bonding_masters" || exit 1 + sudo ip link set "$VAR(@)" up + /opt/vyatta/sbin/vyatta-link-detect $VAR(@) on delete: SLAVES=`cat /sys/class/net/$VAR(@)/bonding/slaves`; - if [ -z "$SLAVES" ] - then ${vyatta_sbindir}/vyatta-bonding.pl --delete $VAR(@) + if [ -z $SLAVES ] + then + sudo sh -c "echo -$VAR(@) > /sys/class/net/bonding_masters" else echo "bonded interface $VAR(@) still has slaves: $SLAVES" exit 1; fi -end: ${vyatta_sbindir}/vyatta-bonding.pl --mode-change $VAR(@) comp_help: Enter bond interface name (bond0 - bond99) diff --git a/templates/interfaces/bonding/node.tag/mode/node.def b/templates/interfaces/bonding/node.tag/mode/node.def index 4424e95c..7e322ffc 100644 --- a/templates/interfaces/bonding/node.tag/mode/node.def +++ b/templates/interfaces/bonding/node.tag/mode/node.def @@ -8,6 +8,8 @@ syntax:expression: $VAR(@) in \ "mode must be 802.3ad, active-backup, broadcast, round-robin, \ transmit-load-balance, adaptive-load-balance, or xor" help: Sets the bonding mode +update: sudo ${vyatta_sbindir}/vyatta-bonding.pl --set-mode $VAR(../@) $VAR(@) + comp_help: Possible bonding mode 802.3ad IEEE 802.3ad Dynamic link aggregation (Default) active-backup Fault tolerant: only one slave in the bond is active |