From 35217ff643894ccc06aca1aabbf1e50264efde6a Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 3 Nov 2011 07:27:48 -0700 Subject: Add support for macvlan mode Bug 7599 Expose macvlan mode which controls how packets are exchanged between pseudo-ethernets. Also allows VEPA support. --- templates/interfaces/pseudo-ethernet/node.def | 2 +- templates/interfaces/pseudo-ethernet/node.tag/mode/node.def | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 templates/interfaces/pseudo-ethernet/node.tag/mode/node.def (limited to 'templates') 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(@) -- cgit v1.2.3