summaryrefslogtreecommitdiff
path: root/interface-definitions/interfaces-erspan.xml.in
diff options
context:
space:
mode:
Diffstat (limited to 'interface-definitions/interfaces-erspan.xml.in')
-rw-r--r--interface-definitions/interfaces-erspan.xml.in114
1 files changed, 114 insertions, 0 deletions
diff --git a/interface-definitions/interfaces-erspan.xml.in b/interface-definitions/interfaces-erspan.xml.in
new file mode 100644
index 000000000..769899415
--- /dev/null
+++ b/interface-definitions/interfaces-erspan.xml.in
@@ -0,0 +1,114 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="interfaces">
+ <children>
+ <tagNode name="erspan" owner="${vyos_conf_scripts_dir}/interfaces-erspan.py">
+ <properties>
+ <help>Encapsulated Remote SPAN over GRE and IPv4/IPv6 Tunnel Interface</help>
+ <priority>310</priority>
+ <constraint>
+ <regex>^ersp[0-9]+$</regex>
+ </constraint>
+ <constraintErrorMessage>ERSPAN tunnel interface must be named erspN</constraintErrorMessage>
+ <valueHelp>
+ <format>erspN</format>
+ <description>ERSPAN Tunnel interface name</description>
+ </valueHelp>
+ </properties>
+ <children>
+ #include <include/interface/interface-description.xml.i>
+ #include <include/interface/interface-disable.xml.i>
+ #include <include/interface/interface-disable-link-detect.xml.i>
+ #include <include/interface/interface-mtu-64-8024.xml.i>
+ #include <include/source-address-ipv4-ipv6.xml.i>
+ #include <include/interface/tunnel-remote.xml.i>
+ <leafNode name="encapsulation">
+ <properties>
+ <help>Encapsulation of this tunnel interface</help>
+ <completionHelp>
+ <list>erspan ip6erspan</list>
+ </completionHelp>
+ <valueHelp>
+ <format>erspan</format>
+ <description>Generic Routing Encapsulation</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ip6erspan</format>
+ <description>Generic Routing Encapsulation bridge interface</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(erspan|ip6erspan)$</regex>
+ </constraint>
+ <constraintErrorMessage>Invalid encapsulation, must be one of: erspan, ip6erspan</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <node name="parameters">
+ <properties>
+ <help>ERSPAN Tunnel parameters</help>
+ </properties>
+ <children>
+ <node name="ip">
+ <properties>
+ <help>IPv4 specific tunnel parameters</help>
+ </properties>
+ <children>
+ #include <include/interface/interface-parameters-key.xml.i>
+ #include <include/interface/interface-parameters-tos.xml.i>
+ #include <include/interface/interface-parameters-ttl.xml.i>
+ </children>
+ </node>
+ <leafNode name="version">
+ <properties>
+ <help>ERSPAN version number setting(default:1)</help>
+ <constraint>
+ <validator name="numeric" argument="--range 1-2"/>
+ </constraint>
+ <constraintErrorMessage>The version number of ERSPAN must be 1 or 2</constraintErrorMessage>
+ </properties>
+ <defaultValue>1</defaultValue>
+ </leafNode>
+ <leafNode name="direction">
+ <properties>
+ <help>Specifies mirrored traffic direction</help>
+ <completionHelp>
+ <list>ingress egress</list>
+ </completionHelp>
+ <valueHelp>
+ <format>ingress</format>
+ <description>Mirror ingress direction</description>
+ </valueHelp>
+ <valueHelp>
+ <format>egress</format>
+ <description>Mirror egress direction</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(ingress|egress)$</regex>
+ </constraint>
+ <constraintErrorMessage>The mirror direction of ERSPAN must be ingress or egress</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="hwid">
+ <properties>
+ <help>an unique identifier of an ERSPAN v2 engine within a system</help>
+ <constraint>
+ <validator name="numeric" argument="--range 1-1048575"/>
+ </constraint>
+ <constraintErrorMessage>ERSPAN hwid must be a number(range:0-1048575)</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="idx">
+ <properties>
+ <help>specifies the ERSPAN v1 index field</help>
+ <constraint>
+ <validator name="numeric" argument="--range 0-63"/>
+ </constraint>
+ <constraintErrorMessage>ERSPAN idx must be a number(range:0-63)</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </tagNode>
+ </children>
+ </node>
+</interfaceDefinition>