summaryrefslogtreecommitdiff
path: root/templates/interfaces/pseudo-ethernet
diff options
context:
space:
mode:
Diffstat (limited to 'templates/interfaces/pseudo-ethernet')
-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(@)