summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2019-11-24 10:40:56 +0100
committerChristian Poessinger <christian@poessinger.com>2019-11-24 10:44:20 +0100
commitc078dac303d1e427f9612f7ff1996800f5076b47 (patch)
tree20a6c0f00880bb0440f3fdb96b5606c2a4230665 /interface-definitions
parent9ab56f29f07a3c94a92bb7e1ffa54fcb4762a8fb (diff)
downloadvyos-1x-c078dac303d1e427f9612f7ff1996800f5076b47.tar.gz
vyos-1x-c078dac303d1e427f9612f7ff1996800f5076b47.zip
geneve: T1799: add Generic Network Virtualization Encapsulation
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/interfaces-geneve.xml92
1 files changed, 92 insertions, 0 deletions
diff --git a/interface-definitions/interfaces-geneve.xml b/interface-definitions/interfaces-geneve.xml
new file mode 100644
index 000000000..3a529c363
--- /dev/null
+++ b/interface-definitions/interfaces-geneve.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="interfaces">
+ <children>
+ <tagNode name="geneve" owner="${vyos_conf_scripts_dir}/interfaces-geneve.py">
+ <properties>
+ <help>Generic Network Virtualization Encapsulation (GENEVE)</help>
+ <priority>460</priority>
+ <constraint>
+ <regex>gnv[0-9]+$</regex>
+ </constraint>
+ <constraintErrorMessage>GENEVE interface must be named gnvN</constraintErrorMessage>
+ <valueHelp>
+ <format>gnvN</format>
+ <description>GENEVE interface name</description>
+ </valueHelp>
+ </properties>
+ <children>
+ <leafNode name="address">
+ <properties>
+ <help>IP address</help>
+ <valueHelp>
+ <format>ipv4net</format>
+ <description>IPv4 address and prefix length</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6net</format>
+ <description>IPv6 address and prefix length</description>
+ </valueHelp>
+ <multi/>
+ <constraint>
+ <validator name="ip-cidr"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="description">
+ <properties>
+ <help>Interface description</help>
+ <constraint>
+ <regex>^.{1,256}$</regex>
+ </constraint>
+ <constraintErrorMessage>Interface description too long (limit 256 characters)</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="disable">
+ <properties>
+ <help>Disable interface</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="mtu">
+ <properties>
+ <help>Maximum Transmission Unit (MTU)</help>
+ <valueHelp>
+ <format>1450-9000</format>
+ <description>Maximum Transmission Unit</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1450-9000"/>
+ </constraint>
+ <constraintErrorMessage>MTU must be between 1450 and 9000</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="remote">
+ <properties>
+ <help>Remote address of GENEVE tunnel</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>Remote address of GENEVE tunnel</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="vni">
+ <properties>
+ <help>Virtual Network Identifier</help>
+ <valueHelp>
+ <format>0-16777214</format>
+ <description>GENEVE virtual network identifier</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-16777214"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ </children>
+ </node>
+</interfaceDefinition>