diff options
author | Christian Breunig <christian@breunig.cc> | 2023-12-30 23:25:20 +0100 |
---|---|---|
committer | Christian Breunig <christian@breunig.cc> | 2024-01-01 09:25:32 +0100 |
commit | c9eaafd9f808aba8d29be73054e11d37577e539a (patch) | |
tree | aeccfda0a305cf6aca41630900e75bd32961a911 /interface-definitions/interfaces_tunnel.xml.in | |
parent | 2078253176046ea4d07e69caeb7932ea439b5614 (diff) | |
download | vyos-1x-c9eaafd9f808aba8d29be73054e11d37577e539a.tar.gz vyos-1x-c9eaafd9f808aba8d29be73054e11d37577e539a.zip |
T5474: establish common file name pattern for XML conf mode commands
We will use _ as CLI level divider. The XML definition filename and also
the Python helper should match the CLI node.
Example:
set interfaces ethernet -> interfaces_ethernet.xml.in
set interfaces bond -> interfaces_bond.xml.in
set service dhcp-server -> service_dhcp-server-xml.in
(cherry picked from commit 4ef110fd2c501b718344c72d495ad7e16d2bd465)
Diffstat (limited to 'interface-definitions/interfaces_tunnel.xml.in')
-rw-r--r-- | interface-definitions/interfaces_tunnel.xml.in | 281 |
1 files changed, 281 insertions, 0 deletions
diff --git a/interface-definitions/interfaces_tunnel.xml.in b/interface-definitions/interfaces_tunnel.xml.in new file mode 100644 index 000000000..99d9b34c6 --- /dev/null +++ b/interface-definitions/interfaces_tunnel.xml.in @@ -0,0 +1,281 @@ +<?xml version="1.0"?> +<interfaceDefinition> + <node name="interfaces"> + <children> + <tagNode name="tunnel" owner="${vyos_conf_scripts_dir}/interfaces_tunnel.py"> + <properties> + <help>Tunnel interface</help> + <priority>380</priority> + <constraint> + <regex>tun[0-9]+</regex> + </constraint> + <constraintErrorMessage>tunnel interface must be named tunN</constraintErrorMessage> + <valueHelp> + <format>tunN</format> + <description>Tunnel interface name</description> + </valueHelp> + </properties> + <children> + #include <include/generic-description.xml.i> + #include <include/interface/address-ipv4-ipv6.xml.i> + #include <include/interface/disable.xml.i> + #include <include/interface/disable-link-detect.xml.i> + #include <include/interface/mtu-64-8024.xml.i> + <leafNode name="mtu"> + <defaultValue>1476</defaultValue> + </leafNode> + #include <include/interface/ipv4-options.xml.i> + #include <include/interface/ipv6-options.xml.i> + #include <include/source-address-ipv4-ipv6.xml.i> + #include <include/interface/tunnel-remote.xml.i> + #include <include/source-interface.xml.i> + <leafNode name="6rd-prefix"> + <properties> + <help>6rd network prefix</help> + <valueHelp> + <format>ipv6</format> + <description>IPv6 address and prefix length</description> + </valueHelp> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + </leafNode> + <leafNode name="6rd-relay-prefix"> + <properties> + <help>6rd relay prefix</help> + <valueHelp> + <format>ipv4net</format> + <description>IPv4 prefix of interface for 6rd</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + </leafNode> + <leafNode name="encapsulation"> + <properties> + <help>Encapsulation of this tunnel interface</help> + <completionHelp> + <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 (network layer)</description> + </valueHelp> + <valueHelp> + <format>gretap</format> + <description>Generic Routing Encapsulation (datalink layer)</description> + </valueHelp> + <valueHelp> + <format>ip6erspan</format> + <description>Encapsulated Remote Switched Port Analyzer over IPv6</description> + </valueHelp> + <valueHelp> + <format>ip6gre</format> + <description>GRE over IPv6 (network layer)</description> + </valueHelp> + <valueHelp> + <format>ip6gretap</format> + <description>GRE over IPv6 (datalink layer)</description> + </valueHelp> + <valueHelp> + <format>ip6ip6</format> + <description>IPv6 in IPv6 encapsulation</description> + </valueHelp> + <valueHelp> + <format>ipip</format> + <description>IPv4 in IPv4 encapsulation</description> + </valueHelp> + <valueHelp> + <format>ipip6</format> + <description>IPv4 in IP6 encapsulation</description> + </valueHelp> + <valueHelp> + <format>sit</format> + <description>Simple Internet Transition (IPv6 in IPv4)</description> + </valueHelp> + <constraint> + <regex>(erspan|gre|gretap|ip6erspan|ip6gre|ip6gretap|ip6ip6|ipip|ipip6|sit)</regex> + </constraint> + <constraintErrorMessage>Invalid encapsulation, must be one of: erspan, gre, gretap, ip6erspan, ip6gre, ip6gretap, ipip, sit, ipip6 or ip6ip6</constraintErrorMessage> + </properties> + </leafNode> + #include <include/interface/mirror.xml.i> + <leafNode name="enable-multicast"> + <properties> + <help>Enable multicast operation over tunnel</help> + <valueless/> + </properties> + </leafNode> + <node name="parameters"> + <properties> + <help>Tunnel parameters</help> + </properties> + <children> + <node name="erspan"> + <properties> + <help>ERSPAN tunnel parameters</help> + </properties> + <children> + <leafNode name="direction"> + <properties> + <help>Mirrored traffic direction</help> + <completionHelp> + <list>ingress egress</list> + </completionHelp> + <valueHelp> + <format>ingress</format> + <description>Mirror ingress traffic</description> + </valueHelp> + <valueHelp> + <format>egress</format> + <description>Mirror egress traffic</description> + </valueHelp> + <constraint> + <regex>(ingress|egress)</regex> + </constraint> + </properties> + </leafNode> + <leafNode name="hw-id"> + <properties> + <help>Unique identifier of an ERSPAN engine within a system</help> + <valueHelp> + <format>u32:0-1048575</format> + <description>Unique identifier of an ERSPAN engine</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-1048575"/> + </constraint> + </properties> + </leafNode> + <leafNode name="index"> + <properties> + <help>ERSPAN version 1 index field</help> + <valueHelp> + <format>u32: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> + <completionHelp> + <list>1 2</list> + </completionHelp> + <valueHelp> + <format>1</format> + <description>ERSPAN Type II</description> + </valueHelp> + <valueHelp> + <format>2</format> + <description>ERSPAN Type III</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-2"/> + </constraint> + </properties> + <defaultValue>1</defaultValue> + </leafNode> + </children> + </node> + <node name="ip"> + <properties> + <help>IPv4-specific tunnel parameters</help> + </properties> + <children> + <leafNode name="no-pmtu-discovery"> + <properties> + <help>Disable path MTU discovery</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="ignore-df"> + <properties> + <help>Ignore the DF (don't fragment) bit</help> + <valueless/> + </properties> + </leafNode> + #include <include/interface/parameters-key.xml.i> + #include <include/interface/parameters-tos.xml.i> + #include <include/interface/parameters-ttl.xml.i> + <leafNode name="ttl"> + <defaultValue>64</defaultValue> + </leafNode> + </children> + </node> + <node name="ipv6"> + <properties> + <help>IPv6-specific tunnel parameters</help> + </properties> + <children> + <leafNode name="encaplimit"> + <properties> + <help>Set fixed encapsulation limit</help> + <completionHelp> + <list>none</list> + </completionHelp> + <valueHelp> + <format>u32:0-255</format> + <description>Encapsulation limit</description> + </valueHelp> + <valueHelp> + <format>none</format> + <description>Disable encapsulation limit</description> + </valueHelp> + <constraint> + <regex>(none)</regex> + <validator name="numeric" argument="--range 0-255"/> + </constraint> + <constraintErrorMessage>Tunnel encaplimit must be 0-255 or none</constraintErrorMessage> + </properties> + <defaultValue>4</defaultValue> + </leafNode> + #include <include/interface/parameters-flowlabel.xml.i> + <leafNode name="hoplimit"> + <properties> + <help>Hoplimit</help> + <valueHelp> + <format>u32:0-255</format> + <description>Hop limit</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-255"/> + </constraint> + <constraintErrorMessage>hop limit must be between 0-255</constraintErrorMessage> + </properties> + <defaultValue>64</defaultValue> + </leafNode> + <leafNode name="tclass"> + <properties> + <help>Traffic class (Tclass)</help> + <valueHelp> + <format>0x0-0x0fffff</format> + <description>Traffic class, 'inherit' or hex value</description> + </valueHelp> + <constraint> + <regex>(0x){0,1}(0?[0-9A-Fa-f]{1,2})</regex> + </constraint> + <constraintErrorMessage>Must be 'inherit' or a number</constraintErrorMessage> + </properties> + <defaultValue>inherit</defaultValue> + </leafNode> + </children> + </node> + </children> + </node> + #include <include/interface/vrf.xml.i> + #include <include/interface/redirect.xml.i> + </children> + </tagNode> + </children> + </node> +</interfaceDefinition> |