summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2011-11-03 07:27:48 -0700
committerStephen Hemminger <shemminger@vyatta.com>2011-11-03 11:15:52 -0700
commit35217ff643894ccc06aca1aabbf1e50264efde6a (patch)
tree6ed201fe5aac6e666c886418f2e96da137924efa
parenta96d6bc79022521adacf0a056bf7728be60c3785 (diff)
downloadvyatta-cfg-quagga-35217ff643894ccc06aca1aabbf1e50264efde6a.tar.gz
vyatta-cfg-quagga-35217ff643894ccc06aca1aabbf1e50264efde6a.zip
Add support for macvlan mode
Bug 7599 Expose macvlan mode which controls how packets are exchanged between pseudo-ethernets. Also allows VEPA support.
-rw-r--r--templates/interfaces/pseudo-ethernet/node.def2
-rw-r--r--templates/interfaces/pseudo-ethernet/node.tag/mode/node.def13
2 files changed, 14 insertions, 1 deletions
diff --git a/templates/interfaces/pseudo-ethernet/node.def b/templates/interfaces/pseudo-ethernet/node.def
index 4f8510f3..00e54055 100644
--- a/templates/interfaces/pseudo-ethernet/node.def
+++ b/templates/interfaces/pseudo-ethernet/node.def
@@ -10,7 +10,7 @@ syntax:expression: pattern $VAR(@) "^peth[0-9]+$" \
commit:expression: $VAR(link) != ""
; "link device must be set for virtual ethernet $VAR(@)"
-create: ip link add $VAR(@) link $VAR(link/@) type macvlan || exit 1
+create: ip link add $VAR(@) link $VAR(link/@) type macvlan mode $VAR(mode/@) || exit 1
if ! cli-shell-api exists interfaces ethernet $VAR(@) disable;
then ip link set $VAR(@) up
fi
diff --git a/templates/interfaces/pseudo-ethernet/node.tag/mode/node.def b/templates/interfaces/pseudo-ethernet/node.tag/mode/node.def
new file mode 100644
index 00000000..1ab595b0
--- /dev/null
+++ b/templates/interfaces/pseudo-ethernet/node.tag/mode/node.def
@@ -0,0 +1,13 @@
+type: txt
+help: receive mode
+default: "private"
+allowed: echo "private vepa bridge passthru"
+syntax:expression: $VAR(@) in "private", "vepa", "bridge", "passthru" ; \
+ "mode must be private, vepa, bridge or passthru"
+
+val_help:private: No communication with other pseudo-devices
+val_help:vepa: Virtual Ethernet Port Aggregator reflective relay
+val_help:bridge: Simple bridge between pseudo-devices
+val_help:passthru: Promicious mode passthrough of underlying device
+
+update: ip link set dev $VAR(../@) type macvlan mode $VAR(@)