summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-04-05 23:23:14 +0200
committerChristian Poessinger <christian@poessinger.com>2021-04-05 23:23:14 +0200
commit44f766a7880e9264487e62f4aacc9f4f635219ed (patch)
treea518937a0c5fbd4891282cf0ef6b131dc9a99ea6 /interface-definitions
parentecf53662f75b2588977d449713f07d28bd0e24a6 (diff)
downloadvyos-1x-44f766a7880e9264487e62f4aacc9f4f635219ed.tar.gz
vyos-1x-44f766a7880e9264487e62f4aacc9f4f635219ed.zip
tunnel: T3030: move erspan type into regular tunnel interface
Instead of having a dedicated ERSPAN interface type, rather move the specifics into "interface tunnel". A migrator is not needed as there is yet no LTS release with this feature and this is considered experimental.
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/interfaces-erspan.xml.in114
-rw-r--r--interface-definitions/interfaces-tunnel.xml.in89
2 files changed, 86 insertions, 117 deletions
diff --git a/interface-definitions/interfaces-erspan.xml.in b/interface-definitions/interfaces-erspan.xml.in
deleted file mode 100644
index 769899415..000000000
--- a/interface-definitions/interfaces-erspan.xml.in
+++ /dev/null
@@ -1,114 +0,0 @@
-<?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>
diff --git a/interface-definitions/interfaces-tunnel.xml.in b/interface-definitions/interfaces-tunnel.xml.in
index e3aad2719..e4bdcb3d7 100644
--- a/interface-definitions/interfaces-tunnel.xml.in
+++ b/interface-definitions/interfaces-tunnel.xml.in
@@ -80,9 +80,13 @@
<properties>
<help>Encapsulation of this tunnel interface</help>
<completionHelp>
- <list>gre gretap ip6gre ip6gretap ip6ip6 ipip ipip6 sit</list>
+ <list>erspan gre gretap ip6erspan ip6gre ip6gretap ip6ip6 ipip ipip6 sit</list>
</completionHelp>
<valueHelp>
+ <format>erspan</format>
+ <description>Encapsulated Remote Switched Port Analyzer</description>
+ </valueHelp>
+ <valueHelp>
<format>gre</format>
<description>Generic Routing Encapsulation</description>
</valueHelp>
@@ -91,6 +95,10 @@
<description>Generic Routing Encapsulation (virtual L2 tunnel)</description>
</valueHelp>
<valueHelp>
+ <format>ip6erspan</format>
+ <description>Encapsulated Remote Switched Port Analyzer over IPv6 network</description>
+ </valueHelp>
+ <valueHelp>
<format>ip6gre</format>
<description>GRE over IPv6 network</description>
</valueHelp>
@@ -115,9 +123,9 @@
<description>Simple Internet Transition encapsulation</description>
</valueHelp>
<constraint>
- <regex>^(gre|gretap|ip6gre|ip6gretap|ip6ip6|ipip|ipip6|sit)$</regex>
+ <regex>^(erspan|gre|gretap|ip6erspan|ip6gre|ip6gretap|ip6ip6|ipip|ipip6|sit)$</regex>
</constraint>
- <constraintErrorMessage>Invalid encapsulation, must be one of: gre, gretap, ip6gre, ip6gretap, ipip, sit, ipip6 or ip6ip6</constraintErrorMessage>
+ <constraintErrorMessage>Invalid encapsulation, must be one of: erspan, gre, gretap, ip6erspan, ip6gre, ip6gretap, ipip, sit, ipip6 or ip6ip6</constraintErrorMessage>
</properties>
</leafNode>
<leafNode name="multicast">
@@ -145,6 +153,81 @@
<help>Tunnel parameters</help>
</properties>
<children>
+ <node name="erspan">
+ <properties>
+ <help>ERSPAN Tunnel parameters</help>
+ </properties>
+ <children>
+
+<!---
+Temporary disabled b/c of https://github.com/shemminger/iproute2/issues/41
+ <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>
+ </properties>
+ </leafNode>
+ <leafNode name="hw-id">
+ <properties>
+ <help>Unique identifier of ERSPAN engine within a system</help>
+ <valueHelp>
+ <format>0-1048575</format>
+ <description>Unique identifier of ERSPAN engine</description>
+ </valueHelp>
+ <constraint>
+fix double hyphen below ...
+ <validator name="numeric" argument="- -range 0-1048575"/>
+ </constraint>
+ </properties>
+ </leafNode>
+-->
+ <leafNode name="index">
+ <properties>
+ <help>Specifify ERSPAN version 1 index field</help>
+ <valueHelp>
+ <format>0-63</format>
+ <description>Platform-depedent field for specifying port number and direction</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-63"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="version">
+ <properties>
+ <help>Protocol version</help>
+ <valueHelp>
+ <format>1</format>
+ <description>ERSPAN Type II</description>
+ </valueHelp>
+<!--
+Temporary disabled b/c of https://github.com/shemminger/iproute2/issues/41
+ <valueHelp>
+ <format>2</format>
+ <description>ERSPAN Type III</description>
+ </valueHelp>
+-->
+ <constraint>
+ <validator name="numeric" argument="--range 1-1"/>
+ </constraint>
+ </properties>
+ <defaultValue>1</defaultValue>
+ </leafNode>
+ </children>
+ </node>
<node name="ip">
<properties>
<help>IPv4 specific tunnel parameters</help>