From 67ffa12de0848703b3b86d9c3b578a2edc79bc3b Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Fri, 31 Jul 2009 21:59:46 -0700 Subject: BONDING: handle change of bond-group Use similar action to new bridge-group Bug 4768 --- .../interfaces/ethernet/node.tag/bond-group/node.def | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'templates/interfaces') 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 -- cgit v1.2.3