summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStig Thormodsrud <stig@vyatta.com>2009-03-25 17:43:55 -0700
committerStig Thormodsrud <stig@vyatta.com>2009-03-25 17:43:55 -0700
commitc1403de67085eb6450f6ca1f6cf530b320b5c304 (patch)
tree80975244737212d26992001e84d4d17d06851d4b
parent281db5bc7516814f09f22075d101f7f8de640410 (diff)
downloadvyatta-cfg-quagga-c1403de67085eb6450f6ca1f6cf530b320b5c304.tar.gz
vyatta-cfg-quagga-c1403de67085eb6450f6ca1f6cf530b320b5c304.zip
Change bridge check from "syntax" to "create".
Change allowed tag to use new interface check.
-rw-r--r--templates/interfaces/ethernet/node.tag/vif/node.tag/bridge-group/bridge/node.def13
-rw-r--r--templates/interfaces/ethernet/node.tag/vif/node.tag/bridge-group/node.def38
2 files changed, 27 insertions, 24 deletions
diff --git a/templates/interfaces/ethernet/node.tag/vif/node.tag/bridge-group/bridge/node.def b/templates/interfaces/ethernet/node.tag/vif/node.tag/bridge-group/bridge/node.def
index e3674bcd..b340ac5b 100644
--- a/templates/interfaces/ethernet/node.tag/vif/node.tag/bridge-group/bridge/node.def
+++ b/templates/interfaces/ethernet/node.tag/vif/node.tag/bridge-group/bridge/node.def
@@ -1,11 +1,6 @@
type: txt
help: Set this interface to a bridge-group
-syntax:expression: exec " \
- if [ -z \"`sudo brctl show | grep $VAR(@) `\" ]; then \
- echo bridge interface $VAR(@) doesn\\'t exist on this system ; \
- exit 1 ; \
- fi ; "
-delete:expression: "sudo brctl delif $VAR(@) $VAR(../../../@).$VAR(../../@)"
-allowed: local -a array ;
- array=( /sys/class/net/br* ) ;
- echo -n ${array[@]##*/}
+commit:expression: exec \
+ "/opt/vyatta/sbin/vyatta-interfaces.pl --dev=$VAR(@) --check=bridge"
+allowed: /opt/vyatta/sbin/vyatta-interfaces.pl --show=bridge
+delete: echo $VAR(@) > /tmp/vifbridge-no.$PPID \ No newline at end of file
diff --git a/templates/interfaces/ethernet/node.tag/vif/node.tag/bridge-group/node.def b/templates/interfaces/ethernet/node.tag/vif/node.tag/bridge-group/node.def
index 45be5f48..afd2fc84 100644
--- a/templates/interfaces/ethernet/node.tag/vif/node.tag/bridge-group/node.def
+++ b/templates/interfaces/ethernet/node.tag/vif/node.tag/bridge-group/node.def
@@ -1,15 +1,23 @@
-help: Set this interface to a bridge group
-commit:expression: $VAR(./bridge/) != ""; "Must set the bridge interface"
-create:expression: "sudo brctl addif $VAR(./bridge/@) $VAR(../../@).$VAR(../@)"
-delete:expression: "touch /tmp/eth-$VAR(../@)-bridge.$PPID"
-end:expression: "\
- if [ -f \"/tmp/eth-$VAR(../@)-bridge.$PPID\" ]; then \
- rm -f /tmp/eth-$VAR(../@)-bridge.$PPID; \
- else \
- if [ -n \"$VAR(./cost/@)\" ]; then \
- sudo brctl setpathcost $VAR(./bridge/@) $VAR(../../@).$VAR(../@) $VAR(./cost/@); \
- fi; \
- if [ -n \"$VAR(./priority/@)\" ]; then \
- sudo brctl setportprio $VAR(./bridge/@) $VAR(../../@).$VAR(../@) $VAR(./priority/@); \
- fi; \
- fi; "
+help: Add this interface to a bridge group
+
+create: sudo brctl addif $VAR(./bridge/@) $VAR(../../@).$VAR(../@);
+
+delete: touch /tmp/eth-$VAR(../@)-bridge.$PPID;
+
+end: if [ -f "/tmp/eth-$VAR(../@)-bridge.$PPID" ]; then
+ rm -f /tmp/eth-$VAR(../@)-bridge.$PPID;
+ brno=$(cat /tmp/vifbridge-no.$PPID);
+ sudo brctl delif $brno $VAR(../../@).$VAR(../@);
+ rm -f /tmp/bridge-no.$PPID;
+ else
+ if [ -z "$VAR(./bridge/@)" ]; then
+ echo "Must set the bridge interface";
+ exit 1;
+ fi;
+ if [ -n "$VAR(./cost/@)" ]; then
+ sudo brctl setpathcost $VAR(./bridge/@) $VAR(../../@).$VAR(../@) $VAR(./cost/@);
+ fi;
+ if [ -n "$VAR(./priority/@)" ]; then
+ sudo brctl setportprio $VAR(./bridge/@) $VAR(../../@).$VAR(../@) $VAR(./priority/@);
+ fi;
+ fi;