diff options
author | Christian Poessinger <christian@poessinger.com> | 2021-03-14 15:53:52 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2021-03-14 16:56:11 +0100 |
commit | adea0e05a56cb25a9e40b46e30a7648c99907031 (patch) | |
tree | 2dd921a322948e2d3e50c755656d27187a6540ae /interface-definitions/include/interface | |
parent | cb1b2c462f8bab5733441c057ddb1a0ec887801f (diff) | |
download | vyos-1x-adea0e05a56cb25a9e40b46e30a7648c99907031.tar.gz vyos-1x-adea0e05a56cb25a9e40b46e30a7648c99907031.zip |
xml: T1579: re-arrange xml interface include building blocks
As the amount of include files now has reached a certain amount, it is getting
more and more crowsded, thuse introducing "per topic" subdirectories on the
filesystem to keep a clean structure makes sense.
Diffstat (limited to 'interface-definitions/include/interface')
44 files changed, 801 insertions, 0 deletions
diff --git a/interface-definitions/include/interface/address-ipv4-ipv6-dhcp.xml.i b/interface-definitions/include/interface/address-ipv4-ipv6-dhcp.xml.i new file mode 100644 index 000000000..b9dd59bea --- /dev/null +++ b/interface-definitions/include/interface/address-ipv4-ipv6-dhcp.xml.i @@ -0,0 +1,31 @@ +<!-- include start from address-ipv4-ipv6-dhcp.xml.i --> +<leafNode name="address"> + <properties> + <help>IP address</help> + <completionHelp> + <list>dhcp dhcpv6</list> + </completionHelp> + <valueHelp> + <format>ipv4net</format> + <description>IPv4 address and prefix length</description> + </valueHelp> + <valueHelp> + <format>ipv6net</format> + <description>IPv6 address and prefix length</description> + </valueHelp> + <valueHelp> + <format>dhcp</format> + <description>Dynamic Host Configuration Protocol</description> + </valueHelp> + <valueHelp> + <format>dhcpv6</format> + <description>Dynamic Host Configuration Protocol for IPv6</description> + </valueHelp> + <constraint> + <validator name="ip-host"/> + <regex>(dhcp|dhcpv6)</regex> + </constraint> + <multi/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/address-ipv4-ipv6.xml.i b/interface-definitions/include/interface/address-ipv4-ipv6.xml.i new file mode 100644 index 000000000..519622050 --- /dev/null +++ b/interface-definitions/include/interface/address-ipv4-ipv6.xml.i @@ -0,0 +1,19 @@ +<!-- include start from address-ipv4-ipv6.xml.i --> +<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> + <constraint> + <validator name="ip-host"/> + </constraint> + <multi/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/dhcp-options.xml.i b/interface-definitions/include/interface/dhcp-options.xml.i new file mode 100644 index 000000000..bd327da2d --- /dev/null +++ b/interface-definitions/include/interface/dhcp-options.xml.i @@ -0,0 +1,42 @@ +<!-- include start from interface/dhcp-options.xml.i --> +<node name="dhcp-options"> + <properties> + <help>DHCP client settings/options</help> + </properties> + <children> + <leafNode name="client-id"> + <properties> + <help>Identifier used by client to identify itself to the DHCP server</help> + </properties> + </leafNode> + <leafNode name="host-name"> + <properties> + <help>Override system host-name sent to DHCP server</help> + </properties> + </leafNode> + <leafNode name="vendor-class-id"> + <properties> + <help>Identify the vendor client type to the DHCP server</help> + </properties> + </leafNode> + <leafNode name="no-default-route"> + <properties> + <help>Do not request routers from DHCP server</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="default-route-distance"> + <properties> + <help>Distance for the default route from DHCP server</help> + <valueHelp> + <format>u32:1-255</format> + <description>Distance for the default route from DHCP server (default 210)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/interface/dhcpv6-options.xml.i b/interface-definitions/include/interface/dhcpv6-options.xml.i new file mode 100644 index 000000000..ca478a3eb --- /dev/null +++ b/interface-definitions/include/interface/dhcpv6-options.xml.i @@ -0,0 +1,100 @@ +<!-- include start from interface/dhcpv6-options.xml.i --> +<node name="dhcpv6-options"> + <properties> + <help>DHCPv6 client settings/options</help> + </properties> + <children> + <leafNode name="duid"> + <properties> + <help>DHCP unique identifier (DUID) to be sent by dhcpv6 client</help> + <valueHelp> + <format>duid</format> + <description>DHCP unique identifier (DUID)</description> + </valueHelp> + <constraint> + <validator name="ipv6-duid"/> + </constraint> + </properties> + </leafNode> + <leafNode name="parameters-only"> + <properties> + <help>Acquire only config parameters, no address</help> + <valueless/> + </properties> + </leafNode> + <tagNode name="pd"> + <properties> + <help>DHCPv6 prefix delegation interface statement</help> + <valueHelp> + <format>instance number</format> + <description>Prefix delegation instance (>= 0)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--non-negative"/> + </constraint> + </properties> + <children> + <leafNode name="length"> + <properties> + <help>Request IPv6 prefix length from peer</help> + <valueHelp> + <format>32-64</format> + <description>Length of delegated prefix</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 32-64"/> + </constraint> + </properties> + <defaultValue>64</defaultValue> + </leafNode> + <tagNode name="interface"> + <properties> + <help>Delegate IPv6 prefix from provider to this interface</help> + <completionHelp> + <script>${vyos_completion_dir}/list_interfaces.py --broadcast</script> + </completionHelp> + </properties> + <children> + <leafNode name="address"> + <properties> + <help>Local interface address assigned to interface</help> + <valueHelp> + <format>>0</format> + <description>Used to form IPv6 interface address (default: EUI-64)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--non-negative"/> + </constraint> + </properties> + </leafNode> + <leafNode name="sla-id"> + <properties> + <help>Interface site-Level aggregator (SLA)</help> + <valueHelp> + <format>0-128</format> + <description>Decimal integer which fits in the length of SLA IDs</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-128"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </tagNode> + <leafNode name="rapid-commit"> + <properties> + <help>Wait for immediate reply instead of advertisements</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="temporary"> + <properties> + <help>IPv6 temporary address</help> + <valueless/> + </properties> + </leafNode> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-arp-cache-timeout.xml.i b/interface-definitions/include/interface/interface-arp-cache-timeout.xml.i new file mode 100644 index 000000000..b269fecd8 --- /dev/null +++ b/interface-definitions/include/interface/interface-arp-cache-timeout.xml.i @@ -0,0 +1,16 @@ +<!-- include start from interface/interface-arp-cache-timeout.xml.i --> +<leafNode name="arp-cache-timeout"> + <properties> + <help>ARP cache entry timeout in seconds</help> + <valueHelp> + <format>1-86400</format> + <description>ARP cache entry timout in seconds (default 30)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-86400"/> + </constraint> + <constraintErrorMessage>ARP cache entry timeout must be between 1 and 86400 seconds</constraintErrorMessage> + </properties> + <defaultValue>30</defaultValue> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-description.xml.i b/interface-definitions/include/interface/interface-description.xml.i new file mode 100644 index 000000000..d618b50d2 --- /dev/null +++ b/interface-definitions/include/interface/interface-description.xml.i @@ -0,0 +1,11 @@ +<!-- include start from interface/interface-description.xml.i --> +<leafNode name="description"> + <properties> + <help>Interface specific description</help> + <constraint> + <regex>.{1,256}$</regex> + </constraint> + <constraintErrorMessage>Description too long (limit 256 characters)</constraintErrorMessage> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-dial-on-demand.xml.i b/interface-definitions/include/interface/interface-dial-on-demand.xml.i new file mode 100644 index 000000000..66edd9678 --- /dev/null +++ b/interface-definitions/include/interface/interface-dial-on-demand.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/interface-dial-on-demand.xml.i --> +<leafNode name="connect-on-demand"> + <properties> + <help>Establishment connection automatically when traffic is sent</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-disable-arp-filter.xml.i b/interface-definitions/include/interface/interface-disable-arp-filter.xml.i new file mode 100644 index 000000000..49cddaf76 --- /dev/null +++ b/interface-definitions/include/interface/interface-disable-arp-filter.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/interface-disable-arp-filter.xml.i --> +<leafNode name="disable-arp-filter"> + <properties> + <help>Disable ARP filter on this interface</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-disable-forwarding.xml.i b/interface-definitions/include/interface/interface-disable-forwarding.xml.i new file mode 100644 index 000000000..cb6ef0475 --- /dev/null +++ b/interface-definitions/include/interface/interface-disable-forwarding.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/interface-disable-forwarding.xml.i --> +<leafNode name="disable-forwarding"> + <properties> + <help>Disable IPv4 forwarding on this interface</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-disable-link-detect.xml.i b/interface-definitions/include/interface/interface-disable-link-detect.xml.i new file mode 100644 index 000000000..c528885b2 --- /dev/null +++ b/interface-definitions/include/interface/interface-disable-link-detect.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/interface-disable-link-detect.xml.i --> +<leafNode name="disable-link-detect"> + <properties> + <help>Ignore link state changes</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-disable.xml.i b/interface-definitions/include/interface/interface-disable.xml.i new file mode 100644 index 000000000..d90e6395b --- /dev/null +++ b/interface-definitions/include/interface/interface-disable.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/interface-disable.xml.i --> +<leafNode name="disable"> + <properties> + <help>Administratively disable interface</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-eapol.xml.i b/interface-definitions/include/interface/interface-eapol.xml.i new file mode 100644 index 000000000..92b7a3f35 --- /dev/null +++ b/interface-definitions/include/interface/interface-eapol.xml.i @@ -0,0 +1,12 @@ +<!-- include start from interface/interface-eapol.xml.i --> +<node name="eapol"> + <properties> + <help>Extensible Authentication Protocol over Local Area Network</help> + </properties> + <children> + #include <include/certificate.xml.i> + #include <include/certificate-ca.xml.i> + #include <include/certificate-key.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-enable-arp-accept.xml.i b/interface-definitions/include/interface/interface-enable-arp-accept.xml.i new file mode 100644 index 000000000..7c5d51857 --- /dev/null +++ b/interface-definitions/include/interface/interface-enable-arp-accept.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/interface-enable-arp-accept.xml.i --> +<leafNode name="enable-arp-accept"> + <properties> + <help>Enable ARP accept on this interface</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-enable-arp-announce.xml.i b/interface-definitions/include/interface/interface-enable-arp-announce.xml.i new file mode 100644 index 000000000..f44599c54 --- /dev/null +++ b/interface-definitions/include/interface/interface-enable-arp-announce.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/interface-enable-arp-announce.xml.i --> +<leafNode name="enable-arp-announce"> + <properties> + <help>Enable ARP announce on this interface</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-enable-arp-ignore.xml.i b/interface-definitions/include/interface/interface-enable-arp-ignore.xml.i new file mode 100644 index 000000000..3ea39613c --- /dev/null +++ b/interface-definitions/include/interface/interface-enable-arp-ignore.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/interface-enable-arp-ignore.xml.i --> +<leafNode name="enable-arp-ignore"> + <properties> + <help>Enable ARP ignore on this interface</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-enable-proxy-arp.xml.i b/interface-definitions/include/interface/interface-enable-proxy-arp.xml.i new file mode 100644 index 000000000..dbdeeb7a7 --- /dev/null +++ b/interface-definitions/include/interface/interface-enable-proxy-arp.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/interface-enable-proxy-arp.xml.i --> +<leafNode name="enable-proxy-arp"> + <properties> + <help>Enable proxy-arp on this interface</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-hw-id.xml.i b/interface-definitions/include/interface/interface-hw-id.xml.i new file mode 100644 index 000000000..989cd9cb7 --- /dev/null +++ b/interface-definitions/include/interface/interface-hw-id.xml.i @@ -0,0 +1,14 @@ +<!-- include start from interface/interface-hw-id.xml.i --> +<leafNode name="hw-id"> + <properties> + <help>Associate Ethernet Interface with given Media Access Control (MAC) address</help> + <valueHelp> + <format>macaddr</format> + <description>Hardware (MAC) address</description> + </valueHelp> + <constraint> + <validator name="mac-address"/> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-ipv4-options.xml.i b/interface-definitions/include/interface/interface-ipv4-options.xml.i new file mode 100644 index 000000000..c2d0677b7 --- /dev/null +++ b/interface-definitions/include/interface/interface-ipv4-options.xml.i @@ -0,0 +1,18 @@ +<!-- include start from interface/interface-ipv4-options.xml.i --> +<node name="ip"> + <properties> + <help>IPv4 routing parameters</help> + </properties> + <children> + #include <include/interface/interface-arp-cache-timeout.xml.i> + #include <include/interface/interface-disable-arp-filter.xml.i> + #include <include/interface/interface-disable-forwarding.xml.i> + #include <include/interface/interface-enable-arp-accept.xml.i> + #include <include/interface/interface-enable-arp-announce.xml.i> + #include <include/interface/interface-enable-arp-ignore.xml.i> + #include <include/interface/interface-enable-proxy-arp.xml.i> + #include <include/interface/interface-proxy-arp-pvlan.xml.i> + #include <include/interface/interface-source-validation.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-ipv6-options.xml.i b/interface-definitions/include/interface/interface-ipv6-options.xml.i new file mode 100644 index 000000000..dcd5a8710 --- /dev/null +++ b/interface-definitions/include/interface/interface-ipv6-options.xml.i @@ -0,0 +1,12 @@ +<!-- include start from interface/interface-ipv6-options.xml.i --> +<node name="ipv6"> + <properties> + <help>IPv6 routing parameters</help> + </properties> + <children> + #include <include/interface/ipv6-address.xml.i> + #include <include/interface/ipv6-disable-forwarding.xml.i> + #include <include/interface/ipv6-dup-addr-detect-transmits.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-mac.xml.i b/interface-definitions/include/interface/interface-mac.xml.i new file mode 100644 index 000000000..d7107ad23 --- /dev/null +++ b/interface-definitions/include/interface/interface-mac.xml.i @@ -0,0 +1,14 @@ +<!-- include start from interface/interface-mac.xml.i --> +<leafNode name="mac"> + <properties> + <help>Media Access Control (MAC) address</help> + <valueHelp> + <format>macaddr</format> + <description>Hardware (MAC) address</description> + </valueHelp> + <constraint> + <validator name="mac-address"/> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-mirror.xml.i b/interface-definitions/include/interface/interface-mirror.xml.i new file mode 100644 index 000000000..b3b45fb43 --- /dev/null +++ b/interface-definitions/include/interface/interface-mirror.xml.i @@ -0,0 +1,25 @@ +<!-- include start from interface/interface-mirror.xml.i --> +<node name="mirror"> + <properties> + <help>Incoming/outgoing packet mirroring destination</help> + </properties> + <children> + <leafNode name="ingress"> + <properties> + <help>Mirror the ingress traffic of the interface to the destination interface</help> + <completionHelp> + <script>${vyos_completion_dir}/list_interfaces.py</script> + </completionHelp> + </properties> + </leafNode> + <leafNode name="egress"> + <properties> + <help>Mirror the egress traffic of the interface to the destination interface</help> + <completionHelp> + <script>${vyos_completion_dir}/list_interfaces.py</script> + </completionHelp> + </properties> + </leafNode> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-mtu-1200-16000.xml.i b/interface-definitions/include/interface/interface-mtu-1200-16000.xml.i new file mode 100644 index 000000000..3241ba912 --- /dev/null +++ b/interface-definitions/include/interface/interface-mtu-1200-16000.xml.i @@ -0,0 +1,16 @@ +<!-- include start from interface/interface-mtu-1200-16000.xml.i --> +<leafNode name="mtu"> + <properties> + <help>Maximum Transmission Unit (MTU)</help> + <valueHelp> + <format>1200-16000</format> + <description>Maximum Transmission Unit in byte</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1200-16000"/> + </constraint> + <constraintErrorMessage>MTU must be between 1200 and 16000</constraintErrorMessage> + </properties> + <defaultValue>1500</defaultValue> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-mtu-1450-16000.xml.i b/interface-definitions/include/interface/interface-mtu-1450-16000.xml.i new file mode 100644 index 000000000..0a35bbbaa --- /dev/null +++ b/interface-definitions/include/interface/interface-mtu-1450-16000.xml.i @@ -0,0 +1,16 @@ +<!-- include start from interface/interface-mtu-1450-16000.xml.i --> +<leafNode name="mtu"> + <properties> + <help>Maximum Transmission Unit (MTU)</help> + <valueHelp> + <format>1450-16000</format> + <description>Maximum Transmission Unit in byte</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1450-16000"/> + </constraint> + <constraintErrorMessage>MTU must be between 1450 and 16000</constraintErrorMessage> + </properties> + <defaultValue>1500</defaultValue> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-mtu-64-8024.xml.i b/interface-definitions/include/interface/interface-mtu-64-8024.xml.i new file mode 100644 index 000000000..f75de02ba --- /dev/null +++ b/interface-definitions/include/interface/interface-mtu-64-8024.xml.i @@ -0,0 +1,16 @@ +<!-- include start from interface/interface-mtu-68-8024.xml.i --> +<leafNode name="mtu"> + <properties> + <help>Maximum Transmission Unit (MTU)</help> + <valueHelp> + <format>64-8024</format> + <description>Maximum Transmission Unit in byte</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 64-8024"/> + </constraint> + <constraintErrorMessage>MTU must be between 64 and 8024</constraintErrorMessage> + </properties> + <defaultValue>1500</defaultValue> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-mtu-68-1500.xml.i b/interface-definitions/include/interface/interface-mtu-68-1500.xml.i new file mode 100644 index 000000000..9e6fe8760 --- /dev/null +++ b/interface-definitions/include/interface/interface-mtu-68-1500.xml.i @@ -0,0 +1,16 @@ +<!-- include start from interface/interface-mtu-68-1500.xml.i --> +<leafNode name="mtu"> + <properties> + <help>Maximum Transmission Unit (MTU)</help> + <valueHelp> + <format>68-1500</format> + <description>Maximum Transmission Unit in byte</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 68-1500"/> + </constraint> + <constraintErrorMessage>MTU must be between 68 and 1500</constraintErrorMessage> + </properties> + <defaultValue>1500</defaultValue> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-mtu-68-16000.xml.i b/interface-definitions/include/interface/interface-mtu-68-16000.xml.i new file mode 100644 index 000000000..83af7bbd4 --- /dev/null +++ b/interface-definitions/include/interface/interface-mtu-68-16000.xml.i @@ -0,0 +1,16 @@ +<!-- include start from interface/interface-mtu-68-16000.xml.i --> +<leafNode name="mtu"> + <properties> + <help>Maximum Transmission Unit (MTU)</help> + <valueHelp> + <format>68-16000</format> + <description>Maximum Transmission Unit in byte</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 68-16000"/> + </constraint> + <constraintErrorMessage>MTU must be between 68 and 16000</constraintErrorMessage> + </properties> + <defaultValue>1500</defaultValue> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-parameters-dont-fragment.xml.i b/interface-definitions/include/interface/interface-parameters-dont-fragment.xml.i new file mode 100644 index 000000000..166c31115 --- /dev/null +++ b/interface-definitions/include/interface/interface-parameters-dont-fragment.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/interface-parameters-df.xml.i --> +<leafNode name="dont-fragment"> + <properties> + <help>Specifies the usage of the dont fragment (DF) bit</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-parameters-flowlabel.xml.i b/interface-definitions/include/interface/interface-parameters-flowlabel.xml.i new file mode 100644 index 000000000..ed075e40d --- /dev/null +++ b/interface-definitions/include/interface/interface-parameters-flowlabel.xml.i @@ -0,0 +1,15 @@ +<!-- include start from interface/interface-parameters-flowlabel.xml.i --> +<leafNode name="flowlabel"> + <properties> + <help>Specifies the flow label to use in outgoing packets</help> + <valueHelp> + <format>0x0-0x0FFFFF</format> + <description>Tunnel key, 'inherit' or hex value</description> + </valueHelp> + <constraint> + <regex>^((0x){0,1}(0?[0-9A-Fa-f]{1,5})|inherit)$</regex> + </constraint> + <constraintErrorMessage>Must be 'inherit' or a number</constraintErrorMessage> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-parameters-key.xml.i b/interface-definitions/include/interface/interface-parameters-key.xml.i new file mode 100644 index 000000000..1b1d67174 --- /dev/null +++ b/interface-definitions/include/interface/interface-parameters-key.xml.i @@ -0,0 +1,15 @@ +<!-- include start from interface/interface-parameters-key.xml.i --> +<leafNode name="key"> + <properties> + <help>Tunnel key</help> + <valueHelp> + <format>u32</format> + <description>Tunnel key</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-4294967295"/> + </constraint> + <constraintErrorMessage>key must be between 0-4294967295</constraintErrorMessage> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-parameters-tos.xml.i b/interface-definitions/include/interface/interface-parameters-tos.xml.i new file mode 100644 index 000000000..83b4e0671 --- /dev/null +++ b/interface-definitions/include/interface/interface-parameters-tos.xml.i @@ -0,0 +1,16 @@ +<!-- include start from interface/tunnel-parameters-tos.xml.i --> +<leafNode name="tos"> + <properties> + <help>Specifies TOS value to use in outgoing packets</help> + <valueHelp> + <format>0-99</format> + <description>Type of Service (TOS)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-99"/> + </constraint> + <constraintErrorMessage>TOS must be between 0 and 99</constraintErrorMessage> + </properties> + <defaultValue>inherit</defaultValue> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-parameters-ttl.xml.i b/interface-definitions/include/interface/interface-parameters-ttl.xml.i new file mode 100644 index 000000000..df193cf24 --- /dev/null +++ b/interface-definitions/include/interface/interface-parameters-ttl.xml.i @@ -0,0 +1,20 @@ +<!-- include start from interface/interface-parameters-ttl.xml.i --> +<leafNode name="ttl"> + <properties> + <help>Specifies TTL value to use in outgoing packets</help> + <valueHelp> + <format>0</format> + <description>Inherit - copy value from original IP header</description> + </valueHelp> + <valueHelp> + <format>1-255</format> + <description>Time to Live</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-255"/> + </constraint> + <constraintErrorMessage>TTL must be between 0 and 255</constraintErrorMessage> + </properties> + <defaultValue>0</defaultValue> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-proxy-arp-pvlan.xml.i b/interface-definitions/include/interface/interface-proxy-arp-pvlan.xml.i new file mode 100644 index 000000000..153dfc072 --- /dev/null +++ b/interface-definitions/include/interface/interface-proxy-arp-pvlan.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/interface-proxy-arp-pvlan.xml.i --> +<leafNode name="proxy-arp-pvlan"> + <properties> + <help>Enable private VLAN proxy ARP on this interface</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-source-validation.xml.i b/interface-definitions/include/interface/interface-source-validation.xml.i new file mode 100644 index 000000000..70914f2e9 --- /dev/null +++ b/interface-definitions/include/interface/interface-source-validation.xml.i @@ -0,0 +1,25 @@ +<!-- include start from interface/interface-source-validation.xml.i --> +<leafNode name="source-validation"> + <properties> + <help>Source validation by reversed path (RFC3704)</help> + <completionHelp> + <list>strict loose disable</list> + </completionHelp> + <valueHelp> + <format>strict</format> + <description>Enable Strict Reverse Path Forwarding as defined in RFC3704</description> + </valueHelp> + <valueHelp> + <format>loose</format> + <description>Enable Loose Reverse Path Forwarding as defined in RFC3704</description> + </valueHelp> + <valueHelp> + <format>disable</format> + <description>No source validation</description> + </valueHelp> + <constraint> + <regex>^(strict|loose|disable)$</regex> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-vrf.xml.i b/interface-definitions/include/interface/interface-vrf.xml.i new file mode 100644 index 000000000..ef6ca1241 --- /dev/null +++ b/interface-definitions/include/interface/interface-vrf.xml.i @@ -0,0 +1,14 @@ +<!-- include start from interface/interface-vrf.xml.i --> +<leafNode name="vrf"> + <properties> + <help>VRF instance name</help> + <valueHelp> + <format>text</format> + <description>VRF instance name</description> + </valueHelp> + <completionHelp> + <path>vrf name</path> + </completionHelp> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-xdp.xml.i b/interface-definitions/include/interface/interface-xdp.xml.i new file mode 100644 index 000000000..0253f6dad --- /dev/null +++ b/interface-definitions/include/interface/interface-xdp.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/interface-xdp.xml.i --> +<leafNode name="xdp"> + <properties> + <help>Enable eXpress Data Path</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/ipv6-address-autoconf.xml.i b/interface-definitions/include/interface/ipv6-address-autoconf.xml.i new file mode 100644 index 000000000..cd1483bc1 --- /dev/null +++ b/interface-definitions/include/interface/ipv6-address-autoconf.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/ipv6-address-autoconf.xml.i --> +<leafNode name="autoconf"> + <properties> + <help>Enable acquisition of IPv6 address using stateless autoconfig (SLAAC)</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/ipv6-address-eui64.xml.i b/interface-definitions/include/interface/ipv6-address-eui64.xml.i new file mode 100644 index 000000000..7bc1ee2e4 --- /dev/null +++ b/interface-definitions/include/interface/ipv6-address-eui64.xml.i @@ -0,0 +1,15 @@ +<!-- include start from interface/ipv6-address-eui64.xml.i --> +<leafNode name="eui64"> + <properties> + <help>Prefix for IPv6 address with MAC-based EUI-64</help> + <valueHelp> + <format>ipv6net</format> + <description>IPv6 network and prefix length</description> + </valueHelp> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> + <multi/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/ipv6-address-no-default-link-local.xml.i b/interface-definitions/include/interface/ipv6-address-no-default-link-local.xml.i new file mode 100644 index 000000000..012490edc --- /dev/null +++ b/interface-definitions/include/interface/ipv6-address-no-default-link-local.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/ipv6-address-no-default-link-local.xml.i --> +<leafNode name="no-default-link-local"> + <properties> + <help>Remove the default link-local address from the interface</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/ipv6-address.xml.i b/interface-definitions/include/interface/ipv6-address.xml.i new file mode 100644 index 000000000..e1bdf02fd --- /dev/null +++ b/interface-definitions/include/interface/ipv6-address.xml.i @@ -0,0 +1,12 @@ +<!-- include start from interface/ipv6-address.xml.i --> +<node name="address"> + <properties> + <help>IPv6 address configuration modes</help> + </properties> + <children> + #include <include/interface/ipv6-address-autoconf.xml.i> + #include <include/interface/ipv6-address-eui64.xml.i> + #include <include/interface/ipv6-address-no-default-link-local.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/interface/ipv6-disable-forwarding.xml.i b/interface-definitions/include/interface/ipv6-disable-forwarding.xml.i new file mode 100644 index 000000000..4adb77d1b --- /dev/null +++ b/interface-definitions/include/interface/ipv6-disable-forwarding.xml.i @@ -0,0 +1,8 @@ +<!-- include start from interface/ipv6-disable-forwarding.xml.i --> +<leafNode name="disable-forwarding"> + <properties> + <help>Disable IPv6 forwarding on this interface</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/ipv6-dup-addr-detect-transmits.xml.i b/interface-definitions/include/interface/ipv6-dup-addr-detect-transmits.xml.i new file mode 100644 index 000000000..2b5ec0281 --- /dev/null +++ b/interface-definitions/include/interface/ipv6-dup-addr-detect-transmits.xml.i @@ -0,0 +1,18 @@ +<!-- include start from interface/ipv6-dup-addr-detect-transmits.xml.i --> +<leafNode name="dup-addr-detect-transmits"> + <properties> + <help>Number of NS messages to send while performing DAD (default: 1)</help> + <valueHelp> + <format>1-n</format> + <description>Number of NS messages to send while performing DAD</description> + </valueHelp> + <valueHelp> + <format>0</format> + <description>Disable Duplicate Address Dectection (DAD)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--non-negative"/> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/tunnel-remote.xml.i b/interface-definitions/include/interface/tunnel-remote.xml.i new file mode 100644 index 000000000..1ba9b0382 --- /dev/null +++ b/interface-definitions/include/interface/tunnel-remote.xml.i @@ -0,0 +1,18 @@ +<!-- include start from rip/tunnel-remote.xml.i --> +<leafNode name="remote"> + <properties> + <help>Tunnel remote address</help> + <valueHelp> + <format>ipv4</format> + <description>Tunnel remote IPv4 address</description> + </valueHelp> + <valueHelp> + <format>ipv6</format> + <description>Tunnel remote IPv6 address</description> + </valueHelp> + <constraint> + <validator name="ip-address"/> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/vif-s.xml.i b/interface-definitions/include/interface/vif-s.xml.i new file mode 100644 index 000000000..045fd3e24 --- /dev/null +++ b/interface-definitions/include/interface/vif-s.xml.i @@ -0,0 +1,67 @@ +<!-- include start from interface/vif-s.xml.i --> +<tagNode name="vif-s"> + <properties> + <help>QinQ TAG-S Virtual Local Area Network (VLAN) ID</help> + <constraint> + <validator name="numeric" argument="--range 0-4094"/> + </constraint> + <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage> + </properties> + <children> + #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/dhcp-options.xml.i> + #include <include/interface/dhcpv6-options.xml.i> + #include <include/interface/interface-disable-link-detect.xml.i> + #include <include/interface/interface-disable.xml.i> + <leafNode name="protocol"> + <properties> + <help>Protocol used for service VLAN (default: 802.1ad)</help> + <completionHelp> + <list>802.1ad 802.1q</list> + </completionHelp> + <valueHelp> + <format>802.1ad</format> + <description>Provider Bridging (IEEE 802.1ad, Q-inQ), ethertype 0x88a8</description> + </valueHelp> + <valueHelp> + <format>802.1q</format> + <description>VLAN-tagged frame (IEEE 802.1q), ethertype 0x8100</description> + </valueHelp> + <constraint> + <regex>(802.1q|802.1ad)</regex> + </constraint> + <constraintErrorMessage>Ethertype must be 802.1ad or 802.1q</constraintErrorMessage> + </properties> + <defaultValue>802.1ad</defaultValue> + </leafNode> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> + #include <include/interface/interface-mac.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> + <tagNode name="vif-c"> + <properties> + <help>QinQ TAG-C Virtual Local Area Network (VLAN) ID</help> + <constraint> + <validator name="numeric" argument="--range 0-4094"/> + </constraint> + <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage> + </properties> + <children> + #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/dhcp-options.xml.i> + #include <include/interface/dhcpv6-options.xml.i> + #include <include/interface/interface-disable-link-detect.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> + #include <include/interface/interface-mac.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> + #include <include/interface/interface-vrf.xml.i> + </children> + </tagNode> + #include <include/interface/interface-vrf.xml.i> + </children> +</tagNode> +<!-- include end --> diff --git a/interface-definitions/include/interface/vif.xml.i b/interface-definitions/include/interface/vif.xml.i new file mode 100644 index 000000000..0355054a4 --- /dev/null +++ b/interface-definitions/include/interface/vif.xml.i @@ -0,0 +1,52 @@ +<!-- include start from interface/vif.xml.i --> +<tagNode name="vif"> + <properties> + <help>Virtual Local Area Network (VLAN) ID</help> + <valueHelp> + <format>0-4094</format> + <description>Virtual Local Area Network (VLAN) ID</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-4094"/> + </constraint> + <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage> + </properties> + <children> + #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/dhcp-options.xml.i> + #include <include/interface/dhcpv6-options.xml.i> + #include <include/interface/interface-disable-link-detect.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-vrf.xml.i> + <leafNode name="egress-qos"> + <properties> + <help>VLAN egress QoS</help> + <completionHelp> + <script>echo Format for qos mapping, e.g.: '0:1 1:6 7:6'</script> + </completionHelp> + <constraint> + <regex>[:0-7 ]+$</regex> + </constraint> + <constraintErrorMessage>QoS mapping should be in the format of '0:7 2:3' with numbers 0-9</constraintErrorMessage> + </properties> + </leafNode> + <leafNode name="ingress-qos"> + <properties> + <help>VLAN ingress QoS</help> + <completionHelp> + <script>echo Format for qos mapping '0:1 1:6 7:6'</script> + </completionHelp> + <constraint> + <regex>[:0-7 ]+$</regex> + </constraint> + <constraintErrorMessage>QoS mapping should be in the format of '0:7 2:3' with numbers 0-9</constraintErrorMessage> + </properties> + </leafNode> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> + #include <include/interface/interface-mac.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> + </children> +</tagNode> +<!-- include end --> |