summaryrefslogtreecommitdiff
path: root/templates/interfaces/ethernet
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2009-07-31 21:59:46 -0700
committerStephen Hemminger <stephen.hemminger@vyatta.com>2009-08-04 16:20:30 -0700
commit67ffa12de0848703b3b86d9c3b578a2edc79bc3b (patch)
treef23ec2f73bc4b05affee18f457247176d08f9d3f /templates/interfaces/ethernet
parent0d46a00541e0b13069e91df97d68bc2506615ffd (diff)
downloadvyatta-cfg-system-67ffa12de0848703b3b86d9c3b578a2edc79bc3b.tar.gz
vyatta-cfg-system-67ffa12de0848703b3b86d9c3b578a2edc79bc3b.zip
BONDING: handle change of bond-group
Use similar action to new bridge-group Bug 4768
Diffstat (limited to 'templates/interfaces/ethernet')
-rw-r--r--templates/interfaces/ethernet/node.tag/bond-group/node.def17
1 files changed, 11 insertions, 6 deletions
diff --git a/templates/interfaces/ethernet/node.tag/bond-group/node.def b/templates/interfaces/ethernet/node.tag/bond-group/node.def
index 4c5c38c3..d2a398a1 100644
--- a/templates/interfaces/ethernet/node.tag/bond-group/node.def
+++ b/templates/interfaces/ethernet/node.tag/bond-group/node.def
@@ -3,9 +3,14 @@ help: Add this interface to a bonding group
commit:expression: exec \
"/opt/vyatta/sbin/vyatta-interfaces.pl --dev=$VAR(@) --check=bonding"
allowed: /opt/vyatta/sbin/vyatta-interfaces.pl --show=bonding
-create: sudo sh -c "ip link set $VAR(../@) down 2>/dev/null";
- sudo sh -c "echo +$VAR(../@) > /sys/class/net/$VAR(@)/bonding/slaves";
- sudo sh -c "ip link set $VAR(../@) up 2>/dev/null"
-
-delete: sudo sh -c "echo -$VAR(../@) > /sys/class/net/$VAR(@)/bonding/slaves"
-
+end: ethif=$VAR(../@)
+ old=`/opt/vyatta/sbin/vyatta-cli-expand-var.pl \$\(/interfaces/ethernet/$ethif/bond-group/@\)`
+ new=$VAR(@)
+ if [ ${COMMIT_ACTION} = 'SET' ]; then
+ sudo ${vyatta_sbindir}/vyatta-bonding.pl --dev=$new --add=$ethif
+ elif [ ${COMMIT_ACTION} = 'DELETE' ]; then
+ sudo ${vyatta_sbindir}/vyatta-bonding.pl --dev=$new --remove=$ethif
+ elif [ "$old" != "$new" ]; then
+ sudo ${vyatta_sbindir}/vyatta-bonding.pl --dev=$old --remove=$ethif
+ sudo ${vyatta_sbindir}/vyatta-bonding.pl --dev=$new --add=$ethif
+ fi