summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2010-07-21 16:48:05 -0700
committerStephen Hemminger <stephen.hemminger@vyatta.com>2010-07-21 16:48:05 -0700
commit3a6ba18b5430ee3506f4d1de54ceb4b63e08695c (patch)
tree55c5ee039a910df34c85cb4bbfef9bcdbebfedfa /templates
parentdf6fea4a8fb0a0c8391db4e40d752ca4e4cf87e4 (diff)
downloadvyatta-cfg-qos-3a6ba18b5430ee3506f4d1de54ceb4b63e08695c.tar.gz
vyatta-cfg-qos-3a6ba18b5430ee3506f4d1de54ceb4b63e08695c.zip
Only allow redirect and mirror on ethernet devices
For simplicity only allow mirror/redirect templates to exist on ethernet device.
Diffstat (limited to 'templates')
-rw-r--r--templates/interfaces/ethernet/node.tag/mirror/node.def18
-rw-r--r--templates/interfaces/ethernet/node.tag/redirect/node.def18
2 files changed, 36 insertions, 0 deletions
diff --git a/templates/interfaces/ethernet/node.tag/mirror/node.def b/templates/interfaces/ethernet/node.tag/mirror/node.def
new file mode 100644
index 0000000..8541d4e
--- /dev/null
+++ b/templates/interfaces/ethernet/node.tag/mirror/node.def
@@ -0,0 +1,18 @@
+type: txt
+help: Incoming packet mirroring destination
+allowed: ${vyatta_sbindir}/vyatta-interfaces.pl --show=ethernet
+
+syntax:expression: $VAR(@) != $VAR(../@) ;\
+ "interface $VAR(../@): mirroring to same interface not allowed"
+val_help: Interface for packet mirroring
+
+commit:expression: $VAR(../redirect) == ""; \
+ "interface $VAR(../@) : can not do both redirect and mirror"
+
+commit:expression: $VAR(../traffic-policy/in) == ""; \
+ "interface $VAR(../@) : can not use ingress policy and mirror on $IFNAME"
+
+commit:expression: exec "/opt/vyatta/sbin/vyatta-interfaces.pl --dev $VAR(@) --check=all"
+
+update: /opt/vyatta/sbin/vyatta-qos.pl --update-action $VAR(../@)
+delete: /opt/vyatta/sbin/vyatta-qos.pl --delete-action $VAR(../@)
diff --git a/templates/interfaces/ethernet/node.tag/redirect/node.def b/templates/interfaces/ethernet/node.tag/redirect/node.def
new file mode 100644
index 0000000..6475ad6
--- /dev/null
+++ b/templates/interfaces/ethernet/node.tag/redirect/node.def
@@ -0,0 +1,18 @@
+type: txt
+help: Incoming packet redirection destination
+allowed: /opt/vyatta/sbin/vyatta-interfaces.pl --show=input
+
+syntax:expression: $VAR(@) != $VAR(../@) ;\
+ "interface $VAR(../@): redirect to same interface not allowed"
+val_help: Interface for packet redirection
+
+commit:expression: $VAR(../mirror) == "";\
+ "interface $VAR(../@) : can not do both redirect and mirror"
+
+commit:expression: $VAR(../traffic-policy/in) == ""; \
+ "interface $VAR(../@) : can not use ingress policy and redirect on $IFNAME"
+
+commit:expression: exec "/opt/vyatta/sbin/vyatta-interfaces.pl --dev $VAR(@) --check=all"
+
+update: /opt/vyatta/sbin/vyatta-qos.pl --update-action $VAR(../@)
+delete: /opt/vyatta/sbin/vyatta-qos.pl --delete-action $VAR(../@)