summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/bcast-relay.xml.in5
-rw-r--r--interface-definitions/dhcp-relay.xml.in4
-rw-r--r--interface-definitions/dhcp-server.xml.in193
-rw-r--r--interface-definitions/dhcpv6-relay.xml.in2
-rw-r--r--interface-definitions/dhcpv6-server.xml.in60
-rw-r--r--interface-definitions/dns-domain-name.xml.in25
-rw-r--r--interface-definitions/dns-dynamic.xml.in2
-rw-r--r--interface-definitions/dns-forwarding.xml.in31
-rw-r--r--interface-definitions/flow-accounting-conf.xml.in16
-rw-r--r--interface-definitions/https.xml.in10
-rw-r--r--interface-definitions/igmp-proxy.xml.in2
-rw-r--r--interface-definitions/include/accel-ppp/auth-local-users.xml.i3
-rw-r--r--interface-definitions/include/accel-ppp/client-ipv6-pool.xml.i1
-rw-r--r--interface-definitions/include/accel-ppp/ppp-interface-cache.xml.i2
-rw-r--r--interface-definitions/include/accel-ppp/ppp-options-ipv4.xml.i23
-rw-r--r--interface-definitions/include/accel-ppp/ppp-options-ipv6.xml.i31
-rw-r--r--interface-definitions/include/accel-ppp/radius-additions.xml.i12
-rw-r--r--interface-definitions/include/bfd.xml.i8
-rw-r--r--interface-definitions/include/dhcp/domain-name.xml.i11
-rw-r--r--interface-definitions/include/dhcp/domain-search.xml.i (renamed from interface-definitions/include/dhcp-server-domain-search.xml.i)2
-rw-r--r--interface-definitions/include/dhcp/ntp-server.xml.i15
-rw-r--r--interface-definitions/include/dhcp/ping-check.xml.i8
-rw-r--r--interface-definitions/include/generic-description.xml.i11
-rw-r--r--interface-definitions/include/interface/arp-cache-timeout.xml.i (renamed from interface-definitions/include/interface/interface-arp-cache-timeout.xml.i)2
-rw-r--r--interface-definitions/include/interface/description.xml.i (renamed from interface-definitions/include/interface/interface-description.xml.i)0
-rw-r--r--interface-definitions/include/interface/dhcpv6-options.xml.i4
-rw-r--r--interface-definitions/include/interface/dial-on-demand.xml.i (renamed from interface-definitions/include/interface/interface-dial-on-demand.xml.i)0
-rw-r--r--interface-definitions/include/interface/disable-arp-filter.xml.i (renamed from interface-definitions/include/interface/interface-disable-arp-filter.xml.i)0
-rw-r--r--interface-definitions/include/interface/disable-forwarding.xml.i (renamed from interface-definitions/include/interface/interface-disable-forwarding.xml.i)2
-rw-r--r--interface-definitions/include/interface/disable-link-detect.xml.i (renamed from interface-definitions/include/interface/interface-disable-link-detect.xml.i)0
-rw-r--r--interface-definitions/include/interface/disable.xml.i (renamed from interface-definitions/include/interface/interface-disable.xml.i)0
-rw-r--r--interface-definitions/include/interface/eapol.xml.i (renamed from interface-definitions/include/interface/interface-eapol.xml.i)0
-rw-r--r--interface-definitions/include/interface/enable-arp-accept.xml.i (renamed from interface-definitions/include/interface/interface-enable-arp-accept.xml.i)0
-rw-r--r--interface-definitions/include/interface/enable-arp-announce.xml.i (renamed from interface-definitions/include/interface/interface-enable-arp-announce.xml.i)0
-rw-r--r--interface-definitions/include/interface/enable-arp-ignore.xml.i (renamed from interface-definitions/include/interface/interface-enable-arp-ignore.xml.i)0
-rw-r--r--interface-definitions/include/interface/enable-proxy-arp.xml.i (renamed from interface-definitions/include/interface/interface-enable-proxy-arp.xml.i)0
-rw-r--r--interface-definitions/include/interface/hw-id.xml.i (renamed from interface-definitions/include/interface/interface-hw-id.xml.i)0
-rw-r--r--interface-definitions/include/interface/interface-ipv4-options.xml.i18
-rw-r--r--interface-definitions/include/interface/ipv4-options.xml.i18
-rw-r--r--interface-definitions/include/interface/ipv6-disable-forwarding.xml.i8
-rw-r--r--interface-definitions/include/interface/ipv6-dup-addr-detect-transmits.xml.i8
-rw-r--r--interface-definitions/include/interface/ipv6-options.xml.i (renamed from interface-definitions/include/interface/interface-ipv6-options.xml.i)2
-rw-r--r--interface-definitions/include/interface/mac.xml.i (renamed from interface-definitions/include/interface/interface-mac.xml.i)0
-rw-r--r--interface-definitions/include/interface/mirror.xml.i (renamed from interface-definitions/include/interface/interface-mirror.xml.i)0
-rw-r--r--interface-definitions/include/interface/mtu-1200-16000.xml.i (renamed from interface-definitions/include/interface/interface-mtu-1200-16000.xml.i)2
-rw-r--r--interface-definitions/include/interface/mtu-1450-16000.xml.i (renamed from interface-definitions/include/interface/interface-mtu-1450-16000.xml.i)2
-rw-r--r--interface-definitions/include/interface/mtu-64-8024.xml.i (renamed from interface-definitions/include/interface/interface-mtu-64-8024.xml.i)2
-rw-r--r--interface-definitions/include/interface/mtu-68-1500.xml.i (renamed from interface-definitions/include/interface/interface-mtu-68-1500.xml.i)2
-rw-r--r--interface-definitions/include/interface/mtu-68-16000.xml.i (renamed from interface-definitions/include/interface/interface-mtu-68-16000.xml.i)2
-rw-r--r--interface-definitions/include/interface/parameters-flowlabel.xml.i (renamed from interface-definitions/include/interface/interface-parameters-flowlabel.xml.i)11
-rw-r--r--interface-definitions/include/interface/parameters-key.xml.i (renamed from interface-definitions/include/interface/interface-parameters-key.xml.i)0
-rw-r--r--interface-definitions/include/interface/parameters-tos.xml.i (renamed from interface-definitions/include/interface/interface-parameters-tos.xml.i)2
-rw-r--r--interface-definitions/include/interface/parameters-ttl.xml.i (renamed from interface-definitions/include/interface/interface-parameters-ttl.xml.i)6
-rw-r--r--interface-definitions/include/interface/proxy-arp-pvlan.xml.i (renamed from interface-definitions/include/interface/interface-proxy-arp-pvlan.xml.i)0
-rw-r--r--interface-definitions/include/interface/source-validation.xml.i (renamed from interface-definitions/include/interface/interface-source-validation.xml.i)0
-rw-r--r--interface-definitions/include/interface/vif-s.xml.i36
-rw-r--r--interface-definitions/include/interface/vif.xml.i18
-rw-r--r--interface-definitions/include/interface/vrf.xml.i (renamed from interface-definitions/include/interface/interface-vrf.xml.i)0
-rw-r--r--interface-definitions/include/isis-redistribute-ipv4.xml.i56
-rw-r--r--interface-definitions/include/isis/default-information-level.xml.i32
-rw-r--r--interface-definitions/include/isis/metric.xml.i14
-rw-r--r--interface-definitions/include/isis/passive.xml.i8
-rw-r--r--interface-definitions/include/isis/protocol-common-config.xml.i769
-rw-r--r--interface-definitions/include/isis/redistribute-level-1-2.xml.i20
-rw-r--r--interface-definitions/include/name-server-ipv4-ipv6.xml.i (renamed from interface-definitions/include/accel-ppp/name-server.xml.i)4
-rw-r--r--interface-definitions/include/name-server-ipv4.xml.i15
-rw-r--r--interface-definitions/include/name-server-ipv6.xml.i15
-rw-r--r--interface-definitions/include/nat-rule.xml.i2
-rw-r--r--interface-definitions/include/pppoe-access-concentrator.xml.i11
-rw-r--r--interface-definitions/include/route-map.xml.i18
-rw-r--r--interface-definitions/include/source-address-ipv4.xml.i2
-rw-r--r--interface-definitions/interfaces-bonding.xml.in32
-rw-r--r--interface-definitions/interfaces-bridge.xml.in51
-rw-r--r--interface-definitions/interfaces-dummy.xml.in8
-rw-r--r--interface-definitions/interfaces-ethernet.xml.in28
-rw-r--r--interface-definitions/interfaces-geneve.xml.in12
-rw-r--r--interface-definitions/interfaces-l2tpv3.xml.in24
-rw-r--r--interface-definitions/interfaces-loopback.xml.in4
-rw-r--r--interface-definitions/interfaces-macsec.xml.in18
-rw-r--r--interface-definitions/interfaces-openvpn.xml.in56
-rw-r--r--interface-definitions/interfaces-pppoe.xml.in41
-rw-r--r--interface-definitions/interfaces-pseudo-ethernet.xml.in16
-rw-r--r--interface-definitions/interfaces-tunnel.xml.in45
-rw-r--r--interface-definitions/interfaces-vxlan.xml.in18
-rw-r--r--interface-definitions/interfaces-wireguard.xml.in14
-rw-r--r--interface-definitions/interfaces-wireless.xml.in18
-rw-r--r--interface-definitions/interfaces-wwan.xml.in16
-rw-r--r--interface-definitions/ipsec-settings.xml.in2
-rw-r--r--interface-definitions/lldp.xml.in2
-rw-r--r--interface-definitions/ntp.xml.in2
-rw-r--r--interface-definitions/protocols-igmp.xml.in15
-rw-r--r--interface-definitions/protocols-isis.xml.in772
-rw-r--r--interface-definitions/protocols-multicast.xml.in4
-rw-r--r--interface-definitions/protocols-pim.xml.in6
-rw-r--r--interface-definitions/service_console-server.xml.in2
-rw-r--r--interface-definitions/service_ipoe-server.xml.in2
-rw-r--r--interface-definitions/service_pppoe-server.xml.in16
-rw-r--r--interface-definitions/service_router-advert.xml.in50
-rw-r--r--interface-definitions/service_webproxy.xml.in2
-rw-r--r--interface-definitions/snmp.xml.in2
-rw-r--r--interface-definitions/ssh.xml.in4
-rw-r--r--interface-definitions/system-console.xml.in1
-rw-r--r--interface-definitions/system-lcd.xml.in8
-rw-r--r--interface-definitions/system-login.xml.in9
-rw-r--r--interface-definitions/vpn_ipsec.xml.in1167
-rw-r--r--interface-definitions/vpn_l2tp.xml.in11
-rw-r--r--interface-definitions/vpn_openconnect.xml.in4
-rw-r--r--interface-definitions/vpn_pptp.xml.in14
-rw-r--r--interface-definitions/vpn_sstp.xml.in6
-rw-r--r--interface-definitions/vrf.xml.in10
-rw-r--r--interface-definitions/vrrp.xml.in17
111 files changed, 1529 insertions, 2588 deletions
diff --git a/interface-definitions/bcast-relay.xml.in b/interface-definitions/bcast-relay.xml.in
index 1b354d885..a0f73a03b 100644
--- a/interface-definitions/bcast-relay.xml.in
+++ b/interface-definitions/bcast-relay.xml.in
@@ -1,5 +1,4 @@
<?xml version="1.0"?>
-<!-- UDP broadcast relay configuration -->
<interfaceDefinition>
<node name="service">
<children>
@@ -14,8 +13,8 @@
<properties>
<help>Unique ID for each UDP port to forward</help>
<valueHelp>
- <format>1-99</format>
- <description>Numerical ID #</description>
+ <format>u32:1-99</format>
+ <description>Broadcast relay instance ID</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--range 1-99"/>
diff --git a/interface-definitions/dhcp-relay.xml.in b/interface-definitions/dhcp-relay.xml.in
index 8c95239d9..0d485ef80 100644
--- a/interface-definitions/dhcp-relay.xml.in
+++ b/interface-definitions/dhcp-relay.xml.in
@@ -27,7 +27,7 @@
<properties>
<help>Policy to discard packets that have reached specified hop-count</help>
<valueHelp>
- <format>1-255</format>
+ <format>u32:1-255</format>
<description>Hop count (default: 10)</description>
</valueHelp>
<constraint>
@@ -41,7 +41,7 @@
<properties>
<help>Maximum packet size to send to a DHCPv4/BOOTP server</help>
<valueHelp>
- <format>64-1400</format>
+ <format>u32:64-1400</format>
<description>Maximum packet size (default: 576)</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/dhcp-server.xml.in b/interface-definitions/dhcp-server.xml.in
index 015500043..d1ed579e9 100644
--- a/interface-definitions/dhcp-server.xml.in
+++ b/interface-definitions/dhcp-server.xml.in
@@ -16,6 +16,55 @@
<valueless/>
</properties>
</leafNode>
+ <node name="failover">
+ <properties>
+ <help>DHCP failover configuration</help>
+ </properties>
+ <children>
+ #include <include/source-address-ipv4.xml.i>
+ <leafNode name="remote">
+ <properties>
+ <help>IPv4 remote address used for connectio</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 address of failover peer</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="name">
+ <properties>
+ <help>Peer name used to identify connection</help>
+ <constraint>
+ <regex>[-_a-zA-Z0-9.]+</regex>
+ </constraint>
+ <constraintErrorMessage>Invalid failover peer name. May only contain letters, numbers and .-_</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="status">
+ <properties>
+ <help>Failover hierarchy</help>
+ <completionHelp>
+ <list>primary secondary</list>
+ </completionHelp>
+ <valueHelp>
+ <format>primary</format>
+ <description>Configure this server to be the primary node</description>
+ </valueHelp>
+ <valueHelp>
+ <format>secondary</format>
+ <description>Configure this server to be the secondary node</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(primary|secondary)$</regex>
+ </constraint>
+ <constraintErrorMessage>Invalid DHCP failover peer status</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
<leafNode name="global-parameters">
<properties>
<help>Additional global parameters for DHCP server. You must
@@ -53,12 +102,13 @@
<valueless/>
</properties>
</leafNode>
- <leafNode name="description">
- <properties>
- <help>Shared-network-name description</help>
- </properties>
- </leafNode>
+ #include <include/dhcp/domain-name.xml.i>
+ #include <include/dhcp/domain-search.xml.i>
+ #include <include/dhcp/ntp-server.xml.i>
+ #include <include/dhcp/ping-check.xml.i>
+ #include <include/generic-description.xml.i>
#include <include/generic-disable-node.xml.i>
+ #include <include/name-server-ipv4.xml.i>
<leafNode name="shared-network-parameters">
<properties>
<help>Additional shared-network parameters for DHCP server.
@@ -96,7 +146,7 @@
<properties>
<help>Specifies the clients subnet mask as per RFC 950. If unset, subnet declaration is used.</help>
<valueHelp>
- <format>0-32</format>
+ <format>u32:0-32</format>
<description>DHCP client prefix length must be 0 to 32</description>
</valueHelp>
<constraint>
@@ -117,29 +167,16 @@
</constraint>
</properties>
</leafNode>
- <leafNode name="dns-server">
+ #include <include/dhcp/domain-name.xml.i>
+ #include <include/dhcp/domain-search.xml.i>
+ #include <include/generic-description.xml.i>
+ #include <include/name-server-ipv4.xml.i>
+ <leafNode name="enable-failover">
<properties>
- <help>DNS server IPv4 address</help>
- <valueHelp>
- <format>ipv4</format>
- <description>DNS server IPv4 address</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- </constraint>
- <multi/>
- </properties>
- </leafNode>
- <leafNode name="domain-name">
- <properties>
- <help>Client Domain Name</help>
- <constraint>
- <validator name="fqdn"/>
- </constraint>
- <constraintErrorMessage>Invalid domain name (RFC 1123 section 2).\nMay only contain letters, numbers and .-_</constraintErrorMessage>
+ <help>Enable DHCP failover support for this subnet</help>
+ <valueless/>
</properties>
</leafNode>
- #include <include/dhcp-server-domain-search.xml.i>
<leafNode name="exclude">
<properties>
<help>IP address to exclude from DHCP lease range</help>
@@ -153,58 +190,6 @@
<multi/>
</properties>
</leafNode>
- <node name="failover">
- <properties>
- <help>DHCP failover parameters</help>
- </properties>
- <children>
- <leafNode name="local-address">
- <properties>
- <help>IP address for failover peer to connect [REQUIRED]</help>
- <valueHelp>
- <format>ipv4</format>
- <description>IPv4 address to exclude from lease range</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="name">
- <properties>
- <help>DHCP failover peer name [REQUIRED]</help>
- <constraint>
- <regex>[-_a-zA-Z0-9.]+</regex>
- </constraint>
- <constraintErrorMessage>Invalid failover peer name. May only contain letters, numbers and .-_</constraintErrorMessage>
- </properties>
- </leafNode>
- <leafNode name="peer-address">
- <properties>
- <help>IP address of failover peer [REQUIRED]</help>
- <valueHelp>
- <format>ipv4</format>
- <description>IPv4 address of failover peer</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="status">
- <properties>
- <help>DHCP failover peer status (primary|secondary) [REQUIRED]</help>
- <completionHelp>
- <list>primary secondary</list>
- </completionHelp>
- <constraint>
- <regex>^(primary|secondary)$</regex>
- </constraint>
- <constraintErrorMessage>Invalid DHCP failover peer status</constraintErrorMessage>
- </properties>
- </leafNode>
- </children>
- </node>
<leafNode name="ip-forwarding">
<properties>
<help>Enable IP forwarding on client</help>
@@ -225,19 +210,8 @@
</properties>
<defaultValue>86400</defaultValue>
</leafNode>
- <leafNode name="ntp-server">
- <properties>
- <help>IP address of NTP server</help>
- <valueHelp>
- <format>ipv4</format>
- <description>NTP server IPv4 address</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- </constraint>
- <multi/>
- </properties>
- </leafNode>
+ #include <include/dhcp/ntp-server.xml.i>
+ #include <include/dhcp/ping-check.xml.i>
<leafNode name="pop-server">
<properties>
<help>IP address of POP3 server</help>
@@ -280,9 +254,9 @@
<properties>
<help>DHCP lease range</help>
<constraint>
- <regex>[-_a-zA-Z0-9.]+</regex>
+ <regex>^[-_a-zA-Z0-9.]+$</regex>
</constraint>
- <constraintErrorMessage>Invalid DHCP lease range name. May only contain letters, numbers and .-_</constraintErrorMessage>
+ <constraintErrorMessage>Invalid range name, may only be alphanumeric, dot and hyphen</constraintErrorMessage>
</properties>
<children>
<leafNode name="start">
@@ -315,9 +289,9 @@
<properties>
<help>Name of static mapping</help>
<constraint>
- <regex>[-_a-zA-Z0-9.]+</regex>
+ <regex>^[-_a-zA-Z0-9.]+$</regex>
</constraint>
- <constraintErrorMessage>Invalid static mapping name. May only contain letters, numbers and .-_</constraintErrorMessage>
+ <constraintErrorMessage>Invalid static mapping name, may only be alphanumeric, dot and hyphen</constraintErrorMessage>
</properties>
<children>
#include <include/generic-disable-node.xml.i>
@@ -357,26 +331,21 @@
</leafNode>
</children>
</tagNode>
- <node name="static-route">
+ <tagNode name="static-route">
<properties>
- <help>Classless static route</help>
+ <help>Classless static route destination subnet [REQUIRED]</help>
+ <valueHelp>
+ <format>ipv4net</format>
+ <description>IPv4 address and prefix length</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-prefix"/>
+ </constraint>
</properties>
<children>
- <leafNode name="destination-subnet">
- <properties>
- <help>Destination subnet [REQUIRED]</help>
- <valueHelp>
- <format>ipv4net</format>
- <description>IPv4 address and prefix length</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-prefix"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="router">
+ <leafNode name="next-hop">
<properties>
- <help>IP address of router to be used to reach the destination subnet [REQUIRED]</help>
+ <help>IP address of router to be used to reach the destination subnet</help>
<valueHelp>
<format>ipv4</format>
<description>IPv4 address of router</description>
@@ -387,7 +356,7 @@
</properties>
</leafNode>
</children>
- </node>
+ </tagNode >
<leafNode name="subnet-parameters">
<properties>
<help>Additional subnet parameters for DHCP server. You must
diff --git a/interface-definitions/dhcpv6-relay.xml.in b/interface-definitions/dhcpv6-relay.xml.in
index 308f94a01..7162cf353 100644
--- a/interface-definitions/dhcpv6-relay.xml.in
+++ b/interface-definitions/dhcpv6-relay.xml.in
@@ -35,7 +35,7 @@
<properties>
<help>Maximum hop count for which requests will be processed</help>
<valueHelp>
- <format>1-255</format>
+ <format>u32:1-255</format>
<description>Hop count (default: 10)</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/dhcpv6-server.xml.in b/interface-definitions/dhcpv6-server.xml.in
index 5d6c64685..fb96571f5 100644
--- a/interface-definitions/dhcpv6-server.xml.in
+++ b/interface-definitions/dhcpv6-server.xml.in
@@ -1,5 +1,4 @@
<?xml version="1.0"?>
-<!-- DHCPv6 server configuration -->
<interfaceDefinition>
<node name="service">
<children>
@@ -15,26 +14,14 @@
<help>Additional global parameters for DHCPv6 server</help>
</properties>
<children>
- <leafNode name="name-server">
- <properties>
- <help>IPv6 address of a Recursive DNS Server</help>
- <valueHelp>
- <format>ipv6</format>
- <description>IPv6 address of DNS name server</description>
- </valueHelp>
- <constraint>
- <validator name="ipv6-address"/>
- </constraint>
- <multi/>
- </properties>
- </leafNode>
+ #include <include/name-server-ipv6.xml.i>
</children>
</node>
<leafNode name="preference">
<properties>
<help>Preference of this DHCPv6 server compared with others</help>
<valueHelp>
- <format>0-255</format>
+ <format>u32:0-255</format>
<description>DHCPv6 server preference (0-255)</description>
</valueHelp>
<constraint>
@@ -53,6 +40,7 @@
</properties>
<children>
#include <include/generic-disable-node.xml.i>
+ #include <include/generic-description.xml.i>
<node name="common-options">
<properties>
<help>Common options to distribute to all clients, including stateless clients</help>
@@ -62,7 +50,7 @@
<properties>
<help>Time (in seconds) that stateless clients should wait between refreshing the information they were given</help>
<valueHelp>
- <format>1-4294967295</format>
+ <format>u32:1-4294967295</format>
<description>DHCPv6 information refresh time</description>
</valueHelp>
<constraint>
@@ -70,20 +58,8 @@
</constraint>
</properties>
</leafNode>
- #include <include/dhcp-server-domain-search.xml.i>
- <leafNode name="name-server">
- <properties>
- <help>IPv6 address of a Recursive DNS Server</help>
- <valueHelp>
- <format>ipv6</format>
- <description>IPv6 address of DNS name server</description>
- </valueHelp>
- <constraint>
- <validator name="ipv6-address"/>
- </constraint>
- <multi/>
- </properties>
- </leafNode>
+ #include <include/dhcp/domain-search.xml.i>
+ #include <include/name-server-ipv6.xml.i>
</children>
</node>
<tagNode name="subnet">
@@ -151,7 +127,7 @@
</tagNode>
</children>
</node>
- #include <include/dhcp-server-domain-search.xml.i>
+ #include <include/dhcp/domain-search.xml.i>
<node name="lease-time">
<properties>
<help>Parameters relating to the lease time</help>
@@ -161,7 +137,7 @@
<properties>
<help>Default time (in seconds) that will be assigned to a lease</help>
<valueHelp>
- <format>1-4294967295</format>
+ <format>u32:1-4294967295</format>
<description>DHCPv6 valid lifetime</description>
</valueHelp>
<constraint>
@@ -173,7 +149,7 @@
<properties>
<help>Maximum time (in seconds) that will be assigned to a lease</help>
<valueHelp>
- <format>1-4294967295</format>
+ <format>u32:1-4294967295</format>
<description>Maximum lease time in seconds</description>
</valueHelp>
<constraint>
@@ -185,7 +161,7 @@
<properties>
<help>Minimum time (in seconds) that will be assigned to a lease</help>
<valueHelp>
- <format>1-4294967295</format>
+ <format>u32:1-4294967295</format>
<description>Minimum lease time in seconds</description>
</valueHelp>
<constraint>
@@ -195,19 +171,7 @@
</leafNode>
</children>
</node>
- <leafNode name="name-server">
- <properties>
- <help>IPv6 address of a Recursive DNS Server</help>
- <valueHelp>
- <format>ipv6</format>
- <description>IPv6 address of DNS name server</description>
- </valueHelp>
- <constraint>
- <validator name="ipv6-address"/>
- </constraint>
- <multi/>
- </properties>
- </leafNode>
+ #include <include/name-server-ipv6.xml.i>
<leafNode name="nis-domain">
<properties>
<help>NIS domain name for client to use</help>
@@ -273,7 +237,7 @@
<properties>
<help>Length in bits of prefixes to be delegated</help>
<valueHelp>
- <format>32-64</format>
+ <format>u32:32-64</format>
<description>Delagated prefix length (32-64)</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/dns-domain-name.xml.in b/interface-definitions/dns-domain-name.xml.in
index ff632e1d1..2b1644609 100644
--- a/interface-definitions/dns-domain-name.xml.in
+++ b/interface-definitions/dns-domain-name.xml.in
@@ -1,37 +1,34 @@
<?xml version="1.0"?>
-<!-- host-name configuration -->
<interfaceDefinition>
<node name="system">
<children>
<leafNode name="name-server" owner="${vyos_conf_scripts_dir}/host_name.py">
<properties>
- <help>Domain Name Servers (DNS) used by the system (resolv.conf)</help>
+ <help>System Domain Name Servers (DNS)</help>
<priority>400</priority>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
<valueHelp>
<format>ipv4</format>
- <description>Domain Name Server (DNS) address</description>
+ <description>Domain Name Server IPv4 address</description>
</valueHelp>
<valueHelp>
<format>ipv6</format>
- <description>Domain Name Server (DNS) address</description>
+ <description>Domain Name Server IPv6 address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>Use Domain Name Server from DHCP interface</description>
</valueHelp>
<multi/>
<constraint>
<validator name="ipv4-address"/>
<validator name="ipv6-address"/>
+ <validator name="interface-name"/>
</constraint>
</properties>
</leafNode>
- <leafNode name="name-servers-dhcp" owner="${vyos_conf_scripts_dir}/host_name.py">
- <properties>
- <help>Interfaces whose DHCP client nameservers will be used by the system (resolv.conf)</help>
- <priority>400</priority>
- <completionHelp>
- <script>${vyos_completion_dir}/list_interfaces.py</script>
- </completionHelp>
- <multi/>
- </properties>
- </leafNode>
<leafNode name="host-name" owner="${vyos_conf_scripts_dir}/host_name.py">
<properties>
<help>System host name (default: vyos)</help>
diff --git a/interface-definitions/dns-dynamic.xml.in b/interface-definitions/dns-dynamic.xml.in
index b0b9158c8..250642691 100644
--- a/interface-definitions/dns-dynamic.xml.in
+++ b/interface-definitions/dns-dynamic.xml.in
@@ -49,7 +49,7 @@
<properties>
<help>Time To Live (default: 600)</help>
<valueHelp>
- <format>1-86400</format>
+ <format>u32:1-86400</format>
<description>DNS forwarding cache size</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/dns-forwarding.xml.in b/interface-definitions/dns-forwarding.xml.in
index 66b4db403..5b0c87597 100644
--- a/interface-definitions/dns-forwarding.xml.in
+++ b/interface-definitions/dns-forwarding.xml.in
@@ -18,11 +18,11 @@
<properties>
<help>DNS forwarding cache size (default: 10000)</help>
<valueHelp>
- <format>0-10000</format>
+ <format>u32:0-2147483647</format>
<description>DNS forwarding cache size</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 0-10000"/>
+ <validator name="numeric" argument="--range 0-2147483647"/>
</constraint>
</properties>
<defaultValue>10000</defaultValue>
@@ -111,6 +111,12 @@
<valueless/>
</properties>
</leafNode>
+ <leafNode name="no-serve-rfc1918">
+ <properties>
+ <help>Makes the server authoritatively not aware of RFC1918 addresses</help>
+ <valueless/>
+ </properties>
+ </leafNode>
<leafNode name="allow-from">
<properties>
<help>Networks allowed to query this server</help>
@@ -133,7 +139,7 @@
<properties>
<help>Maximum amount of time negative entries are cached (default: 3600)</help>
<valueHelp>
- <format>0-7200</format>
+ <format>u32:0-7200</format>
<description>Seconds to cache NXDOMAIN entries</description>
</valueHelp>
<constraint>
@@ -142,24 +148,7 @@
</properties>
<defaultValue>3600</defaultValue>
</leafNode>
- <leafNode name="name-server">
- <properties>
- <help>Domain Name Servers (DNS) addresses [OPTIONAL]</help>
- <valueHelp>
- <format>ipv4</format>
- <description>Domain Name Server (DNS) IPv4 address</description>
- </valueHelp>
- <valueHelp>
- <format>ipv6</format>
- <description>Domain Name Server (DNS) IPv6 address</description>
- </valueHelp>
- <multi/>
- <constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/name-server-ipv4-ipv6.xml.i>
<leafNode name="source-address">
<properties>
<help>Local addresses from which to send DNS queries</help>
diff --git a/interface-definitions/flow-accounting-conf.xml.in b/interface-definitions/flow-accounting-conf.xml.in
index b3980d9e2..b0f308afd 100644
--- a/interface-definitions/flow-accounting-conf.xml.in
+++ b/interface-definitions/flow-accounting-conf.xml.in
@@ -267,7 +267,7 @@
<properties>
<help>Expiry scan interval</help>
<valueHelp>
- <format>0-2147483647</format>
+ <format>u32:0-2147483647</format>
<description>Expiry scan interval (default 60)</description>
</valueHelp>
<constraint>
@@ -279,7 +279,7 @@
<properties>
<help>Generic flow timeout value</help>
<valueHelp>
- <format>0-2147483647</format>
+ <format>u32:0-2147483647</format>
<description>Generic flow timeout in seconds (default 3600)</description>
</valueHelp>
<constraint>
@@ -291,7 +291,7 @@
<properties>
<help>ICMP timeout value</help>
<valueHelp>
- <format>0-2147483647</format>
+ <format>u32:0-2147483647</format>
<description>ICMP timeout in seconds (default 300)</description>
</valueHelp>
<constraint>
@@ -303,7 +303,7 @@
<properties>
<help>Max active timeout value</help>
<valueHelp>
- <format>0-2147483647</format>
+ <format>u32:0-2147483647</format>
<description>Max active timeout in seconds (default 604800)</description>
</valueHelp>
<constraint>
@@ -315,7 +315,7 @@
<properties>
<help>TCP finish timeout value</help>
<valueHelp>
- <format>0-2147483647</format>
+ <format>u32:0-2147483647</format>
<description>TCP FIN timeout in seconds (default 300)</description>
</valueHelp>
<constraint>
@@ -327,7 +327,7 @@
<properties>
<help>TCP generic timeout value</help>
<valueHelp>
- <format>0-2147483647</format>
+ <format>u32:0-2147483647</format>
<description>TCP generic timeout in seconds (default 3600)</description>
</valueHelp>
<constraint>
@@ -339,7 +339,7 @@
<properties>
<help>TCP reset timeout value</help>
<valueHelp>
- <format>0-2147483647</format>
+ <format>u32:0-2147483647</format>
<description>TCP RST timeout in seconds (default 120)</description>
</valueHelp>
<constraint>
@@ -351,7 +351,7 @@
<properties>
<help>UDP timeout value</help>
<valueHelp>
- <format>0-2147483647</format>
+ <format>u32:0-2147483647</format>
<description>UDP timeout in seconds (default 300)</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/https.xml.in b/interface-definitions/https.xml.in
index b613e30c1..ccb77910a 100644
--- a/interface-definitions/https.xml.in
+++ b/interface-definitions/https.xml.in
@@ -1,7 +1,5 @@
<?xml version="1.0"?>
-<!-- HTTPS configuration -->
<interfaceDefinition>
- <syntaxVersion component='https' version='2'></syntaxVersion>
<node name="service">
<children>
<node name="https" owner="${vyos_conf_scripts_dir}/https.py">
@@ -48,7 +46,7 @@
<properties>
<help>Port to listen for HTTPS requests; default 443</help>
<valueHelp>
- <format>1-65535</format>
+ <format>u32:1-65535</format>
<description>Numeric IP port</description>
</valueHelp>
<constraint>
@@ -151,9 +149,9 @@
</properties>
</leafNode>
<leafNode name="email">
- <properties>
- <help>Email address to associate with certificate</help>
- </properties>
+ <properties>
+ <help>Email address to associate with certificate</help>
+ </properties>
</leafNode>
</children>
</node>
diff --git a/interface-definitions/igmp-proxy.xml.in b/interface-definitions/igmp-proxy.xml.in
index d0f44eada..91c912d8b 100644
--- a/interface-definitions/igmp-proxy.xml.in
+++ b/interface-definitions/igmp-proxy.xml.in
@@ -65,7 +65,7 @@
<properties>
<help>TTL threshold (default: 1)</help>
<valueHelp>
- <format>1-255</format>
+ <format>u32:1-255</format>
<description>TTL threshold for the interfaces (default: 1)</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/include/accel-ppp/auth-local-users.xml.i b/interface-definitions/include/accel-ppp/auth-local-users.xml.i
index 308d6510d..1b40a9ea7 100644
--- a/interface-definitions/include/accel-ppp/auth-local-users.xml.i
+++ b/interface-definitions/include/accel-ppp/auth-local-users.xml.i
@@ -18,6 +18,9 @@
<leafNode name="static-ip">
<properties>
<help>Static client IP address</help>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
</properties>
<defaultValue>*</defaultValue>
</leafNode>
diff --git a/interface-definitions/include/accel-ppp/client-ipv6-pool.xml.i b/interface-definitions/include/accel-ppp/client-ipv6-pool.xml.i
index bd3dadf8d..a692f2335 100644
--- a/interface-definitions/include/accel-ppp/client-ipv6-pool.xml.i
+++ b/interface-definitions/include/accel-ppp/client-ipv6-pool.xml.i
@@ -27,6 +27,7 @@
<validator name="numeric" argument="--range 48-128"/>
</constraint>
</properties>
+ <defaultValue>64</defaultValue>
</leafNode>
</children>
</tagNode>
diff --git a/interface-definitions/include/accel-ppp/ppp-interface-cache.xml.i b/interface-definitions/include/accel-ppp/ppp-interface-cache.xml.i
index 9f223d7ed..019601c85 100644
--- a/interface-definitions/include/accel-ppp/ppp-interface-cache.xml.i
+++ b/interface-definitions/include/accel-ppp/ppp-interface-cache.xml.i
@@ -3,7 +3,7 @@
<properties>
<help>PPP interface cache</help>
<valueHelp>
- <format>1-256000</format>
+ <format>u32:1-256000</format>
<description>Count of interfaces to keep in cache</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/include/accel-ppp/ppp-options-ipv4.xml.i b/interface-definitions/include/accel-ppp/ppp-options-ipv4.xml.i
new file mode 100644
index 000000000..3e065329d
--- /dev/null
+++ b/interface-definitions/include/accel-ppp/ppp-options-ipv4.xml.i
@@ -0,0 +1,23 @@
+<!-- include start from accel-ppp/ppp-options-ipv4.xml.i -->
+<leafNode name="ipv4">
+ <properties>
+ <help>IPv4 negotiation algorithm</help>
+ <constraint>
+ <regex>^(deny|allow)$</regex>
+ </constraint>
+ <constraintErrorMessage>invalid value</constraintErrorMessage>
+ <valueHelp>
+ <format>deny</format>
+ <description>Do not negotiate IPv4</description>
+ </valueHelp>
+ <valueHelp>
+ <format>allow</format>
+ <description>Negotiate IPv4 only if client requests</description>
+ </valueHelp>
+ <completionHelp>
+ <list>deny allow</list>
+ </completionHelp>
+ </properties>
+ <defaultValue>allow</defaultValue>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/accel-ppp/ppp-options-ipv6.xml.i b/interface-definitions/include/accel-ppp/ppp-options-ipv6.xml.i
new file mode 100644
index 000000000..b9fbac5c6
--- /dev/null
+++ b/interface-definitions/include/accel-ppp/ppp-options-ipv6.xml.i
@@ -0,0 +1,31 @@
+<!-- include start from accel-ppp/ppp-options-ipv6.xml.i -->
+<leafNode name="ipv6">
+ <properties>
+ <help>IPv6 (IPCP6) negotiation algorithm</help>
+ <constraint>
+ <regex>^(deny|allow|prefer|require)$</regex>
+ </constraint>
+ <constraintErrorMessage>invalid value</constraintErrorMessage>
+ <valueHelp>
+ <format>deny</format>
+ <description>Do not negotiate IPv6</description>
+ </valueHelp>
+ <valueHelp>
+ <format>allow</format>
+ <description>Negotiate IPv6 only if client requests</description>
+ </valueHelp>
+ <valueHelp>
+ <format>prefer</format>
+ <description>Ask client for IPv6 negotiation, do not fail if it rejects</description>
+ </valueHelp>
+ <valueHelp>
+ <format>require</format>
+ <description>Require IPv6 negotiation</description>
+ </valueHelp>
+ <completionHelp>
+ <list>deny allow prefer require</list>
+ </completionHelp>
+ </properties>
+ <defaultValue>deny</defaultValue>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/accel-ppp/radius-additions.xml.i b/interface-definitions/include/accel-ppp/radius-additions.xml.i
index e65088c43..44ec64d7f 100644
--- a/interface-definitions/include/accel-ppp/radius-additions.xml.i
+++ b/interface-definitions/include/accel-ppp/radius-additions.xml.i
@@ -5,7 +5,7 @@
<properties>
<help>Maximum jitter value in seconds to be applied to accounting information interval</help>
<valueHelp>
- <format>1-60</format>
+ <format>u32:1-60</format>
<description>Maximum jitter value in seconds</description>
</valueHelp>
<constraint>
@@ -20,7 +20,7 @@
<properties>
<help>Accounting port</help>
<valueHelp>
- <format>1-65535</format>
+ <format>u32:1-65535</format>
<description>Numeric IP port (default: 1813)</description>
</valueHelp>
<constraint>
@@ -34,7 +34,7 @@
<properties>
<help>Mark server unavailable for &lt;n&gt; seconds on failure</help>
<valueHelp>
- <format>0-600</format>
+ <format>u32:0-600</format>
<description>Fail time penalty</description>
</valueHelp>
<constraint>
@@ -50,7 +50,7 @@
<properties>
<help>Timeout in seconds to wait response from RADIUS server</help>
<valueHelp>
- <format>1-60</format>
+ <format>u32:1-60</format>
<description>Timeout in seconds</description>
</valueHelp>
<constraint>
@@ -64,7 +64,7 @@
<properties>
<help>Timeout for Interim-Update packets, terminate session afterwards (default 3 seconds)</help>
<valueHelp>
- <format>0-60</format>
+ <format>u32:0-60</format>
<description>Timeout in seconds, 0 to keep active</description>
</valueHelp>
<constraint>
@@ -78,7 +78,7 @@
<properties>
<help>Number of tries to send Access-Request/Accounting-Request queries</help>
<valueHelp>
- <format>1-20</format>
+ <format>u32:1-20</format>
<description>Maximum tries</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/include/bfd.xml.i b/interface-definitions/include/bfd.xml.i
new file mode 100644
index 000000000..2bc3664e1
--- /dev/null
+++ b/interface-definitions/include/bfd.xml.i
@@ -0,0 +1,8 @@
+<!-- include start from bfd.xml.i -->
+<leafNode name="bfd">
+ <properties>
+ <help>Enable Bidirectional Forwarding Detection (BFD)</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/dhcp/domain-name.xml.i b/interface-definitions/include/dhcp/domain-name.xml.i
new file mode 100644
index 000000000..410e27d29
--- /dev/null
+++ b/interface-definitions/include/dhcp/domain-name.xml.i
@@ -0,0 +1,11 @@
+<!-- include start from dhcp/domain-name.xml.i -->
+<leafNode name="domain-name">
+ <properties>
+ <help>Client Domain Name</help>
+ <constraint>
+ <validator name="fqdn"/>
+ </constraint>
+ <constraintErrorMessage>Invalid domain name (RFC 1123 section 2).\nMay only contain letters, numbers and .-_</constraintErrorMessage>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/dhcp-server-domain-search.xml.i b/interface-definitions/include/dhcp/domain-search.xml.i
index 4fc55097b..bcc8fcd12 100644
--- a/interface-definitions/include/dhcp-server-domain-search.xml.i
+++ b/interface-definitions/include/dhcp/domain-search.xml.i
@@ -1,4 +1,4 @@
-<!-- include start from dhcp-server-domain-search.xml.i -->
+<!-- include start from dhcp/domain-search.xml.i -->
<leafNode name="domain-search">
<properties>
<help>Client Domain Name search list</help>
diff --git a/interface-definitions/include/dhcp/ntp-server.xml.i b/interface-definitions/include/dhcp/ntp-server.xml.i
new file mode 100644
index 000000000..32d8207e5
--- /dev/null
+++ b/interface-definitions/include/dhcp/ntp-server.xml.i
@@ -0,0 +1,15 @@
+<!-- include start from dhcp/ntp-server.xml.i -->
+ <leafNode name="ntp-server">
+ <properties>
+ <help>IP address of NTP server</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>NTP server IPv4 address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ <multi/>
+ </properties>
+ </leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/dhcp/ping-check.xml.i b/interface-definitions/include/dhcp/ping-check.xml.i
new file mode 100644
index 000000000..a506f68e4
--- /dev/null
+++ b/interface-definitions/include/dhcp/ping-check.xml.i
@@ -0,0 +1,8 @@
+<!-- include start from dhcp/ping-check.xml.i -->
+<leafNode name="ping-check">
+ <properties>
+ <help>Sends ICMP Echo request to the address being assigned</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/generic-description.xml.i b/interface-definitions/include/generic-description.xml.i
new file mode 100644
index 000000000..03fc564e6
--- /dev/null
+++ b/interface-definitions/include/generic-description.xml.i
@@ -0,0 +1,11 @@
+<!-- include start from generic-description.xml.i -->
+<leafNode name="description">
+ <properties>
+ <help>Description</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Description</description>
+ </valueHelp>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/interface/interface-arp-cache-timeout.xml.i b/interface-definitions/include/interface/arp-cache-timeout.xml.i
index b269fecd8..70e69e14a 100644
--- a/interface-definitions/include/interface/interface-arp-cache-timeout.xml.i
+++ b/interface-definitions/include/interface/arp-cache-timeout.xml.i
@@ -3,7 +3,7 @@
<properties>
<help>ARP cache entry timeout in seconds</help>
<valueHelp>
- <format>1-86400</format>
+ <format>u32:1-86400</format>
<description>ARP cache entry timout in seconds (default 30)</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/include/interface/interface-description.xml.i b/interface-definitions/include/interface/description.xml.i
index d618b50d2..d618b50d2 100644
--- a/interface-definitions/include/interface/interface-description.xml.i
+++ b/interface-definitions/include/interface/description.xml.i
diff --git a/interface-definitions/include/interface/dhcpv6-options.xml.i b/interface-definitions/include/interface/dhcpv6-options.xml.i
index a569659a4..a0cac34f1 100644
--- a/interface-definitions/include/interface/dhcpv6-options.xml.i
+++ b/interface-definitions/include/interface/dhcpv6-options.xml.i
@@ -38,7 +38,7 @@
<properties>
<help>Request IPv6 prefix length from peer</help>
<valueHelp>
- <format>32-64</format>
+ <format>u32:32-64</format>
<description>Length of delegated prefix</description>
</valueHelp>
<constraint>
@@ -71,7 +71,7 @@
<properties>
<help>Interface site-Level aggregator (SLA)</help>
<valueHelp>
- <format>0-128</format>
+ <format>u32:0-128</format>
<description>Decimal integer which fits in the length of SLA IDs</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/include/interface/interface-dial-on-demand.xml.i b/interface-definitions/include/interface/dial-on-demand.xml.i
index 66edd9678..66edd9678 100644
--- a/interface-definitions/include/interface/interface-dial-on-demand.xml.i
+++ b/interface-definitions/include/interface/dial-on-demand.xml.i
diff --git a/interface-definitions/include/interface/interface-disable-arp-filter.xml.i b/interface-definitions/include/interface/disable-arp-filter.xml.i
index 49cddaf76..49cddaf76 100644
--- a/interface-definitions/include/interface/interface-disable-arp-filter.xml.i
+++ b/interface-definitions/include/interface/disable-arp-filter.xml.i
diff --git a/interface-definitions/include/interface/interface-disable-forwarding.xml.i b/interface-definitions/include/interface/disable-forwarding.xml.i
index cb6ef0475..cee9d2a8d 100644
--- a/interface-definitions/include/interface/interface-disable-forwarding.xml.i
+++ b/interface-definitions/include/interface/disable-forwarding.xml.i
@@ -1,7 +1,7 @@
<!-- include start from interface/interface-disable-forwarding.xml.i -->
<leafNode name="disable-forwarding">
<properties>
- <help>Disable IPv4 forwarding on this interface</help>
+ <help>Disable IP forwarding on this interface</help>
<valueless/>
</properties>
</leafNode>
diff --git a/interface-definitions/include/interface/interface-disable-link-detect.xml.i b/interface-definitions/include/interface/disable-link-detect.xml.i
index c528885b2..c528885b2 100644
--- a/interface-definitions/include/interface/interface-disable-link-detect.xml.i
+++ b/interface-definitions/include/interface/disable-link-detect.xml.i
diff --git a/interface-definitions/include/interface/interface-disable.xml.i b/interface-definitions/include/interface/disable.xml.i
index d90e6395b..d90e6395b 100644
--- a/interface-definitions/include/interface/interface-disable.xml.i
+++ b/interface-definitions/include/interface/disable.xml.i
diff --git a/interface-definitions/include/interface/interface-eapol.xml.i b/interface-definitions/include/interface/eapol.xml.i
index 92b7a3f35..92b7a3f35 100644
--- a/interface-definitions/include/interface/interface-eapol.xml.i
+++ b/interface-definitions/include/interface/eapol.xml.i
diff --git a/interface-definitions/include/interface/interface-enable-arp-accept.xml.i b/interface-definitions/include/interface/enable-arp-accept.xml.i
index 7c5d51857..7c5d51857 100644
--- a/interface-definitions/include/interface/interface-enable-arp-accept.xml.i
+++ b/interface-definitions/include/interface/enable-arp-accept.xml.i
diff --git a/interface-definitions/include/interface/interface-enable-arp-announce.xml.i b/interface-definitions/include/interface/enable-arp-announce.xml.i
index f44599c54..f44599c54 100644
--- a/interface-definitions/include/interface/interface-enable-arp-announce.xml.i
+++ b/interface-definitions/include/interface/enable-arp-announce.xml.i
diff --git a/interface-definitions/include/interface/interface-enable-arp-ignore.xml.i b/interface-definitions/include/interface/enable-arp-ignore.xml.i
index 3ea39613c..3ea39613c 100644
--- a/interface-definitions/include/interface/interface-enable-arp-ignore.xml.i
+++ b/interface-definitions/include/interface/enable-arp-ignore.xml.i
diff --git a/interface-definitions/include/interface/interface-enable-proxy-arp.xml.i b/interface-definitions/include/interface/enable-proxy-arp.xml.i
index dbdeeb7a7..dbdeeb7a7 100644
--- a/interface-definitions/include/interface/interface-enable-proxy-arp.xml.i
+++ b/interface-definitions/include/interface/enable-proxy-arp.xml.i
diff --git a/interface-definitions/include/interface/interface-hw-id.xml.i b/interface-definitions/include/interface/hw-id.xml.i
index 989cd9cb7..989cd9cb7 100644
--- a/interface-definitions/include/interface/interface-hw-id.xml.i
+++ b/interface-definitions/include/interface/hw-id.xml.i
diff --git a/interface-definitions/include/interface/interface-ipv4-options.xml.i b/interface-definitions/include/interface/interface-ipv4-options.xml.i
deleted file mode 100644
index c2d0677b7..000000000
--- a/interface-definitions/include/interface/interface-ipv4-options.xml.i
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- 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/ipv4-options.xml.i b/interface-definitions/include/interface/ipv4-options.xml.i
new file mode 100644
index 000000000..5a45487c5
--- /dev/null
+++ b/interface-definitions/include/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/arp-cache-timeout.xml.i>
+ #include <include/interface/disable-arp-filter.xml.i>
+ #include <include/interface/disable-forwarding.xml.i>
+ #include <include/interface/enable-arp-accept.xml.i>
+ #include <include/interface/enable-arp-announce.xml.i>
+ #include <include/interface/enable-arp-ignore.xml.i>
+ #include <include/interface/enable-proxy-arp.xml.i>
+ #include <include/interface/proxy-arp-pvlan.xml.i>
+ #include <include/interface/source-validation.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
deleted file mode 100644
index 4adb77d1b..000000000
--- a/interface-definitions/include/interface/ipv6-disable-forwarding.xml.i
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- 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
index 2b5ec0281..babe6d20f 100644
--- a/interface-definitions/include/interface/ipv6-dup-addr-detect-transmits.xml.i
+++ b/interface-definitions/include/interface/ipv6-dup-addr-detect-transmits.xml.i
@@ -3,12 +3,12 @@
<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>
+ <format>u32:0</format>
+ <description>Disable Duplicate Address Dectection (DAD)</description>
</valueHelp>
<valueHelp>
- <format>0</format>
- <description>Disable Duplicate Address Dectection (DAD)</description>
+ <format>u32:1-n</format>
+ <description>Number of NS messages to send while performing DAD</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--non-negative"/>
diff --git a/interface-definitions/include/interface/interface-ipv6-options.xml.i b/interface-definitions/include/interface/ipv6-options.xml.i
index dcd5a8710..a5b40c789 100644
--- a/interface-definitions/include/interface/interface-ipv6-options.xml.i
+++ b/interface-definitions/include/interface/ipv6-options.xml.i
@@ -4,8 +4,8 @@
<help>IPv6 routing parameters</help>
</properties>
<children>
+ #include <include/interface/disable-forwarding.xml.i>
#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>
diff --git a/interface-definitions/include/interface/interface-mac.xml.i b/interface-definitions/include/interface/mac.xml.i
index d7107ad23..d7107ad23 100644
--- a/interface-definitions/include/interface/interface-mac.xml.i
+++ b/interface-definitions/include/interface/mac.xml.i
diff --git a/interface-definitions/include/interface/interface-mirror.xml.i b/interface-definitions/include/interface/mirror.xml.i
index b3b45fb43..b3b45fb43 100644
--- a/interface-definitions/include/interface/interface-mirror.xml.i
+++ b/interface-definitions/include/interface/mirror.xml.i
diff --git a/interface-definitions/include/interface/interface-mtu-1200-16000.xml.i b/interface-definitions/include/interface/mtu-1200-16000.xml.i
index 3241ba912..730c6e00d 100644
--- a/interface-definitions/include/interface/interface-mtu-1200-16000.xml.i
+++ b/interface-definitions/include/interface/mtu-1200-16000.xml.i
@@ -3,7 +3,7 @@
<properties>
<help>Maximum Transmission Unit (MTU)</help>
<valueHelp>
- <format>1200-16000</format>
+ <format>u32:1200-16000</format>
<description>Maximum Transmission Unit in byte</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/include/interface/interface-mtu-1450-16000.xml.i b/interface-definitions/include/interface/mtu-1450-16000.xml.i
index 0a35bbbaa..96cfa7054 100644
--- a/interface-definitions/include/interface/interface-mtu-1450-16000.xml.i
+++ b/interface-definitions/include/interface/mtu-1450-16000.xml.i
@@ -3,7 +3,7 @@
<properties>
<help>Maximum Transmission Unit (MTU)</help>
<valueHelp>
- <format>1450-16000</format>
+ <format>u32:1450-16000</format>
<description>Maximum Transmission Unit in byte</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/include/interface/interface-mtu-64-8024.xml.i b/interface-definitions/include/interface/mtu-64-8024.xml.i
index f75de02ba..3719ece24 100644
--- a/interface-definitions/include/interface/interface-mtu-64-8024.xml.i
+++ b/interface-definitions/include/interface/mtu-64-8024.xml.i
@@ -3,7 +3,7 @@
<properties>
<help>Maximum Transmission Unit (MTU)</help>
<valueHelp>
- <format>64-8024</format>
+ <format>u32:64-8024</format>
<description>Maximum Transmission Unit in byte</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/include/interface/interface-mtu-68-1500.xml.i b/interface-definitions/include/interface/mtu-68-1500.xml.i
index 9e6fe8760..d74cdfa9c 100644
--- a/interface-definitions/include/interface/interface-mtu-68-1500.xml.i
+++ b/interface-definitions/include/interface/mtu-68-1500.xml.i
@@ -3,7 +3,7 @@
<properties>
<help>Maximum Transmission Unit (MTU)</help>
<valueHelp>
- <format>68-1500</format>
+ <format>u32:68-1500</format>
<description>Maximum Transmission Unit in byte</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/include/interface/interface-mtu-68-16000.xml.i b/interface-definitions/include/interface/mtu-68-16000.xml.i
index 83af7bbd4..41340fbf3 100644
--- a/interface-definitions/include/interface/interface-mtu-68-16000.xml.i
+++ b/interface-definitions/include/interface/mtu-68-16000.xml.i
@@ -3,7 +3,7 @@
<properties>
<help>Maximum Transmission Unit (MTU)</help>
<valueHelp>
- <format>68-16000</format>
+ <format>u32:68-16000</format>
<description>Maximum Transmission Unit in byte</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/include/interface/interface-parameters-flowlabel.xml.i b/interface-definitions/include/interface/parameters-flowlabel.xml.i
index f5e868a64..a89bb13f1 100644
--- a/interface-definitions/include/interface/interface-parameters-flowlabel.xml.i
+++ b/interface-definitions/include/interface/parameters-flowlabel.xml.i
@@ -2,9 +2,16 @@
<leafNode name="flowlabel">
<properties>
<help>Specifies the flow label to use in outgoing packets</help>
+ <completionHelp>
+ <list>inherit</list>
+ </completionHelp>
<valueHelp>
- <format>0x0-0x0FFFFF</format>
- <description>Tunnel key, 'inherit' or hex value</description>
+ <format>inherit</format>
+ <description>Copy field from original header</description>
+ </valueHelp>
+ <valueHelp>
+ <format>0x0-0x0fffff</format>
+ <description>Tunnel key, or hex value</description>
</valueHelp>
<constraint>
<regex>^((0x){0,1}(0?[0-9A-Fa-f]{1,5})|inherit)$</regex>
diff --git a/interface-definitions/include/interface/interface-parameters-key.xml.i b/interface-definitions/include/interface/parameters-key.xml.i
index 1b1d67174..1b1d67174 100644
--- a/interface-definitions/include/interface/interface-parameters-key.xml.i
+++ b/interface-definitions/include/interface/parameters-key.xml.i
diff --git a/interface-definitions/include/interface/interface-parameters-tos.xml.i b/interface-definitions/include/interface/parameters-tos.xml.i
index 83b4e0671..1b342a43e 100644
--- a/interface-definitions/include/interface/interface-parameters-tos.xml.i
+++ b/interface-definitions/include/interface/parameters-tos.xml.i
@@ -3,7 +3,7 @@
<properties>
<help>Specifies TOS value to use in outgoing packets</help>
<valueHelp>
- <format>0-99</format>
+ <format>u32:0-99</format>
<description>Type of Service (TOS)</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/include/interface/interface-parameters-ttl.xml.i b/interface-definitions/include/interface/parameters-ttl.xml.i
index 21a5e5cd9..8ef8c9149 100644
--- a/interface-definitions/include/interface/interface-parameters-ttl.xml.i
+++ b/interface-definitions/include/interface/parameters-ttl.xml.i
@@ -3,11 +3,11 @@
<properties>
<help>Specifies TTL value to use in outgoing packets</help>
<valueHelp>
- <format>0</format>
- <description>Copy value from original IP header</description>
+ <format>u32:0</format>
+ <description>Inherit - copy value from original IP header</description>
</valueHelp>
<valueHelp>
- <format>1-255</format>
+ <format>u32:1-255</format>
<description>Time to Live</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/include/interface/interface-proxy-arp-pvlan.xml.i b/interface-definitions/include/interface/proxy-arp-pvlan.xml.i
index 153dfc072..153dfc072 100644
--- a/interface-definitions/include/interface/interface-proxy-arp-pvlan.xml.i
+++ b/interface-definitions/include/interface/proxy-arp-pvlan.xml.i
diff --git a/interface-definitions/include/interface/interface-source-validation.xml.i b/interface-definitions/include/interface/source-validation.xml.i
index 70914f2e9..70914f2e9 100644
--- a/interface-definitions/include/interface/interface-source-validation.xml.i
+++ b/interface-definitions/include/interface/source-validation.xml.i
diff --git a/interface-definitions/include/interface/vif-s.xml.i b/interface-definitions/include/interface/vif-s.xml.i
index 85885c153..7a41bb242 100644
--- a/interface-definitions/include/interface/vif-s.xml.i
+++ b/interface-definitions/include/interface/vif-s.xml.i
@@ -2,6 +2,10 @@
<tagNode name="vif-s">
<properties>
<help>QinQ TAG-S Virtual Local Area Network (VLAN) ID</help>
+ <valueHelp>
+ <format>u32:0-4094</format>
+ <description>QinQ Virtual Local Area Network (VLAN) ID</description>
+ </valueHelp>
<constraint>
<validator name="numeric" argument="--range 0-4094"/>
</constraint>
@@ -9,11 +13,11 @@
</properties>
<children>
#include <include/interface/address-ipv4-ipv6-dhcp.xml.i>
- #include <include/interface/interface-description.xml.i>
+ #include <include/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/disable-link-detect.xml.i>
+ #include <include/interface/disable.xml.i>
<leafNode name="protocol">
<properties>
<help>Protocol used for service VLAN (default: 802.1ad)</help>
@@ -35,10 +39,10 @@
</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>
+ #include <include/interface/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
+ #include <include/interface/mac.xml.i>
+ #include <include/interface/mtu-68-16000.xml.i>
<tagNode name="vif-c">
<properties>
<help>QinQ TAG-C Virtual Local Area Network (VLAN) ID</help>
@@ -49,19 +53,19 @@
</properties>
<children>
#include <include/interface/address-ipv4-ipv6-dhcp.xml.i>
- #include <include/interface/interface-description.xml.i>
+ #include <include/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>
+ #include <include/interface/disable-link-detect.xml.i>
+ #include <include/interface/disable.xml.i>
+ #include <include/interface/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
+ #include <include/interface/mac.xml.i>
+ #include <include/interface/mtu-68-16000.xml.i>
+ #include <include/interface/vrf.xml.i>
</children>
</tagNode>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/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
index 4e7aeb0f9..fdf09c5f9 100644
--- a/interface-definitions/include/interface/vif.xml.i
+++ b/interface-definitions/include/interface/vif.xml.i
@@ -3,7 +3,7 @@
<properties>
<help>Virtual Local Area Network (VLAN) ID</help>
<valueHelp>
- <format>0-4094</format>
+ <format>u32:0-4094</format>
<description>Virtual Local Area Network (VLAN) ID</description>
</valueHelp>
<constraint>
@@ -13,12 +13,12 @@
</properties>
<children>
#include <include/interface/address-ipv4-ipv6-dhcp.xml.i>
- #include <include/interface/interface-description.xml.i>
+ #include <include/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>
+ #include <include/interface/disable-link-detect.xml.i>
+ #include <include/interface/disable.xml.i>
+ #include <include/interface/vrf.xml.i>
<leafNode name="egress-qos">
<properties>
<help>VLAN egress QoS</help>
@@ -43,10 +43,10 @@
<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>
+ #include <include/interface/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
+ #include <include/interface/mac.xml.i>
+ #include <include/interface/mtu-68-16000.xml.i>
</children>
</tagNode>
<!-- include end -->
diff --git a/interface-definitions/include/interface/interface-vrf.xml.i b/interface-definitions/include/interface/vrf.xml.i
index ef6ca1241..ef6ca1241 100644
--- a/interface-definitions/include/interface/interface-vrf.xml.i
+++ b/interface-definitions/include/interface/vrf.xml.i
diff --git a/interface-definitions/include/isis-redistribute-ipv4.xml.i b/interface-definitions/include/isis-redistribute-ipv4.xml.i
deleted file mode 100644
index 774086a81..000000000
--- a/interface-definitions/include/isis-redistribute-ipv4.xml.i
+++ /dev/null
@@ -1,56 +0,0 @@
-<!-- include start from isis-redistribute-ipv4.xml.i -->
-<node name="level-1">
- <properties>
- <help>Redistribute into level-1</help>
- </properties>
- <children>
- <leafNode name="metric">
- <properties>
- <help>Metric for redistributed routes</help>
- <valueHelp>
- <format>u32:0-16777215</format>
- <description>ISIS default metric</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-16777215"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="route-map">
- <properties>
- <help>Route map reference</help>
- <completionHelp>
- <path>policy route-map</path>
- </completionHelp>
- </properties>
- </leafNode>
- </children>
-</node>
-<node name="level-2">
- <properties>
- <help>Redistribute into level-2</help>
- </properties>
- <children>
- <leafNode name="metric">
- <properties>
- <help>Metric for redistributed routes</help>
- <valueHelp>
- <format>u32:0-16777215</format>
- <description>ISIS default metric</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-16777215"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="route-map">
- <properties>
- <help>Route map reference</help>
- <completionHelp>
- <path>policy route-map</path>
- </completionHelp>
- </properties>
- </leafNode>
- </children>
-</node>
-<!-- include end -->
diff --git a/interface-definitions/include/isis/default-information-level.xml.i b/interface-definitions/include/isis/default-information-level.xml.i
new file mode 100644
index 000000000..5ade72a4b
--- /dev/null
+++ b/interface-definitions/include/isis/default-information-level.xml.i
@@ -0,0 +1,32 @@
+<!-- include start from isis/default-information-level.xml.i -->
+<node name="level-1">
+ <properties>
+ <help>Distribute default route into level-1</help>
+ </properties>
+ <children>
+ <leafNode name="always">
+ <properties>
+ <help>Always advertise default route</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ #include <include/isis/metric.xml.i>
+ #include <include/route-map.xml.i>
+ </children>
+</node>
+<node name="level-2">
+ <properties>
+ <help>Distribute default route into level-2</help>
+ </properties>
+ <children>
+ <leafNode name="always">
+ <properties>
+ <help>Always advertise default route</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ #include <include/isis/metric.xml.i>
+ #include <include/route-map.xml.i>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/isis/metric.xml.i b/interface-definitions/include/isis/metric.xml.i
new file mode 100644
index 000000000..30e2cdc10
--- /dev/null
+++ b/interface-definitions/include/isis/metric.xml.i
@@ -0,0 +1,14 @@
+<!-- include start from isis/metric.xml.i -->
+<leafNode name="metric">
+ <properties>
+ <help>Set default metric for circuit</help>
+ <valueHelp>
+ <format>u32:0-16777215</format>
+ <description>Default metric value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-16777215"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/isis/passive.xml.i b/interface-definitions/include/isis/passive.xml.i
new file mode 100644
index 000000000..6d05f8cc7
--- /dev/null
+++ b/interface-definitions/include/isis/passive.xml.i
@@ -0,0 +1,8 @@
+<!-- include start from isis/passive.xml.i -->
+<leafNode name="passive">
+ <properties>
+ <help>Configure passive mode for interface</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/isis/protocol-common-config.xml.i b/interface-definitions/include/isis/protocol-common-config.xml.i
new file mode 100644
index 000000000..84e2f7bb2
--- /dev/null
+++ b/interface-definitions/include/isis/protocol-common-config.xml.i
@@ -0,0 +1,769 @@
+<!-- include start from isis/protocol-common-config.xml.i -->
+<node name="area-password">
+ <properties>
+ <help>Configure the authentication password for an area</help>
+ </properties>
+ <children>
+ <leafNode name="plaintext-password">
+ <properties>
+ <help>Plain-text authentication type</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Level-wide password</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="md5">
+ <properties>
+ <help>MD5 authentication type</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Level-wide password</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<node name="default-information">
+ <properties>
+ <help>Control distribution of default information</help>
+ </properties>
+ <children>
+ <node name="originate">
+ <properties>
+ <help>Distribute a default route</help>
+ </properties>
+ <children>
+ <node name="ipv4">
+ <properties>
+ <help>Distribute default route for IPv4</help>
+ </properties>
+ <children>
+ #include <include/isis/default-information-level.xml.i>
+ </children>
+ </node>
+ <node name="ipv6">
+ <properties>
+ <help>Distribute default route for IPv6</help>
+ </properties>
+ <children>
+ #include <include/isis/default-information-level.xml.i>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+</node>
+<node name="domain-password">
+ <properties>
+ <help>Set the authentication password for a routing domain</help>
+ </properties>
+ <children>
+ <leafNode name="plaintext-password">
+ <properties>
+ <help>Plain-text authentication type</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Level-wide password</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="md5">
+ <properties>
+ <help>MD5 authentication type</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Level-wide password</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<leafNode name="dynamic-hostname">
+ <properties>
+ <help>Dynamic hostname for IS-IS</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<leafNode name="level">
+ <properties>
+ <help>IS-IS level number</help>
+ <completionHelp>
+ <list>level-1 level-1-2 level-2</list>
+ </completionHelp>
+ <valueHelp>
+ <format>level-1</format>
+ <description>Act as a station router</description>
+ </valueHelp>
+ <valueHelp>
+ <format>level-1-2</format>
+ <description>Act as both a station and an area router</description>
+ </valueHelp>
+ <valueHelp>
+ <format>level-2</format>
+ <description>Act as an area router</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(level-1|level-1-2|level-2)$</regex>
+ </constraint>
+ </properties>
+</leafNode>
+<leafNode name="log-adjacency-changes">
+ <properties>
+ <help>Log adjacency state changes</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<leafNode name="lsp-gen-interval">
+ <properties>
+ <help>Minimum interval between regenerating same LSP</help>
+ <valueHelp>
+ <format>u32:1-120</format>
+ <description>Minimum interval in seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-120"/>
+ </constraint>
+ </properties>
+</leafNode>
+<leafNode name="lsp-mtu">
+ <properties>
+ <help>Configure the maximum size of generated LSPs</help>
+ <valueHelp>
+ <format>u32:128-4352</format>
+ <description>Maximum size of generated LSPs</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 128-4352"/>
+ </constraint>
+ </properties>
+ <defaultValue>1497</defaultValue>
+</leafNode>
+<leafNode name="lsp-refresh-interval">
+ <properties>
+ <help>LSP refresh interval</help>
+ <valueHelp>
+ <format>u32:1-65235</format>
+ <description>LSP refresh interval in seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65235"/>
+ </constraint>
+ </properties>
+</leafNode>
+<leafNode name="max-lsp-lifetime">
+ <properties>
+ <help>Maximum LSP lifetime</help>
+ <valueHelp>
+ <format>u32:350-65535</format>
+ <description>LSP lifetime in seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+</leafNode>
+<leafNode name="metric-style">
+ <properties>
+ <help>Use old-style (ISO 10589) or new-style packet formats</help>
+ <completionHelp>
+ <list>narrow transition wide</list>
+ </completionHelp>
+ <valueHelp>
+ <format>narrow</format>
+ <description>Use old style of TLVs with narrow metric</description>
+ </valueHelp>
+ <valueHelp>
+ <format>transition</format>
+ <description>Send and accept both styles of TLVs during transition</description>
+ </valueHelp>
+ <valueHelp>
+ <format>wide</format>
+ <description>Use new style of TLVs to carry wider metric</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(narrow|transition|wide)$</regex>
+ </constraint>
+ </properties>
+</leafNode>
+<leafNode name="net">
+ <properties>
+ <help>A Network Entity Title for this process (ISO only)</help>
+ <valueHelp>
+ <format>XX.XXXX. ... .XXX.XX</format>
+ <description>Network entity title (NET)</description>
+ </valueHelp>
+ <constraint>
+ <regex>[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){3,9}\.[a-fA-F0-9]{2}</regex>
+ </constraint>
+ </properties>
+</leafNode>
+<leafNode name="purge-originator">
+ <properties>
+ <help>Use the RFC 6232 purge-originator</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<node name="traffic-engineering">
+ <properties>
+ <help>Show IS-IS neighbor adjacencies</help>
+ </properties>
+ <children>
+ <leafNode name="enable">
+ <properties>
+ <help>Enable MPLS traffic engineering extensions</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+<!--
+ <node name="inter-as">
+ <properties>
+ <help>MPLS traffic engineering inter-AS support</help>
+ </properties>
+ <children>
+ <leafNode name="level-1">
+ <properties>
+ <help>Area native mode self originate inter-AS LSP with L1 only flooding scope</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="level-1-2">
+ <properties>
+ <help>Area native mode self originate inter-AS LSP with L1 and L2 flooding scope</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="level-2">
+ <properties>
+ <help>Area native mode self originate inter-AS LSP with L2 only flooding scope</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="inter-as">
+ <properties>
+ <help>MPLS traffic engineering inter-AS support</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+-->
+ <leafNode name="address">
+ <properties>
+ <help>MPLS traffic engineering router ID</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<node name="segment-routing">
+ <properties>
+ <help>Segment-Routing (SPRING) settings</help>
+ </properties>
+ <children>
+ <leafNode name="enable">
+ <properties>
+ <help>Enable segment-routing functionality</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="global-block">
+ <properties>
+ <help>Global block label range</help>
+ </properties>
+ <children>
+ <leafNode name="low-label-value">
+ <properties>
+ <help>The lower bound of the global block</help>
+ <valueHelp>
+ <format>u32:16-1048575</format>
+ <description>MPLS label value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 16-1048575"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="high-label-value">
+ <properties>
+ <help>The upper bound of the global block</help>
+ <valueHelp>
+ <format>u32:16-1048575</format>
+ <description>MPLS label value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 16-1048575"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+<!--
+ <node name="local-block">
+ <properties>
+ <help>Local Block label range</help>
+ </properties>
+ <children>
+ <leafNode name="low-label-value">
+ <properties>
+ <help>The lower bound of the local block</help>
+ <valueHelp>
+ <format>u32:16-1048575</format>
+ <description>MPLS label value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument=" range 16-1048575"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="high-label-value">
+ <properties>
+ <help>The upper bound of the local block</help>
+ <valueHelp>
+ <format>u32:16-1048575</format>
+ <description>MPLS label value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument=" range 16-1048575"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+-->
+ <leafNode name="maximum-label-depth">
+ <properties>
+ <help>Maximum MPLS labels allowed for this router</help>
+ <valueHelp>
+ <format>u32:1-16</format>
+ <description>MPLS label depth</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-16"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <tagNode name="prefix">
+ <properties>
+ <help>Static IPv4/IPv6 prefix segment/label mapping</help>
+ <valueHelp>
+ <format>ipv4net</format>
+ <description>IPv4 prefix segment</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6net</format>
+ <description>IPv6 prefix segment</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-prefix"/>
+ <validator name="ipv6-prefix"/>
+ </constraint>
+ </properties>
+ <children>
+ <node name="absolute">
+ <properties>
+ <help>Specify the absolute value of prefix segment/label ID</help>
+ </properties>
+ <children>
+ <leafNode name="value">
+ <properties>
+ <help>Specify the absolute value of prefix segment/label ID</help>
+ <valueHelp>
+ <format>u32:16-1048575</format>
+ <description>The absolute segment/label ID value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 16-1048575"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="explicit-null">
+ <properties>
+ <help>Request upstream neighbor to replace segment/label with explicit null label</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="no-php-flag">
+ <properties>
+ <help>Do not request penultimate hop popping for segment/label</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="index">
+ <properties>
+ <help>Specify the index value of prefix segment/label ID</help>
+ </properties>
+ <children>
+ <leafNode name="value">
+ <properties>
+ <help>Specify the index value of prefix segment/label ID</help>
+ <valueHelp>
+ <format>u32:0-65535</format>
+ <description>The index segment/label ID value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="explicit-null">
+ <properties>
+ <help>Request upstream neighbor to replace segment/label with explicit null label</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="no-php-flag">
+ <properties>
+ <help>Do not request penultimate hop popping for segment/label</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </tagNode>
+ </children>
+</node>
+<node name="redistribute">
+ <properties>
+ <help>Redistribute information from another routing protocol</help>
+ </properties>
+ <children>
+ <node name="ipv4">
+ <properties>
+ <help>Redistribute IPv4 routes</help>
+ </properties>
+ <children>
+ <node name="bgp">
+ <properties>
+ <help>Border Gateway Protocol (BGP)</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-level-1-2.xml.i>
+ </children>
+ </node>
+ <node name="connected">
+ <properties>
+ <help>Redistribute connected routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-level-1-2.xml.i>
+ </children>
+ </node>
+ <node name="kernel">
+ <properties>
+ <help>Redistribute kernel routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-level-1-2.xml.i>
+ </children>
+ </node>
+ <node name="ospf">
+ <properties>
+ <help>Redistribute OSPF routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-level-1-2.xml.i>
+ </children>
+ </node>
+ <node name="rip">
+ <properties>
+ <help>Redistribute RIP routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-level-1-2.xml.i>
+ </children>
+ </node>
+ <node name="static">
+ <properties>
+ <help>Redistribute static routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-level-1-2.xml.i>
+ </children>
+ </node>
+ </children>
+ </node>
+ <node name="ipv6">
+ <properties>
+ <help>Redistribute IPv6 routes</help>
+ </properties>
+ <children>
+ <node name="bgp">
+ <properties>
+ <help>Redistribute BGP routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-level-1-2.xml.i>
+ </children>
+ </node>
+ <node name="connected">
+ <properties>
+ <help>Redistribute connected routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-level-1-2.xml.i>
+ </children>
+ </node>
+ <node name="kernel">
+ <properties>
+ <help>Redistribute kernel routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-level-1-2.xml.i>
+ </children>
+ </node>
+ <node name="ospf6">
+ <properties>
+ <help>Redistribute OSPFv3 routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-level-1-2.xml.i>
+ </children>
+ </node>
+ <node name="ripng">
+ <properties>
+ <help>Redistribute RIPng routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-level-1-2.xml.i>
+ </children>
+ </node>
+ <node name="static">
+ <properties>
+ <help>Redistribute static routes into IS-IS</help>
+ </properties>
+ <children>
+ #include <include/isis/redistribute-level-1-2.xml.i>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+</node>
+<leafNode name="set-attached-bit">
+ <properties>
+ <help>Set attached bit to identify as L1/L2 router for inter-area traffic</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<leafNode name="set-overload-bit">
+ <properties>
+ <help>Set overload bit to avoid any transit traffic</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<node name="spf-delay-ietf">
+ <properties>
+ <help>IETF SPF delay algorithm</help>
+ </properties>
+ <children>
+ <leafNode name="init-delay">
+ <properties>
+ <help>Delay used while in QUIET state</help>
+ <valueHelp>
+ <format>u32:0-60000</format>
+ <description>Delay used while in QUIET state (in ms)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-60000"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="short-delay">
+ <properties>
+ <help>Delay used while in SHORT_WAIT state</help>
+ <valueHelp>
+ <format>u32:0-60000</format>
+ <description>Delay used while in SHORT_WAIT state (in ms)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-60000"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="long-delay">
+ <properties>
+ <help>Delay used while in LONG_WAIT</help>
+ <valueHelp>
+ <format>u32:0-60000</format>
+ <description>Delay used while in LONG_WAIT state in ms</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-60000"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="holddown">
+ <properties>
+ <help>Time with no received IGP events before considering IGP stable</help>
+ <valueHelp>
+ <format>u32:0-60000</format>
+ <description>Time with no received IGP events before considering IGP stable in ms</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-60000"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="time-to-learn">
+ <properties>
+ <help>Maximum duration needed to learn all the events related to a single failure</help>
+ <valueHelp>
+ <format>u32:0-60000</format>
+ <description>Maximum duration needed to learn all the events related to a single failure in ms</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-60000"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<leafNode name="spf-interval">
+ <properties>
+ <help>Minimum interval between SPF calculations</help>
+ <valueHelp>
+ <format>u32:1-120</format>
+ <description>Interval in seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-120"/>
+ </constraint>
+ </properties>
+</leafNode>
+<tagNode name="interface">
+ <properties>
+ <help>Interface params</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
+ </properties>
+ <children>
+ #include <include/bfd.xml.i>
+ <leafNode name="circuit-type">
+ <properties>
+ <help>Configure circuit type for interface</help>
+ <completionHelp>
+ <list>level-1 level-1-2 level-2-only</list>
+ </completionHelp>
+ <valueHelp>
+ <format>level-1</format>
+ <description>Level-1 only adjacencies are formed</description>
+ </valueHelp>
+ <valueHelp>
+ <format>level-1-2</format>
+ <description>Level-1-2 adjacencies are formed</description>
+ </valueHelp>
+ <valueHelp>
+ <format>level-2-only</format>
+ <description>Level-2 only adjacencies are formed</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(level-1|level-1-2|level-2-only)$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="hello-padding">
+ <properties>
+ <help>Add padding to IS-IS hello packets</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="hello-interval">
+ <properties>
+ <help>Set Hello interval</help>
+ <valueHelp>
+ <format>u32:1-600</format>
+ <description>Set Hello interval</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-600"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="hello-multiplier">
+ <properties>
+ <help>Set Hello interval</help>
+ <valueHelp>
+ <format>u32:2-100</format>
+ <description>Set multiplier for Hello holding time</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 2-100"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ #include <include/isis/metric.xml.i>
+ <node name="network">
+ <properties>
+ <help>Set network type</help>
+ </properties>
+ <children>
+ <leafNode name="point-to-point">
+ <properties>
+ <help>point-to-point network type</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ #include <include/isis/passive.xml.i>
+ <node name="password">
+ <properties>
+ <help>Configure the authentication password for a circuit</help>
+ </properties>
+ <children>
+ <leafNode name="plaintext-password">
+ <properties>
+ <help>Plain-text authentication type</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Circuit password</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="priority">
+ <properties>
+ <help>Set priority for Designated Router election</help>
+ <valueHelp>
+ <format>u32:0-127</format>
+ <description>Priority value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-127"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="psnp-interval">
+ <properties>
+ <help>Set PSNP interval</help>
+ <valueHelp>
+ <format>u32:0-127</format>
+ <description>PSNP interval in seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-127"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="no-three-way-handshake">
+ <properties>
+ <help>Disable three-way handshake</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</tagNode>
+#include <include/route-map.xml.i>
+<!-- include end --> \ No newline at end of file
diff --git a/interface-definitions/include/isis/redistribute-level-1-2.xml.i b/interface-definitions/include/isis/redistribute-level-1-2.xml.i
new file mode 100644
index 000000000..abb85274f
--- /dev/null
+++ b/interface-definitions/include/isis/redistribute-level-1-2.xml.i
@@ -0,0 +1,20 @@
+<!-- include start from isis/redistribute-level-1-2.xml.i -->
+<node name="level-1">
+ <properties>
+ <help>Redistribute into level-1</help>
+ </properties>
+ <children>
+ #include <include/isis/metric.xml.i>
+ #include <include/route-map.xml.i>
+ </children>
+</node>
+<node name="level-2">
+ <properties>
+ <help>Redistribute into level-2</help>
+ </properties>
+ <children>
+ #include <include/isis/metric.xml.i>
+ #include <include/route-map.xml.i>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/accel-ppp/name-server.xml.i b/interface-definitions/include/name-server-ipv4-ipv6.xml.i
index e744b384f..14973234b 100644
--- a/interface-definitions/include/accel-ppp/name-server.xml.i
+++ b/interface-definitions/include/name-server-ipv4-ipv6.xml.i
@@ -1,7 +1,7 @@
-<!-- include start from accel-ppp/name-server.xml.i -->
+<!-- include start from name-server-ipv4-ipv6.xml.i -->
<leafNode name="name-server">
<properties>
- <help>Domain Name Server (DNS) propagated to client</help>
+ <help>Domain Name Servers (DNS) addresses</help>
<valueHelp>
<format>ipv4</format>
<description>Domain Name Server (DNS) IPv4 address</description>
diff --git a/interface-definitions/include/name-server-ipv4.xml.i b/interface-definitions/include/name-server-ipv4.xml.i
new file mode 100644
index 000000000..0cf884e03
--- /dev/null
+++ b/interface-definitions/include/name-server-ipv4.xml.i
@@ -0,0 +1,15 @@
+<!-- include start from name-server-ipv4.xml.i -->
+<leafNode name="name-server">
+ <properties>
+ <help>Domain Name Servers (DNS) addresses</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>Domain Name Server (DNS) IPv4 address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ <multi/>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/name-server-ipv6.xml.i b/interface-definitions/include/name-server-ipv6.xml.i
new file mode 100644
index 000000000..d4517c4c6
--- /dev/null
+++ b/interface-definitions/include/name-server-ipv6.xml.i
@@ -0,0 +1,15 @@
+<!-- include start from name-server-ipv6.xml.i -->
+<leafNode name="name-server">
+ <properties>
+ <help>Domain Name Servers (DNS) addresses</help>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>Domain Name Server (DNS) IPv6 address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv6-address"/>
+ </constraint>
+ <multi/>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/nat-rule.xml.i b/interface-definitions/include/nat-rule.xml.i
index 579d19bdd..084f1f722 100644
--- a/interface-definitions/include/nat-rule.xml.i
+++ b/interface-definitions/include/nat-rule.xml.i
@@ -278,7 +278,7 @@
<description>Robust Header Compression</description>
</valueHelp>
<valueHelp>
- <format>0-255</format>
+ <format>u32:0-255</format>
<description>IP protocol number</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/include/pppoe-access-concentrator.xml.i b/interface-definitions/include/pppoe-access-concentrator.xml.i
new file mode 100644
index 000000000..ccfcc1c49
--- /dev/null
+++ b/interface-definitions/include/pppoe-access-concentrator.xml.i
@@ -0,0 +1,11 @@
+<!-- include start from pppoe-access-concentrator.xml.i -->
+<leafNode name="access-concentrator">
+ <properties>
+ <help>Access concentrator name</help>
+ <constraint>
+ <regex>[a-zA-Z0-9]{1,100}</regex>
+ </constraint>
+ <constraintErrorMessage>Access-concentrator name must be alphanumerical only (max. 100 characters)</constraintErrorMessage>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/route-map.xml.i b/interface-definitions/include/route-map.xml.i
new file mode 100644
index 000000000..88092b7d4
--- /dev/null
+++ b/interface-definitions/include/route-map.xml.i
@@ -0,0 +1,18 @@
+<!-- include start from route-map.xml.i -->
+<leafNode name="route-map">
+ <properties>
+ <help>Specify route-map name to use</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>Route map name</description>
+ </valueHelp>
+ <constraint>
+ <regex>^[-_a-zA-Z0-9.]+$</regex>
+ </constraint>
+ <constraintErrorMessage>Name of route-map can only contain alpha-numeric letters, hyphen and underscores</constraintErrorMessage>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/source-address-ipv4.xml.i b/interface-definitions/include/source-address-ipv4.xml.i
index 86235df61..052678113 100644
--- a/interface-definitions/include/source-address-ipv4.xml.i
+++ b/interface-definitions/include/source-address-ipv4.xml.i
@@ -1,7 +1,7 @@
<!-- include start from source-address-ipv4.xml.i -->
<leafNode name="source-address">
<properties>
- <help>IPv4 source address used to initiiate connection</help>
+ <help>IPv4 source address used to initiate connection</help>
<completionHelp>
<script>${vyos_completion_dir}/list_local_ips.sh --ipv4</script>
</completionHelp>
diff --git a/interface-definitions/interfaces-bonding.xml.in b/interface-definitions/interfaces-bonding.xml.in
index 6c5e2abcc..5a4f08bef 100644
--- a/interface-definitions/interfaces-bonding.xml.in
+++ b/interface-definitions/interfaces-bonding.xml.in
@@ -49,13 +49,13 @@
</leafNode>
</children>
</node>
- #include <include/interface/interface-description.xml.i>
+ #include <include/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>
- #include <include/interface/interface-mirror.xml.i>
+ #include <include/interface/disable-link-detect.xml.i>
+ #include <include/interface/disable.xml.i>
+ #include <include/interface/vrf.xml.i>
+ #include <include/interface/mirror.xml.i>
<leafNode name="hash-policy">
<properties>
<help>Bonding transmit hash policy</help>
@@ -89,9 +89,9 @@
</properties>
<defaultValue>layer2</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/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
+ #include <include/interface/mac.xml.i>
<leafNode name="min-links">
<properties>
<help>Minimum number of member interfaces required up before enabling bond</help>
@@ -177,18 +177,32 @@
<completionHelp>
<script>${vyos_completion_dir}/list_interfaces.py --bondable</script>
</completionHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>Interface name</description>
+ </valueHelp>
+ <constraint>
+ <validator name="interface-name"/>
+ </constraint>
<multi/>
</properties>
</leafNode>
</children>
</node>
- #include <include/interface/interface-mtu-68-16000.xml.i>
+ #include <include/interface/mtu-68-16000.xml.i>
<leafNode name="primary">
<properties>
<help>Primary device interface</help>
<completionHelp>
<script>${vyos_completion_dir}/list_interfaces.py --bondable</script>
</completionHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>Interface name</description>
+ </valueHelp>
+ <constraint>
+ <validator name="interface-name"/>
+ </constraint>
</properties>
</leafNode>
#include <include/interface/vif-s.xml.i>
diff --git a/interface-definitions/interfaces-bridge.xml.in b/interface-definitions/interfaces-bridge.xml.in
index 15feedca1..144f43f32 100644
--- a/interface-definitions/interfaces-bridge.xml.in
+++ b/interface-definitions/interfaces-bridge.xml.in
@@ -21,11 +21,11 @@
<properties>
<help>MAC address aging interval</help>
<valueHelp>
- <format>0</format>
+ <format>u32:0</format>
<description>Disable MAC address learning (always flood)</description>
</valueHelp>
<valueHelp>
- <format>10-1000000</format>
+ <format>u32:10-1000000</format>
<description>MAC address aging time in seconds (default: 300)</description>
</valueHelp>
<constraint>
@@ -34,18 +34,18 @@
</properties>
<defaultValue>300</defaultValue>
</leafNode>
- #include <include/interface/interface-description.xml.i>
+ #include <include/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>
- #include <include/interface/interface-mtu-68-16000.xml.i>
+ #include <include/interface/disable-link-detect.xml.i>
+ #include <include/interface/disable.xml.i>
+ #include <include/interface/vrf.xml.i>
+ #include <include/interface/mtu-68-16000.xml.i>
<leafNode name="forwarding-delay">
<properties>
<help>Forwarding delay</help>
<valueHelp>
- <format>0-200</format>
+ <format>u32:0-200</format>
<description>Spanning Tree Protocol forwarding delay in seconds (default 15)</description>
</valueHelp>
<constraint>
@@ -59,7 +59,7 @@
<properties>
<help>Hello packet advertisment interval</help>
<valueHelp>
- <format>1-10</format>
+ <format>u32:1-10</format>
<description>Spanning Tree Protocol hello advertisement interval in seconds (default 2)</description>
</valueHelp>
<constraint>
@@ -82,15 +82,21 @@
</leafNode>
</children>
</node>
- #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-mirror.xml.i>
+ #include <include/interface/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
+ #include <include/interface/mac.xml.i>
+ #include <include/interface/mirror.xml.i>
+ <leafNode name="enable-vlan">
+ <properties>
+ <help>Enable VLAN aware bridge</help>
+ <valueless/>
+ </properties>
+ </leafNode>
<leafNode name="max-age">
<properties>
<help>Interval at which neighbor bridges are removed</help>
<valueHelp>
- <format>1-40</format>
+ <format>u32:1-40</format>
<description>Bridge maximum aging time in seconds (default 20)</description>
</valueHelp>
<constraint>
@@ -117,7 +123,7 @@
<properties>
<help>Specify VLAN id which should natively be present on the link</help>
<valueHelp>
- <format>1-4094</format>
+ <format>u32:1-4094</format>
<description>Virtual Local Area Network (VLAN) ID</description>
</valueHelp>
<constraint>
@@ -138,7 +144,7 @@
<description>VLAN id range allowed on this interface (use '-' as delimiter)</description>
</valueHelp>
<constraint>
- <regex>^([0-9]{1,4}-[0-9]{1,4})|([0-9]{1,4})$</regex>
+ <validator name="allowed-vlan"/>
</constraint>
<constraintErrorMessage>not a valid VLAN ID value or range</constraintErrorMessage>
<multi/>
@@ -148,7 +154,7 @@
<properties>
<help>Bridge port cost</help>
<valueHelp>
- <format>1-65535</format>
+ <format>u32:1-65535</format>
<description>Path cost value for Spanning Tree Protocol</description>
</valueHelp>
<constraint>
@@ -162,7 +168,7 @@
<properties>
<help>Bridge port priority</help>
<valueHelp>
- <format>0-63</format>
+ <format>u32:0-63</format>
<description>Bridge port priority</description>
</valueHelp>
<constraint>
@@ -172,6 +178,12 @@
</properties>
<defaultValue>32</defaultValue>
</leafNode>
+ <leafNode name="isolated">
+ <properties>
+ <help>Port is isolated (also known as Private-VLAN)</help>
+ <valueless/>
+ </properties>
+ </leafNode>
</children>
</tagNode>
</children>
@@ -180,7 +192,7 @@
<properties>
<help>Priority for this bridge</help>
<valueHelp>
- <format>0-65535</format>
+ <format>u32:0-65535</format>
<description>Bridge priority (default 32768)</description>
</valueHelp>
<constraint>
@@ -196,7 +208,6 @@
<valueless/>
</properties>
</leafNode>
- #include <include/interface/vif-s.xml.i>
#include <include/interface/vif.xml.i>
</children>
</tagNode>
diff --git a/interface-definitions/interfaces-dummy.xml.in b/interface-definitions/interfaces-dummy.xml.in
index 84c6903c7..2bc88c1a7 100644
--- a/interface-definitions/interfaces-dummy.xml.in
+++ b/interface-definitions/interfaces-dummy.xml.in
@@ -17,17 +17,17 @@
</properties>
<children>
#include <include/interface/address-ipv4-ipv6.xml.i>
- #include <include/interface/interface-description.xml.i>
- #include <include/interface/interface-disable.xml.i>
+ #include <include/interface/description.xml.i>
+ #include <include/interface/disable.xml.i>
<node name="ip">
<properties>
<help>IPv4 routing parameters</help>
</properties>
<children>
- #include <include/interface/interface-source-validation.xml.i>
+ #include <include/interface/source-validation.xml.i>
</children>
</node>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/interface/vrf.xml.i>
</children>
</tagNode>
</children>
diff --git a/interface-definitions/interfaces-ethernet.xml.in b/interface-definitions/interfaces-ethernet.xml.in
index 9857e6c8d..27d555552 100644
--- a/interface-definitions/interfaces-ethernet.xml.in
+++ b/interface-definitions/interfaces-ethernet.xml.in
@@ -17,7 +17,7 @@
</properties>
<children>
#include <include/interface/address-ipv4-ipv6-dhcp.xml.i>
- #include <include/interface/interface-description.xml.i>
+ #include <include/interface/description.xml.i>
#include <include/interface/dhcp-options.xml.i>
#include <include/interface/dhcpv6-options.xml.i>
<leafNode name="disable-flow-control">
@@ -26,8 +26,8 @@
<valueless/>
</properties>
</leafNode>
- #include <include/interface/interface-disable-link-detect.xml.i>
- #include <include/interface/interface-disable.xml.i>
+ #include <include/interface/disable-link-detect.xml.i>
+ #include <include/interface/disable.xml.i>
<leafNode name="duplex">
<properties>
<help>Duplex mode</help>
@@ -53,13 +53,13 @@
</properties>
<defaultValue>auto</defaultValue>
</leafNode>
- #include <include/interface/interface-eapol.xml.i>
- #include <include/interface/interface-hw-id.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-mirror.xml.i>
+ #include <include/interface/eapol.xml.i>
+ #include <include/interface/hw-id.xml.i>
+ #include <include/interface/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
+ #include <include/interface/mac.xml.i>
+ #include <include/interface/mtu-68-16000.xml.i>
+ #include <include/interface/mirror.xml.i>
<node name="offload">
<properties>
<help>Configurable offload options</help>
@@ -101,12 +101,6 @@
<valueless/>
</properties>
</leafNode>
- <leafNode name="ufo">
- <properties>
- <help>Enable UDP Fragmentation Offloading</help>
- <valueless/>
- </properties>
- </leafNode>
</children>
</node>
<leafNode name="speed">
@@ -199,7 +193,7 @@
</node>
#include <include/interface/vif-s.xml.i>
#include <include/interface/vif.xml.i>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/interface/vrf.xml.i>
</children>
</tagNode>
</children>
diff --git a/interface-definitions/interfaces-geneve.xml.in b/interface-definitions/interfaces-geneve.xml.in
index 50031b8b3..6620c8aff 100644
--- a/interface-definitions/interfaces-geneve.xml.in
+++ b/interface-definitions/interfaces-geneve.xml.in
@@ -17,12 +17,12 @@
</properties>
<children>
#include <include/interface/address-ipv4-ipv6.xml.i>
- #include <include/interface/interface-description.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-1450-16000.xml.i>
+ #include <include/interface/description.xml.i>
+ #include <include/interface/disable.xml.i>
+ #include <include/interface/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
+ #include <include/interface/mac.xml.i>
+ #include <include/interface/mtu-1450-16000.xml.i>
#include <include/tunnel-remote.xml.i>
<leafNode name="vni">
<properties>
diff --git a/interface-definitions/interfaces-l2tpv3.xml.in b/interface-definitions/interfaces-l2tpv3.xml.in
index 2edf08070..1cd30b86e 100644
--- a/interface-definitions/interfaces-l2tpv3.xml.in
+++ b/interface-definitions/interfaces-l2tpv3.xml.in
@@ -17,12 +17,12 @@
</properties>
<children>
#include <include/interface/address-ipv4-ipv6.xml.i>
- #include <include/interface/interface-description.xml.i>
+ #include <include/interface/description.xml.i>
<leafNode name="destination-port">
<properties>
<help>UDP destination port for L2TPv3 tunnel (default: 5000)</help>
<valueHelp>
- <format>1-65535</format>
+ <format>u32:1-65535</format>
<description>Numeric IP port</description>
</valueHelp>
<constraint>
@@ -31,7 +31,7 @@
</properties>
<defaultValue>5000</defaultValue>
</leafNode>
- #include <include/interface/interface-disable.xml.i>
+ #include <include/interface/disable.xml.i>
<leafNode name="encapsulation">
<properties>
<help>Encapsulation type (default: UDP)</help>
@@ -53,10 +53,10 @@
</properties>
<defaultValue>udp</defaultValue>
</leafNode>
- #include <include/interface/interface-ipv4-options.xml.i>
- #include <include/interface/interface-ipv6-options.xml.i>
+ #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/interface-mtu-68-16000.xml.i>
+ #include <include/interface/mtu-68-16000.xml.i>
<leafNode name="mtu">
<defaultValue>1488</defaultValue>
</leafNode>
@@ -64,7 +64,7 @@
<properties>
<help>Peer session identifier</help>
<valueHelp>
- <format>1-429496729</format>
+ <format>u32:1-429496729</format>
<description>L2TPv3 peer session identifier</description>
</valueHelp>
<constraint>
@@ -76,7 +76,7 @@
<properties>
<help>Peer tunnel identifier</help>
<valueHelp>
- <format>1-429496729</format>
+ <format>u32:1-429496729</format>
<description>L2TPv3 peer tunnel identifier</description>
</valueHelp>
<constraint>
@@ -89,7 +89,7 @@
<properties>
<help>Session identifier</help>
<valueHelp>
- <format>1-429496729</format>
+ <format>u32:1-429496729</format>
<description>L2TPv3 session identifier</description>
</valueHelp>
<constraint>
@@ -101,7 +101,7 @@
<properties>
<help>UDP source port for L2TPv3 tunnel (default: 5000)</help>
<valueHelp>
- <format>1-65535</format>
+ <format>u32:1-65535</format>
<description>Numeric IP port</description>
</valueHelp>
<constraint>
@@ -114,7 +114,7 @@
<properties>
<help>Local tunnel identifier</help>
<valueHelp>
- <format>1-429496729</format>
+ <format>u32:1-429496729</format>
<description>L2TPv3 local tunnel identifier</description>
</valueHelp>
<constraint>
@@ -122,7 +122,7 @@
</constraint>
</properties>
</leafNode>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/interface/vrf.xml.i>
</children>
</tagNode>
</children>
diff --git a/interface-definitions/interfaces-loopback.xml.in b/interface-definitions/interfaces-loopback.xml.in
index 5d0ca5b0a..7be15ab89 100644
--- a/interface-definitions/interfaces-loopback.xml.in
+++ b/interface-definitions/interfaces-loopback.xml.in
@@ -17,13 +17,13 @@
</properties>
<children>
#include <include/interface/address-ipv4-ipv6.xml.i>
- #include <include/interface/interface-description.xml.i>
+ #include <include/interface/description.xml.i>
<node name="ip">
<properties>
<help>IPv4 routing parameters</help>
</properties>
<children>
- #include <include/interface/interface-source-validation.xml.i>
+ #include <include/interface/source-validation.xml.i>
</children>
</node>
</children>
diff --git a/interface-definitions/interfaces-macsec.xml.in b/interface-definitions/interfaces-macsec.xml.in
index fce88b21c..4a566ef8b 100644
--- a/interface-definitions/interfaces-macsec.xml.in
+++ b/interface-definitions/interfaces-macsec.xml.in
@@ -17,8 +17,8 @@
</properties>
<children>
#include <include/interface/address-ipv4-ipv6.xml.i>
- #include <include/interface/interface-ipv4-options.xml.i>
- #include <include/interface/interface-ipv6-options.xml.i>
+ #include <include/interface/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
<node name="security">
<properties>
<help>Security/Encryption Settings</help>
@@ -82,7 +82,7 @@
<properties>
<help>Priority of MACsec Key Agreement protocol (MKA) actor (default: 255)</help>
<valueHelp>
- <format>0-255</format>
+ <format>u32:0-255</format>
<description>MACsec Key Agreement protocol (MKA) priority</description>
</valueHelp>
<constraint>
@@ -97,11 +97,11 @@
<properties>
<help>IEEE 802.1X/MACsec replay protection window</help>
<valueHelp>
- <format>0</format>
+ <format>u32:0</format>
<description>No replay window, strict check</description>
</valueHelp>
<valueHelp>
- <format>1-4294967295</format>
+ <format>u32:1-4294967295</format>
<description>Number of packets that could be misordered</description>
</valueHelp>
<constraint>
@@ -111,14 +111,14 @@
</leafNode>
</children>
</node>
- #include <include/interface/interface-description.xml.i>
- #include <include/interface/interface-disable.xml.i>
- #include <include/interface/interface-mtu-68-16000.xml.i>
+ #include <include/interface/description.xml.i>
+ #include <include/interface/disable.xml.i>
+ #include <include/interface/mtu-68-16000.xml.i>
<leafNode name="mtu">
<defaultValue>1460</defaultValue>
</leafNode>
#include <include/source-interface-ethernet.xml.i>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/interface/vrf.xml.i>
</children>
</tagNode>
</children>
diff --git a/interface-definitions/interfaces-openvpn.xml.in b/interface-definitions/interfaces-openvpn.xml.in
index 681290570..51e81390c 100644
--- a/interface-definitions/interfaces-openvpn.xml.in
+++ b/interface-definitions/interfaces-openvpn.xml.in
@@ -33,7 +33,7 @@
</leafNode>
</children>
</node>
- #include <include/interface/interface-description.xml.i>
+ #include <include/interface/description.xml.i>
<leafNode name="device-type">
<properties>
<help>OpenVPN interface device-type (default: tun)</help>
@@ -54,7 +54,7 @@
</properties>
<defaultValue>tun</defaultValue>
</leafNode>
- #include <include/interface/interface-disable.xml.i>
+ #include <include/interface/disable.xml.i>
<node name="encryption">
<properties>
<help>Data Encryption settings</help>
@@ -165,7 +165,7 @@
</leafNode>
</children>
</node>
- #include <include/interface/interface-ipv6-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
<leafNode name="hash">
<properties>
<help>Hashing Algorithm</help>
@@ -206,7 +206,7 @@
<properties>
<help>Maximum number of keepalive packet failures (default: 60)</help>
<valueHelp>
- <format>0-1000</format>
+ <format>u32:0-1000</format>
<description>Maximum number of keepalive packet failures</description>
</valueHelp>
<constraint>
@@ -219,7 +219,7 @@
<properties>
<help>Keepalive packet interval in seconds (default: 10)</help>
<valueHelp>
- <format>0-600</format>
+ <format>u32:0-600</format>
<description>Keepalive packet interval (seconds)</description>
</valueHelp>
<constraint>
@@ -268,7 +268,7 @@
<properties>
<help>Local port number to accept connections</help>
<valueHelp>
- <format>1-65535</format>
+ <format>u32:1-65535</format>
<description>Numeric IP port</description>
</valueHelp>
<constraint>
@@ -378,7 +378,7 @@
<properties>
<help>Remote port number to connect to</help>
<valueHelp>
- <format>1-65535</format>
+ <format>u32:1-65535</format>
<description>Numeric IP port</description>
</valueHelp>
<constraint>
@@ -546,7 +546,7 @@
<properties>
<help>Number of maximum client connections</help>
<valueHelp>
- <format>1-4096</format>
+ <format>u32:1-4096</format>
<description>Number of concurrent clients</description>
</valueHelp>
<constraint>
@@ -554,24 +554,8 @@
</constraint>
</properties>
</leafNode>
- <leafNode name="name-server">
- <properties>
- <help>Domain Name Server (DNS)</help>
- <valueHelp>
- <format>ipv4</format>
- <description>DNS server IPv4 address</description>
- </valueHelp>
- <valueHelp>
- <format>ipv6</format>
- <description>DNS server IPv6 address</description>
- </valueHelp>
- <constraint>
- <validator name="ip-address"/>
- </constraint>
- <multi/>
- </properties>
- </leafNode>
- <leafNode name="push-route">
+ #include <include/name-server-ipv4-ipv6.xml.i>
+ <tagNode name="push-route">
<properties>
<help>Route to be pushed to all clients</help>
<valueHelp>
@@ -585,9 +569,23 @@
<constraint>
<validator name="ip-prefix"/>
</constraint>
- <multi/>
</properties>
- </leafNode>
+ <children>
+ <leafNode name="metric">
+ <properties>
+ <help>Set metric for this route</help>
+ <valueHelp>
+ <format>u32:0-4294967295</format>
+ <description>Metric for this route</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-4294967295"/>
+ </constraint>
+ </properties>
+ <defaultValue>0</defaultValue>
+ </leafNode>
+ </children>
+ </tagNode>
<leafNode name="reject-unconfigured-clients">
<properties>
<help>Reject connections from clients that are not explicitly configured</help>
@@ -755,7 +753,7 @@
<valueless/>
</properties>
</leafNode>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/interface/vrf.xml.i>
</children>
</tagNode>
</children>
diff --git a/interface-definitions/interfaces-pppoe.xml.in b/interface-definitions/interfaces-pppoe.xml.in
index 96479e057..198a53c90 100644
--- a/interface-definitions/interfaces-pppoe.xml.in
+++ b/interface-definitions/interfaces-pppoe.xml.in
@@ -5,7 +5,7 @@
<tagNode name="pppoe" owner="${vyos_conf_scripts_dir}/interfaces-pppoe.py">
<properties>
<help>Point-to-Point Protocol over Ethernet (PPPoE)</help>
- <priority>321</priority>
+ <priority>322</priority>
<constraint>
<regex>^pppoe[0-9]+$</regex>
</constraint>
@@ -16,17 +16,9 @@
</valueHelp>
</properties>
<children>
- <leafNode name="access-concentrator">
- <properties>
- <help>Access concentrator name (only connect to this concentrator)</help>
- <constraint>
- <regex>[a-zA-Z0-9]+$</regex>
- </constraint>
- <constraintErrorMessage>Access concentrator name must be composed of uppper and lower case letters or numbers only</constraintErrorMessage>
- </properties>
- </leafNode>
+ #include <include/pppoe-access-concentrator.xml.i>
#include <include/interface/authentication.xml.i>
- #include <include/interface/interface-dial-on-demand.xml.i>
+ #include <include/interface/dial-on-demand.xml.i>
<leafNode name="default-route">
<properties>
<help>Default route insertion behaviour (default: auto)</help>
@@ -53,16 +45,20 @@
<defaultValue>auto</defaultValue>
</leafNode>
#include <include/interface/dhcpv6-options.xml.i>
- #include <include/interface/interface-description.xml.i>
- #include <include/interface/interface-disable.xml.i>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/interface/description.xml.i>
+ #include <include/interface/disable.xml.i>
+ #include <include/interface/vrf.xml.i>
<leafNode name="idle-timeout">
<properties>
<help>Delay before disconnecting idle session (in seconds)</help>
<valueHelp>
- <format>n</format>
+ <format>u32:0-86400</format>
<description>Idle timeout in seconds</description>
</valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-86400"/>
+ </constraint>
+ <constraintErrorMessage>Timeout must be in range 0 to 86400</constraintErrorMessage>
</properties>
</leafNode>
<node name="ip">
@@ -70,7 +66,7 @@
<help>IPv4 routing parameters</help>
</properties>
<children>
- #include <include/interface/interface-source-validation.xml.i>
+ #include <include/interface/source-validation.xml.i>
</children>
</node>
<node name="ipv6">
@@ -88,14 +84,7 @@
</node>
</children>
</node>
- <leafNode name="source-interface">
- <properties>
- <help>Physical Interface used for this PPPoE session</help>
- <completionHelp>
- <script>${vyos_completion_dir}/list_interfaces.py --broadcast</script>
- </completionHelp>
- </properties>
- </leafNode>
+ #include <include/source-interface.xml.i>
<leafNode name="local-address">
<properties>
<help>IPv4 address of local end of the PPPoE link</help>
@@ -108,7 +97,7 @@
</constraint>
</properties>
</leafNode>
- #include <include/interface/interface-mtu-68-1500.xml.i>
+ #include <include/interface/mtu-68-1500.xml.i>
<leafNode name="mtu">
<defaultValue>1492</defaultValue>
</leafNode>
@@ -136,7 +125,7 @@
<constraint>
<regex>[a-zA-Z0-9]+$</regex>
</constraint>
- <constraintErrorMessage>Service name must be composed of uppper and lower case letters or numbers only</constraintErrorMessage>
+ <constraintErrorMessage>Service name must be alphanumeric only</constraintErrorMessage>
</properties>
</leafNode>
</children>
diff --git a/interface-definitions/interfaces-pseudo-ethernet.xml.in b/interface-definitions/interfaces-pseudo-ethernet.xml.in
index 136841290..366892032 100644
--- a/interface-definitions/interfaces-pseudo-ethernet.xml.in
+++ b/interface-definitions/interfaces-pseudo-ethernet.xml.in
@@ -17,16 +17,16 @@
</properties>
<children>
#include <include/interface/address-ipv4-ipv6-dhcp.xml.i>
- #include <include/interface/interface-description.xml.i>
+ #include <include/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>
- #include <include/interface/interface-ipv4-options.xml.i>
- #include <include/interface/interface-ipv6-options.xml.i>
+ #include <include/interface/disable-link-detect.xml.i>
+ #include <include/interface/disable.xml.i>
+ #include <include/interface/vrf.xml.i>
+ #include <include/interface/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
#include <include/source-interface-ethernet.xml.i>
- #include <include/interface/interface-mac.xml.i>
+ #include <include/interface/mac.xml.i>
<leafNode name="mode">
<properties>
<help>Receive mode (default: private)</help>
@@ -56,7 +56,7 @@
</properties>
<defaultValue>private</defaultValue>
</leafNode>
- #include <include/interface/interface-mtu-68-16000.xml.i>
+ #include <include/interface/mtu-68-16000.xml.i>
#include <include/interface/vif-s.xml.i>
#include <include/interface/vif.xml.i>
</children>
diff --git a/interface-definitions/interfaces-tunnel.xml.in b/interface-definitions/interfaces-tunnel.xml.in
index bc1f3092d..2c15abec7 100644
--- a/interface-definitions/interfaces-tunnel.xml.in
+++ b/interface-definitions/interfaces-tunnel.xml.in
@@ -16,17 +16,17 @@
</valueHelp>
</properties>
<children>
- #include <include/interface/interface-description.xml.i>
+ #include <include/interface/description.xml.i>
#include <include/interface/address-ipv4-ipv6.xml.i>
- #include <include/interface/interface-disable.xml.i>
- #include <include/interface/interface-disable-link-detect.xml.i>
- #include <include/interface/interface-vrf.xml.i>
- #include <include/interface/interface-mtu-64-8024.xml.i>
+ #include <include/interface/disable.xml.i>
+ #include <include/interface/disable-link-detect.xml.i>
+ #include <include/interface/vrf.xml.i>
+ #include <include/interface/mtu-64-8024.xml.i>
<leafNode name="mtu">
<defaultValue>1476</defaultValue>
</leafNode>
- #include <include/interface/interface-ipv4-options.xml.i>
- #include <include/interface/interface-ipv6-options.xml.i>
+ #include <include/interface/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
#include <include/source-address-ipv4-ipv6.xml.i>
#include <include/tunnel-remote.xml.i>
#include <include/source-interface.xml.i>
@@ -54,21 +54,6 @@
</constraint>
</properties>
</leafNode>
- <leafNode name="dhcp-interface">
- <properties>
- <help>dhcp interface</help>
- <valueHelp>
- <format>interface</format>
- <description>DHCP interface that supplies the local IP address for this tunnel</description>
- </valueHelp>
- <completionHelp>
- <script>${vyos_completion_dir}/list_interfaces.py</script>
- </completionHelp>
- <constraint>
- <validator name="interface-name"/>
- </constraint>
- </properties>
- </leafNode>
<leafNode name="encapsulation">
<properties>
<help>Encapsulation of this tunnel interface</help>
@@ -151,9 +136,9 @@
<valueless/>
</properties>
</leafNode>
- #include <include/interface/interface-parameters-key.xml.i>
- #include <include/interface/interface-parameters-tos.xml.i>
- #include <include/interface/interface-parameters-ttl.xml.i>
+ #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>
@@ -171,8 +156,8 @@
<list>none</list>
</completionHelp>
<valueHelp>
- <format>0-255</format>
- <description>Encaplimit (default 4)</description>
+ <format>u32:0-255</format>
+ <description>Encaplimit (default: 4)</description>
</valueHelp>
<valueHelp>
<format>none</format>
@@ -186,12 +171,12 @@
</properties>
<defaultValue>4</defaultValue>
</leafNode>
- #include <include/interface/interface-parameters-flowlabel.xml.i>
+ #include <include/interface/parameters-flowlabel.xml.i>
<leafNode name="hoplimit">
<properties>
<help>Hoplimit</help>
<valueHelp>
- <format>0-255</format>
+ <format>u32:0-255</format>
<description>Hoplimit (default 64)</description>
</valueHelp>
<constraint>
@@ -205,7 +190,7 @@
<properties>
<help>Traffic class (Tclass)</help>
<valueHelp>
- <format>0x0-0x0FFFFF</format>
+ <format>0x0-0x0fffff</format>
<description>Traffic class, 'inherit' or hex value</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/interfaces-vxlan.xml.in b/interface-definitions/interfaces-vxlan.xml.in
index 848c6259e..6dcc3f5a0 100644
--- a/interface-definitions/interfaces-vxlan.xml.in
+++ b/interface-definitions/interfaces-vxlan.xml.in
@@ -17,8 +17,8 @@
</properties>
<children>
#include <include/interface/address-ipv4-ipv6.xml.i>
- #include <include/interface/interface-description.xml.i>
- #include <include/interface/interface-disable.xml.i>
+ #include <include/interface/description.xml.i>
+ #include <include/interface/disable.xml.i>
<leafNode name="group">
<properties>
<help>Multicast group address for VXLAN interface</help>
@@ -31,14 +31,16 @@
<description>Multicast IPv6 group address</description>
</valueHelp>
<constraint>
- <validator name="ip-address"/>
+ <validator name="ipv4-multicast"/>
+ <validator name="ipv6-multicast"/>
</constraint>
+ <constraintErrorMessage>Multicast IPv4/IPv6 address required</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-1200-16000.xml.i>
+ #include <include/interface/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
+ #include <include/interface/mac.xml.i>
+ #include <include/interface/mtu-1200-16000.xml.i>
<leafNode name="mtu">
<defaultValue>1450</defaultValue>
</leafNode>
@@ -70,7 +72,7 @@
</constraint>
</properties>
</leafNode>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/interface/vrf.xml.i>
</children>
</tagNode>
</children>
diff --git a/interface-definitions/interfaces-wireguard.xml.in b/interface-definitions/interfaces-wireguard.xml.in
index 378251fed..73328c16a 100644
--- a/interface-definitions/interfaces-wireguard.xml.in
+++ b/interface-definitions/interfaces-wireguard.xml.in
@@ -17,16 +17,16 @@
</properties>
<children>
#include <include/interface/address-ipv4-ipv6.xml.i>
- #include <include/interface/interface-description.xml.i>
- #include <include/interface/interface-disable.xml.i>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/interface/description.xml.i>
+ #include <include/interface/disable.xml.i>
+ #include <include/interface/vrf.xml.i>
#include <include/port-number.xml.i>
- #include <include/interface/interface-mtu-68-16000.xml.i>
+ #include <include/interface/mtu-68-16000.xml.i>
<leafNode name="mtu">
<defaultValue>1420</defaultValue>
</leafNode>
- #include <include/interface/interface-ipv4-options.xml.i>
- #include <include/interface/interface-ipv6-options.xml.i>
+ #include <include/interface/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
<leafNode name="fwmark">
<properties>
<help>A 32-bit fwmark value set on all outgoing packets</help>
@@ -118,7 +118,7 @@
<properties>
<help>Interval to send keepalive messages</help>
<valueHelp>
- <format>1-65535</format>
+ <format>u32:1-65535</format>
<description>Interval in seconds</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/interfaces-wireless.xml.in b/interface-definitions/interfaces-wireless.xml.in
index aaeb285f1..048c7b475 100644
--- a/interface-definitions/interfaces-wireless.xml.in
+++ b/interface-definitions/interfaces-wireless.xml.in
@@ -206,7 +206,7 @@
<properties>
<help>Number of antennas on this card</help>
<valueHelp>
- <format>1-8</format>
+ <format>u32:1-8</format>
<description>Number of antennas for this card</description>
</valueHelp>
<constraint>
@@ -464,7 +464,7 @@
<constraintErrorMessage>Invalid ISO/IEC 3166-1 Country Code</constraintErrorMessage>
</properties>
</leafNode>
- #include <include/interface/interface-description.xml.i>
+ #include <include/interface/description.xml.i>
#include <include/interface/dhcp-options.xml.i>
#include <include/interface/dhcpv6-options.xml.i>
<leafNode name="disable-broadcast-ssid">
@@ -473,25 +473,25 @@
<valueless/>
</properties>
</leafNode>
- #include <include/interface/interface-disable-link-detect.xml.i>
- #include <include/interface/interface-disable.xml.i>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/interface/disable-link-detect.xml.i>
+ #include <include/interface/disable.xml.i>
+ #include <include/interface/vrf.xml.i>
<leafNode name="expunge-failing-stations">
<properties>
<help>Disassociate stations based on excessive transmission failures</help>
<valueless/>
</properties>
</leafNode>
- #include <include/interface/interface-ipv4-options.xml.i>
- #include <include/interface/interface-ipv6-options.xml.i>
- #include <include/interface/interface-hw-id.xml.i>
+ #include <include/interface/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
+ #include <include/interface/hw-id.xml.i>
<leafNode name="isolate-stations">
<properties>
<help>Isolate stations on the AP so they cannot see each other</help>
<valueless/>
</properties>
</leafNode>
- #include <include/interface/interface-mac.xml.i>
+ #include <include/interface/mac.xml.i>
<leafNode name="max-stations">
<properties>
<help>Maximum number of wireless radio stations. Excess stations will be rejected upon authentication request.</help>
diff --git a/interface-definitions/interfaces-wwan.xml.in b/interface-definitions/interfaces-wwan.xml.in
index 647ce0bc1..19f152a06 100644
--- a/interface-definitions/interfaces-wwan.xml.in
+++ b/interface-definitions/interfaces-wwan.xml.in
@@ -28,17 +28,17 @@
#include <include/interface/authentication.xml.i>
#include <include/interface/dhcp-options.xml.i>
#include <include/interface/dhcpv6-options.xml.i>
- #include <include/interface/interface-description.xml.i>
- #include <include/interface/interface-disable.xml.i>
- #include <include/interface/interface-vrf.xml.i>
- #include <include/interface/interface-disable-link-detect.xml.i>
- #include <include/interface/interface-mtu-68-1500.xml.i>
+ #include <include/interface/description.xml.i>
+ #include <include/interface/disable.xml.i>
+ #include <include/interface/vrf.xml.i>
+ #include <include/interface/disable-link-detect.xml.i>
+ #include <include/interface/mtu-68-1500.xml.i>
<leafNode name="mtu">
<defaultValue>1430</defaultValue>
</leafNode>
- #include <include/interface/interface-ipv4-options.xml.i>
- #include <include/interface/interface-ipv6-options.xml.i>
- #include <include/interface/interface-dial-on-demand.xml.i>
+ #include <include/interface/ipv4-options.xml.i>
+ #include <include/interface/ipv6-options.xml.i>
+ #include <include/interface/dial-on-demand.xml.i>
</children>
</tagNode>
</children>
diff --git a/interface-definitions/ipsec-settings.xml.in b/interface-definitions/ipsec-settings.xml.in
index bc54baa27..dbf6625fb 100644
--- a/interface-definitions/ipsec-settings.xml.in
+++ b/interface-definitions/ipsec-settings.xml.in
@@ -4,7 +4,7 @@
<children>
<node name="ipsec">
<children>
- <node name="options" owner="${vyos_conf_scripts_dir}/ipsec-settings.py">
+ <node name="options" owner="${vyos_conf_scripts_dir}/ipsec-settings.py from-options">
<properties>
<help>Global IPsec settings</help>
</properties>
diff --git a/interface-definitions/lldp.xml.in b/interface-definitions/lldp.xml.in
index e14abae14..32ef0ad14 100644
--- a/interface-definitions/lldp.xml.in
+++ b/interface-definitions/lldp.xml.in
@@ -105,7 +105,7 @@
<properties>
<help>ECS ELIN (Emergency location identifier number)</help>
<valueHelp>
- <format>0-9999999999</format>
+ <format>u32:0-9999999999</format>
<description>Emergency Call Service ELIN number (between 10-25 numbers)</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/ntp.xml.in b/interface-definitions/ntp.xml.in
index 2bfac900b..a518a9def 100644
--- a/interface-definitions/ntp.xml.in
+++ b/interface-definitions/ntp.xml.in
@@ -82,7 +82,7 @@
</children>
</node>
#include <include/listen-address.xml.i>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/interface/vrf.xml.i>
</children>
</node>
</children>
diff --git a/interface-definitions/protocols-igmp.xml.in b/interface-definitions/protocols-igmp.xml.in
index a9b11e1a3..e10340512 100644
--- a/interface-definitions/protocols-igmp.xml.in
+++ b/interface-definitions/protocols-igmp.xml.in
@@ -46,9 +46,16 @@
<leafNode name="version">
<properties>
<help>IGMP version</help>
+ <completionHelp>
+ <list>2 3</list>
+ </completionHelp>
<valueHelp>
- <format>2-3</format>
- <description>IGMP version</description>
+ <format>2</format>
+ <description>IGMP version 2</description>
+ </valueHelp>
+ <valueHelp>
+ <format>3</format>
+ <description>IGMP version 3</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--range 2-3"/>
@@ -59,7 +66,7 @@
<properties>
<help>IGMP host query interval</help>
<valueHelp>
- <format>1-1800</format>
+ <format>u32:1-1800</format>
<description>Query interval in seconds</description>
</valueHelp>
<constraint>
@@ -71,7 +78,7 @@
<properties>
<help>IGMP max query response time</help>
<valueHelp>
- <format>10-250</format>
+ <format>u32:10-250</format>
<description>Query response value in deci-seconds</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/protocols-isis.xml.in b/interface-definitions/protocols-isis.xml.in
index 624c72a4c..e0bc47bb9 100644
--- a/interface-definitions/protocols-isis.xml.in
+++ b/interface-definitions/protocols-isis.xml.in
@@ -2,781 +2,15 @@
<interfaceDefinition>
<node name="protocols">
<children>
- <tagNode name="isis" owner="${vyos_conf_scripts_dir}/protocols_isis.py">
+ <node name="isis" owner="${vyos_conf_scripts_dir}/protocols_isis.py">
<properties>
<help>Intermediate System to Intermediate System (IS-IS)</help>
<priority>610</priority>
- <valueHelp>
- <format>text(TAG)</format>
- <description>ISO Routing area tag</description>
- </valueHelp>
</properties>
<children>
- <node name="area-password">
- <properties>
- <help>Configure the authentication password for an area</help>
- </properties>
- <children>
- <leafNode name="plaintext-password">
- <properties>
- <help>Plain-text authentication type</help>
- <valueHelp>
- <format>txt</format>
- <description>Level-wide password</description>
- </valueHelp>
- </properties>
- </leafNode>
- <leafNode name="md5">
- <properties>
- <help>MD5 authentication type</help>
- <valueHelp>
- <format>txt</format>
- <description>Level-wide password</description>
- </valueHelp>
- </properties>
- </leafNode>
- </children>
- </node>
- <node name="default-information">
- <properties>
- <help>Control distribution of default information</help>
- </properties>
- <children>
- <node name="originate">
- <properties>
- <help>Distribute a default route</help>
- </properties>
- <children>
- <node name="ipv4">
- <properties>
- <help>Distribute default route for IPv4</help>
- </properties>
- <children>
- <leafNode name="level-1">
- <properties>
- <help>Distribute default route into level-1</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="level-2">
- <properties>
- <help>Distribute default route into level-2</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </node>
- <node name="ipv6">
- <properties>
- <help>Distribute default route for IPv6</help>
- </properties>
- <children>
- <leafNode name="level-1">
- <properties>
- <help>Distribute default route into level-1</help>
- <completionHelp>
- <list>always</list>
- </completionHelp>
- <valueHelp>
- <format>always</format>
- <description>Always advertise default route</description>
- </valueHelp>
- </properties>
- </leafNode>
- <leafNode name="level-2">
- <properties>
- <help>Distribute default route into level-2</help>
- <completionHelp>
- <list>always</list>
- </completionHelp>
- <valueHelp>
- <format>always</format>
- <description>Always advertise default route</description>
- </valueHelp>
- </properties>
- </leafNode>
- </children>
- </node>
- </children>
- </node>
- </children>
- </node>
- <node name="domain-password">
- <properties>
- <help>Set the authentication password for a routing domain</help>
- </properties>
- <children>
- <leafNode name="plaintext-password">
- <properties>
- <help>Plain-text authentication type</help>
- <valueHelp>
- <format>txt</format>
- <description>Level-wide password</description>
- </valueHelp>
- </properties>
- </leafNode>
-<!--
- <leafNode name="md5">
- <properties>
- <help>MD5 authentication type</help>
- <valueHelp>
- <format>txt</format>
- <description>Level-wide password</description>
- </valueHelp>
- </properties>
- </leafNode>
--->
- </children>
- </node>
- <leafNode name="dynamic-hostname">
- <properties>
- <help>Dynamic hostname for IS-IS</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="level">
- <properties>
- <help>IS-IS level number</help>
- <completionHelp>
- <list>level-1 level-1-2 level-2</list>
- </completionHelp>
- <valueHelp>
- <format>level-1</format>
- <description>Act as a station router</description>
- </valueHelp>
- <valueHelp>
- <format>level-1-2</format>
- <description>Act as both a station and an area router</description>
- </valueHelp>
- <valueHelp>
- <format>level-2</format>
- <description>Act as an area router</description>
- </valueHelp>
- <constraint>
- <regex>^(level-1|level-1-2|level-2)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="lsp-gen-interval">
- <properties>
- <help>Minimum interval between regenerating same LSP</help>
- <valueHelp>
- <format>u32:1-120</format>
- <description>Minimum interval in seconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-120"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="lsp-mtu">
- <properties>
- <help>Configure the maximum size of generated LSPs</help>
- <valueHelp>
- <format>u32:128-4352</format>
- <description>Maximum size of generated LSPs</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 128-4352"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="lsp-refresh-interval">
- <properties>
- <help>LSP refresh interval</help>
- <valueHelp>
- <format>u32:1-65235</format>
- <description>LSP refresh interval in seconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-65235"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="max-lsp-lifetime">
- <properties>
- <help>Maximum LSP lifetime</help>
- <valueHelp>
- <format>u32:350-65535</format>
- <description>LSP lifetime in seconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-65535"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="metric-style">
- <properties>
- <help>Use old-style (ISO 10589) or new-style packet formats</help>
- <completionHelp>
- <list>narrow transition wide</list>
- </completionHelp>
- <valueHelp>
- <format>narrow</format>
- <description>Use old style of TLVs with narrow metric</description>
- </valueHelp>
- <valueHelp>
- <format>transition</format>
- <description>Send and accept both styles of TLVs during transition</description>
- </valueHelp>
- <valueHelp>
- <format>wide</format>
- <description>Use new style of TLVs to carry wider metric</description>
- </valueHelp>
- <constraint>
- <regex>^(narrow|transition|wide)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="net">
- <properties>
- <help>A Network Entity Title for this process (ISO only)</help>
- <valueHelp>
- <format>XX.XXXX. ... .XXX.XX</format>
- <description>Network entity title (NET)</description>
- </valueHelp>
- <constraint>
- <regex>[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){3,9}\.[a-fA-F0-9]{2}</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="purge-originator">
- <properties>
- <help>Use the RFC 6232 purge-originator</help>
- <valueless/>
- </properties>
- </leafNode>
- <node name="traffic-engineering">
- <properties>
- <help>Show IS-IS neighbor adjacencies</help>
- </properties>
- <children>
- <leafNode name="enable">
- <properties>
- <help>Enable MPLS traffic engineering extensions</help>
- <valueless/>
- </properties>
- </leafNode>
-<!--
- <node name="inter-as">
- <properties>
- <help>MPLS traffic engineering inter-AS support</help>
- </properties>
- <children>
- <leafNode name="level-1">
- <properties>
- <help>Area native mode self originate inter-AS LSP with L1 only flooding scope</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="level-1-2">
- <properties>
- <help>Area native mode self originate inter-AS LSP with L1 and L2 flooding scope</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="level-2">
- <properties>
- <help>Area native mode self originate inter-AS LSP with L2 only flooding scope</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </node>
- <leafNode name="inter-as">
- <properties>
- <help>MPLS traffic engineering inter-AS support</help>
- <valueless/>
- </properties>
- </leafNode>
--->
- <leafNode name="address">
- <properties>
- <help>MPLS traffic engineering router ID</help>
- <valueHelp>
- <format>ipv4</format>
- <description>IPv4 address</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- </constraint>
- </properties>
- </leafNode>
- </children>
- </node>
- <node name="segment-routing">
- <properties>
- <help>Segment-Routing (SPRING) settings</help>
- </properties>
- <children>
- <leafNode name="enable">
- <properties>
- <help>Enable segment-routing functionality</help>
- <valueless/>
- </properties>
- </leafNode>
- <node name="global-block">
- <properties>
- <help>Global block label range</help>
- </properties>
- <children>
- <leafNode name="low-label-value">
- <properties>
- <help>The lower bound of the global block</help>
- <valueHelp>
- <format>u32:16-1048575</format>
- <description>MPLS label value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 16-1048575"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="high-label-value">
- <properties>
- <help>The upper bound of the global block</help>
- <valueHelp>
- <format>u32:16-1048575</format>
- <description>MPLS label value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 16-1048575"/>
- </constraint>
- </properties>
- </leafNode>
- </children>
- </node>
-<!--
- <node name="local-block">
- <properties>
- <help>Local Block label range</help>
- </properties>
- <children>
- <leafNode name="low-label-value">
- <properties>
- <help>The lower bound of the local block</help>
- <valueHelp>
- <format>u32:16-1048575</format>
- <description>MPLS label value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument=" range 16-1048575"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="high-label-value">
- <properties>
- <help>The upper bound of the local block</help>
- <valueHelp>
- <format>u32:16-1048575</format>
- <description>MPLS label value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument=" range 16-1048575"/>
- </constraint>
- </properties>
- </leafNode>
- </children>
- </node>
--->
- <leafNode name="maximum-label-depth">
- <properties>
- <help>Maximum MPLS labels allowed for this router</help>
- <valueHelp>
- <format>u32:1-16</format>
- <description>MPLS label depth</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-16"/>
- </constraint>
- </properties>
- </leafNode>
- <tagNode name="prefix">
- <properties>
- <help>Static IPv4/IPv6 prefix segment/label mapping</help>
- <valueHelp>
- <format>ipv4net</format>
- <description>IPv4 prefix segment</description>
- </valueHelp>
- <valueHelp>
- <format>ipv6net</format>
- <description>IPv6 prefix segment</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-prefix"/>
- <validator name="ipv6-prefix"/>
- </constraint>
- </properties>
- <children>
- <node name="absolute">
- <properties>
- <help>Specify the absolute value of prefix segment/label ID</help>
- </properties>
- <children>
- <leafNode name="value">
- <properties>
- <help>Specify the absolute value of prefix segment/label ID</help>
- <valueHelp>
- <format>u32:16-1048575</format>
- <description>The absolute segment/label ID value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 16-1048575"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="explicit-null">
- <properties>
- <help>Request upstream neighbor to replace segment/label with explicit null label</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="no-php-flag">
- <properties>
- <help>Do not request penultimate hop popping for segment/label</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </node>
- <node name="index">
- <properties>
- <help>Specify the index value of prefix segment/label ID</help>
- </properties>
- <children>
- <leafNode name="value">
- <properties>
- <help>Specify the index value of prefix segment/label ID</help>
- <valueHelp>
- <format>u32:0-65535</format>
- <description>The index segment/label ID value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-65535"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="explicit-null">
- <properties>
- <help>Request upstream neighbor to replace segment/label with explicit null label</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="no-php-flag">
- <properties>
- <help>Do not request penultimate hop popping for segment/label</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </node>
- </children>
- </tagNode>
- </children>
- </node>
- <node name="redistribute">
- <properties>
- <help>Redistribute information from another routing protocol</help>
- </properties>
- <children>
- <node name="ipv4">
- <properties>
- <help>Redistribute IPv4 routes</help>
- </properties>
- <children>
- <node name="bgp">
- <properties>
- <help>Border Gateway Protocol (BGP)</help>
- </properties>
- <children>
- #include <include/isis-redistribute-ipv4.xml.i>
- </children>
- </node>
- <node name="connected">
- <properties>
- <help>Redistribute connected routes into IS-IS</help>
- </properties>
- <children>
- #include <include/isis-redistribute-ipv4.xml.i>
- </children>
- </node>
- <node name="kernel">
- <properties>
- <help>Redistribute kernel routes into IS-IS</help>
- </properties>
- <children>
- #include <include/isis-redistribute-ipv4.xml.i>
- </children>
- </node>
- <node name="ospf">
- <properties>
- <help>Redistribute OSPF routes into IS-IS</help>
- </properties>
- <children>
- #include <include/isis-redistribute-ipv4.xml.i>
- </children>
- </node>
- <node name="rip">
- <properties>
- <help>Redistribute RIP routes into IS-IS</help>
- </properties>
- <children>
- #include <include/isis-redistribute-ipv4.xml.i>
- </children>
- </node>
- <node name="static">
- <properties>
- <help>Redistribute static routes into IS-IS</help>
- </properties>
- <children>
- #include <include/isis-redistribute-ipv4.xml.i>
- </children>
- </node>
- </children>
- </node>
- </children>
- </node>
- <leafNode name="set-attached-bit">
- <properties>
- <help>Set attached bit to identify as L1/L2 router for inter-area traffic</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="set-overload-bit">
- <properties>
- <help>Set overload bit to avoid any transit traffic</help>
- <valueless/>
- </properties>
- </leafNode>
- <node name="spf-delay-ietf">
- <properties>
- <help>IETF SPF delay algorithm</help>
- </properties>
- <children>
- <leafNode name="init-delay">
- <properties>
- <help>Delay used while in QUIET state</help>
- <valueHelp>
- <format>u32:0-60000</format>
- <description>Delay used while in QUIET state (in ms)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-60000"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="short-delay">
- <properties>
- <help>Delay used while in SHORT_WAIT state</help>
- <valueHelp>
- <format>u32:0-60000</format>
- <description>Delay used while in SHORT_WAIT state (in ms)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-60000"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="long-delay">
- <properties>
- <help>Delay used while in LONG_WAIT</help>
- <valueHelp>
- <format>u32:0-60000</format>
- <description>Delay used while in LONG_WAIT state (in ms)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-60000"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="holddown">
- <properties>
- <help>Time with no received IGP events before considering IGP stable</help>
- <valueHelp>
- <format>u32:0-60000</format>
- <description>Time with no received IGP events before considering IGP stable (in ms)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-60000"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="time-to-learn">
- <properties>
- <help>Maximum duration needed to learn all the events related to a single failure</help>
- <valueHelp>
- <format>u32:0-60000</format>
- <description>Maximum duration needed to learn all the events related to a single failure (in ms)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-60000"/>
- </constraint>
- </properties>
- </leafNode>
- </children>
- </node>
- <leafNode name="spf-interval">
- <properties>
- <help>Minimum interval between SPF calculations</help>
- <valueHelp>
- <format>u32:1-120</format>
- <description>Minimum interval between consecutive SPFs in seconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-120"/>
- </constraint>
- </properties>
- </leafNode>
- <tagNode name="interface">
- <!-- (config-if)# ip router isis WORD (same as name of IS-IS process)
- if any section of "interface" pesent -->
- <properties>
- <help>Interface params</help>
- <completionHelp>
- <script>${vyos_completion_dir}/list_interfaces.py</script>
- </completionHelp>
- </properties>
- <children>
- <leafNode name="bfd">
- <properties>
- <help>Enable BFD support</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="circuit-type">
- <properties>
- <help>Configure circuit type for interface</help>
- <completionHelp>
- <list>level-1 level-1-2 level-2-only</list>
- </completionHelp>
- <valueHelp>
- <format>level-1</format>
- <description>Level-1 only adjacencies are formed</description>
- </valueHelp>
- <valueHelp>
- <format>level-1-2</format>
- <description>Level-1-2 adjacencies are formed</description>
- </valueHelp>
- <valueHelp>
- <format>level-2-only</format>
- <description>Level-2 only adjacencies are formed</description>
- </valueHelp>
- <constraint>
- <regex>^(level-1|level-1-2|level-2-only)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="hello-padding">
- <properties>
- <help>Add padding to IS-IS hello packets</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="hello-interval">
- <properties>
- <help>Set Hello interval</help>
- <valueHelp>
- <format>u32:1-600</format>
- <description>Set Hello interval</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-600"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="hello-multiplier">
- <properties>
- <help>Set Hello interval</help>
- <valueHelp>
- <format>u32:2-100</format>
- <description>Set multiplier for Hello holding time</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 2-100"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="metric">
- <properties>
- <help>Set default metric for circuit</help>
- <valueHelp>
- <format>u32:0-16777215</format>
- <description>Default metric value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-16777215"/>
- </constraint>
- </properties>
- </leafNode>
- <node name="network">
- <properties>
- <help>Set network type</help>
- </properties>
- <children>
- <leafNode name="point-to-point">
- <properties>
- <help>point-to-point network type</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </node>
- <leafNode name="passive">
- <properties>
- <help>Configure the passive mode for interface</help>
- <valueless/>
- </properties>
- </leafNode>
- <node name="password">
- <properties>
- <help>Configure the authentication password for a circuit</help>
- </properties>
- <children>
- <leafNode name="plaintext-password">
- <properties>
- <help>Plain-text authentication type</help>
- <valueHelp>
- <format>txt</format>
- <description>Circuit password</description>
- </valueHelp>
- </properties>
- </leafNode>
- </children>
- </node>
- <leafNode name="priority">
- <properties>
- <help>Set priority for Designated Router election</help>
- <valueHelp>
- <format>u32:0-127</format>
- <description>Priority value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-127"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="psnp-interval">
- <properties>
- <help>Set PSNP interval in seconds</help>
- <valueHelp>
- <format>u32:0-127</format>
- <description>Priority value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-127"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="no-three-way-handshake">
- <properties>
- <help>Disable three-way handshake</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </tagNode>
+ #include <include/isis/protocol-common-config.xml.i>
</children>
- </tagNode>
+ </node>
</children>
</node>
</interfaceDefinition>
diff --git a/interface-definitions/protocols-multicast.xml.in b/interface-definitions/protocols-multicast.xml.in
index a06f2b287..1b1382352 100644
--- a/interface-definitions/protocols-multicast.xml.in
+++ b/interface-definitions/protocols-multicast.xml.in
@@ -38,7 +38,7 @@
<properties>
<help>Distance value for this route</help>
<valueHelp>
- <format>1-255</format>
+ <format>u32:1-255</format>
<description>Distance for this route</description>
</valueHelp>
<constraint>
@@ -74,7 +74,7 @@
<properties>
<help>Distance value for this route</help>
<valueHelp>
- <format>1-255</format>
+ <format>u32:1-255</format>
<description>Distance for this route</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/protocols-pim.xml.in b/interface-definitions/protocols-pim.xml.in
index 6152045a7..bb5cc797b 100644
--- a/interface-definitions/protocols-pim.xml.in
+++ b/interface-definitions/protocols-pim.xml.in
@@ -21,7 +21,7 @@
<properties>
<help>Designated Router Election Priority</help>
<valueHelp>
- <format>1-4294967295</format>
+ <format>u32:1-4294967295</format>
<description>Value of the new DR Priority</description>
</valueHelp>
<constraint>
@@ -33,7 +33,7 @@
<properties>
<help>Hello Interval</help>
<valueHelp>
- <format>1-180</format>
+ <format>u32:1-180</format>
<description>Hello Interval in seconds</description>
</valueHelp>
<constraint>
@@ -79,7 +79,7 @@
<properties>
<help>Keep alive Timer</help>
<valueHelp>
- <format>31-60000</format>
+ <format>u32:31-60000</format>
<description>Keep alive Timer in seconds</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/service_console-server.xml.in b/interface-definitions/service_console-server.xml.in
index 78eb2d0ba..28aa7ea71 100644
--- a/interface-definitions/service_console-server.xml.in
+++ b/interface-definitions/service_console-server.xml.in
@@ -27,7 +27,7 @@
</constraint>
</properties>
<children>
- #include <include/interface/interface-description.xml.i>
+ #include <include/interface/description.xml.i>
<leafNode name="speed">
<properties>
<help>Serial port baud rate</help>
diff --git a/interface-definitions/service_ipoe-server.xml.in b/interface-definitions/service_ipoe-server.xml.in
index 7c575ba77..b19acab56 100644
--- a/interface-definitions/service_ipoe-server.xml.in
+++ b/interface-definitions/service_ipoe-server.xml.in
@@ -111,7 +111,7 @@
</leafNode>
</children>
</tagNode>
- #include <include/accel-ppp/name-server.xml.i>
+ #include <include/name-server-ipv4-ipv6.xml.i>
#include <include/accel-ppp/client-ipv6-pool.xml.i>
<node name="authentication">
<properties>
diff --git a/interface-definitions/service_pppoe-server.xml.in b/interface-definitions/service_pppoe-server.xml.in
index 9d3420ed2..712e6549e 100644
--- a/interface-definitions/service_pppoe-server.xml.in
+++ b/interface-definitions/service_pppoe-server.xml.in
@@ -8,14 +8,8 @@
<priority>900</priority>
</properties>
<children>
+ #include <include/pppoe-access-concentrator.xml.i>
<leafNode name="access-concentrator">
- <properties>
- <help>Access concentrator name</help>
- <constraint>
- <regex>[a-zA-Z0-9]{1,100}</regex>
- </constraint>
- <constraintErrorMessage>access-concentrator name limited to alphanumerical characters only (max. 100)</constraintErrorMessage>
- </properties>
<defaultValue>vyos-ac</defaultValue>
</leafNode>
<node name="authentication">
@@ -65,7 +59,7 @@
</children>
</node>
#include <include/accel-ppp/client-ipv6-pool.xml.i>
- #include <include/accel-ppp/name-server.xml.i>
+ #include <include/name-server-ipv4-ipv6.xml.i>
<tagNode name="interface">
<properties>
<help>interface(s) to listen on</help>
@@ -129,7 +123,7 @@
<constraint>
<regex>[a-zA-Z0-9\-]{1,100}</regex>
</constraint>
- <constraintErrorMessage>servicename can contain aplhanumerical characters and dashes only (max. 100)</constraintErrorMessage>
+ <constraintErrorMessage>Service-name can contain aplhanumerical characters and dashes only (max. 100)</constraintErrorMessage>
<multi/>
</properties>
</leafNode>
@@ -273,7 +267,7 @@
<properties>
<help>PADO delays</help>
<valueHelp>
- <format>1-999999</format>
+ <format>u32:1-999999</format>
<description>Number in ms</description>
</valueHelp>
<constraint>
@@ -286,7 +280,7 @@
<properties>
<help>Number of sessions</help>
<valueHelp>
- <format>1-999999</format>
+ <format>u32:1-999999</format>
<description>Number of sessions</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/service_router-advert.xml.in b/interface-definitions/service_router-advert.xml.in
index 750ae314c..0f4009f5c 100644
--- a/interface-definitions/service_router-advert.xml.in
+++ b/interface-definitions/service_router-advert.xml.in
@@ -20,12 +20,12 @@
<properties>
<help>Set Hop Count field of the IP header for outgoing packets (default: 64)</help>
<valueHelp>
- <format>1-255</format>
- <description>Value should represent current diameter of the Internet</description>
+ <format>u32:0</format>
+ <description>Unspecified (by this router)</description>
</valueHelp>
<valueHelp>
- <format>0</format>
- <description>Unspecified (by this router)</description>
+ <format>u32:1-255</format>
+ <description>Value should represent current diameter of the Internet</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--range 0-255"/>
@@ -38,7 +38,7 @@
<properties>
<help>Lifetime associated with the default router in units of seconds</help>
<valueHelp>
- <format>4-9000</format>
+ <format>u32:4-9000</format>
<description>Router Lifetime in seconds</description>
</valueHelp>
<valueHelp>
@@ -86,7 +86,7 @@
<properties>
<help>Link MTU value placed in RAs, exluded in RAs if unset</help>
<valueHelp>
- <format>1280-9000</format>
+ <format>u32:1280-9000</format>
<description>Link MTU value in RAs</description>
</valueHelp>
<constraint>
@@ -110,7 +110,7 @@
<properties>
<help>Maximum interval between unsolicited multicast RAs (default: 600)</help>
<valueHelp>
- <format>4-1800</format>
+ <format>u32:4-1800</format>
<description>Maximum interval in seconds</description>
</valueHelp>
<constraint>
@@ -124,7 +124,7 @@
<properties>
<help>Minimum interval between unsolicited multicast RAs</help>
<valueHelp>
- <format>3-1350</format>
+ <format>u32:3-1350</format>
<description>Minimum interval in seconds</description>
</valueHelp>
<constraint>
@@ -135,19 +135,7 @@
</leafNode>
</children>
</node>
- <leafNode name="name-server">
- <properties>
- <help>IPv6 address of recursive DNS server</help>
- <valueHelp>
- <format>ipv6</format>
- <description>IPv6 address of DNS name server</description>
- </valueHelp>
- <constraint>
- <validator name="ipv6-address"/>
- </constraint>
- <multi/>
- </properties>
- </leafNode>
+ #include <include/name-server-ipv6.xml.i>
<leafNode name="other-config-flag">
<properties>
<help>Hosts use the administered (stateful) protocol for autoconfiguration of other (non-address) information</help>
@@ -173,7 +161,7 @@
<list>infinity</list>
</completionHelp>
<valueHelp>
- <format>1-4294967295</format>
+ <format>u32:1-4294967295</format>
<description>Time in seconds that the route will remain valid</description>
</valueHelp>
<valueHelp>
@@ -272,7 +260,7 @@
<list>infinity</list>
</completionHelp>
<valueHelp>
- <format>1-4294967295</format>
+ <format>u32:1-4294967295</format>
<description>Time in seconds that the prefix will remain valid</description>
</valueHelp>
<valueHelp>
@@ -292,12 +280,12 @@
<properties>
<help>Time, in milliseconds, that a node assumes a neighbor is reachable after having received a reachability confirmation</help>
<valueHelp>
- <format>1-3600000</format>
- <description>Reachable Time value in RAs (in milliseconds)</description>
+ <format>u32:0</format>
+ <description>Reachable Time unspecified by this router</description>
</valueHelp>
<valueHelp>
- <format>0</format>
- <description>Reachable Time unspecified by this router</description>
+ <format>u32:1-3600000</format>
+ <description>Reachable Time value in RAs (in milliseconds)</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--range 0-0 --range 1-3600000"/>
@@ -310,12 +298,12 @@
<properties>
<help>Time in milliseconds between retransmitted Neighbor Solicitation messages</help>
<valueHelp>
- <format>1-4294967295</format>
- <description>Minimum interval in milliseconds</description>
+ <format>u32:0</format>
+ <description>Time, in milliseconds, between retransmitted Neighbor Solicitation messages</description>
</valueHelp>
<valueHelp>
- <format>0</format>
- <description>Time, in milliseconds, between retransmitted Neighbor Solicitation messages</description>
+ <format>u32:1-4294967295</format>
+ <description>Minimum interval in milliseconds</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--range 0-0 --range 1-4294967295"/>
diff --git a/interface-definitions/service_webproxy.xml.in b/interface-definitions/service_webproxy.xml.in
index 7cb0f7ece..2fbac3df0 100644
--- a/interface-definitions/service_webproxy.xml.in
+++ b/interface-definitions/service_webproxy.xml.in
@@ -214,7 +214,7 @@
<properties>
<help>Cache peer options (default: "no-query default")</help>
<valueHelp>
- <format>text</format>
+ <format>txt</format>
<description>Cache peer options</description>
</valueHelp>
</properties>
diff --git a/interface-definitions/snmp.xml.in b/interface-definitions/snmp.xml.in
index f57103eac..3cb736bf7 100644
--- a/interface-definitions/snmp.xml.in
+++ b/interface-definitions/snmp.xml.in
@@ -626,7 +626,7 @@
</tagNode>
</children>
</node>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/interface/vrf.xml.i>
</children>
</node>
</children>
diff --git a/interface-definitions/ssh.xml.in b/interface-definitions/ssh.xml.in
index 54742f1d0..e3b9d16e1 100644
--- a/interface-definitions/ssh.xml.in
+++ b/interface-definitions/ssh.xml.in
@@ -138,7 +138,7 @@
<properties>
<help>Enable transmission of keepalives from server to client</help>
<valueHelp>
- <format>1-65535</format>
+ <format>u32:1-65535</format>
<description>Time interval in seconds for keepalive message</description>
</valueHelp>
<constraint>
@@ -146,7 +146,7 @@
</constraint>
</properties>
</leafNode>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/interface/vrf.xml.i>
</children>
</node>
</children>
diff --git a/interface-definitions/system-console.xml.in b/interface-definitions/system-console.xml.in
index 88f7f82a9..2897e5e97 100644
--- a/interface-definitions/system-console.xml.in
+++ b/interface-definitions/system-console.xml.in
@@ -74,6 +74,7 @@
<regex>^(1200|2400|4800|9600|19200|38400|57600|115200)$</regex>
</constraint>
</properties>
+ <defaultValue>115200</defaultValue>
</leafNode>
</children>
</tagNode>
diff --git a/interface-definitions/system-lcd.xml.in b/interface-definitions/system-lcd.xml.in
index 36116ae1b..4c9d5c92e 100644
--- a/interface-definitions/system-lcd.xml.in
+++ b/interface-definitions/system-lcd.xml.in
@@ -12,7 +12,7 @@
<properties>
<help>Model of the display attached to this system [REQUIRED]</help>
<completionHelp>
- <list>cfa-533 cfa-631 cfa-633 cfa-635 sdec</list>
+ <list>cfa-533 cfa-631 cfa-633 cfa-635 hd44780 sdec</list>
</completionHelp>
<valueHelp>
<format>cfa-533</format>
@@ -31,11 +31,15 @@
<description>Crystalfontz CFA-635</description>
</valueHelp>
<valueHelp>
+ <format>hd44780</format>
+ <description>Hitachi HD44780, Caswell Appliances</description>
+ </valueHelp>
+ <valueHelp>
<format>sdec</format>
<description>Lanner, Watchguard, Nexcom NSA, Sophos UTM appliances</description>
</valueHelp>
<constraint>
- <regex>^(cfa-533|cfa-631|cfa-633|cfa-635|sdec)$</regex>
+ <regex>^(cfa-533|cfa-631|cfa-633|cfa-635|hd44780|sdec)$</regex>
</constraint>
</properties>
</leafNode>
diff --git a/interface-definitions/system-login.xml.in b/interface-definitions/system-login.xml.in
index 86db3f368..4bfe82268 100644
--- a/interface-definitions/system-login.xml.in
+++ b/interface-definitions/system-login.xml.in
@@ -12,7 +12,7 @@
<properties>
<help>Local user account information</help>
<constraint>
- <regex>[a-zA-Z0-9\-_\.]{1,100}</regex>
+ <regex>^[-_a-zA-Z0-9.]{1,100}</regex>
</constraint>
<constraintErrorMessage>Username contains illegal characters or\nexceeds 100 character limitation.</constraintErrorMessage>
</properties>
@@ -52,7 +52,10 @@
<children>
<leafNode name="key">
<properties>
- <help>Public key value (base64-encoded)</help>
+ <help>Public key value (Base64 encoded)</help>
+ <constraint>
+ <validator name="base64"/>
+ </constraint>
</properties>
</leafNode>
<leafNode name="options">
@@ -145,7 +148,7 @@
</leafNode>
</children>
</tagNode>
- #include <include/interface/interface-vrf.xml.i>
+ #include <include/interface/vrf.xml.i>
</children>
</node>
</children>
diff --git a/interface-definitions/vpn_ipsec.xml.in b/interface-definitions/vpn_ipsec.xml.in
deleted file mode 100644
index 426d7e71c..000000000
--- a/interface-definitions/vpn_ipsec.xml.in
+++ /dev/null
@@ -1,1167 +0,0 @@
-<?xml version="1.0"?>
-<interfaceDefinition>
- <node name="vpn">
- <children>
- <node name="nipsec" owner="${vyos_conf_scripts_dir}/vpn_ipsec.py">
- <properties>
- <help>VPN IP security (IPsec) parameters</help>
- </properties>
- <children>
- <leafNode name="auto-update">
- <properties>
- <help>Set auto-update interval for IPsec daemon</help>
- <valueHelp>
- <format>u32:30-65535</format>
- <description>Auto-update interval (s)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 30-65535"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="disable-uniqreqids">
- <properties>
- <help>Option to disable requirement for unique IDs in the Security Database</help>
- <valueless/>
- </properties>
- </leafNode>
- <tagNode name="esp-group">
- <properties>
- <help>Name of Encapsulating Security Payload (ESP) group</help>
- </properties>
- <children>
- <leafNode name="compression">
- <properties>
- <help>ESP compression</help>
- <completionHelp>
- <list>disable enable</list>
- </completionHelp>
- <valueHelp>
- <format>disable</format>
- <description>Disable ESP compression (default)</description>
- </valueHelp>
- <valueHelp>
- <format>enable</format>
- <description>Enable ESP compression</description>
- </valueHelp>
- <constraint>
- <regex>^(disable|enable)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="lifetime">
- <properties>
- <help>ESP lifetime</help>
- <valueHelp>
- <format>u32:30-86400</format>
- <description>ESP lifetime in seconds (default 3600)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 30-86400"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="mode">
- <properties>
- <help>ESP mode</help>
- <completionHelp>
- <list>tunnel transport</list>
- </completionHelp>
- <valueHelp>
- <format>tunnel</format>
- <description>Tunnel mode (default)</description>
- </valueHelp>
- <valueHelp>
- <format>transport</format>
- <description>Transport mode</description>
- </valueHelp>
- <constraint>
- <regex>^(tunnel|transport)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="pfs">
- <properties>
- <help>ESP Perfect Forward Secrecy</help>
- <completionHelp>
- <list>enable dh-group1 dh-group2 dh-group5 dh-group14 dh-group15 dh-group16 dh-group17 dh-group18 dh-group19 dh-group20 dh-group21 dh-group22 dh-group23 dh-group24 dh-group25 dh-group26 dh-group27 dh-group28 dh-group29 dh-group30 dh-group31 dh-group32 disable</list>
- </completionHelp>
- <valueHelp>
- <format>enable</format>
- <description>Enable PFS. Use ike-groups dh-group (default)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group1</format>
- <description>Enable PFS. Use Diffie-Hellman group 1 (modp768)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group2</format>
- <description>Enable PFS. Use Diffie-Hellman group 2 (modp1024)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group5</format>
- <description>Enable PFS. Use Diffie-Hellman group 5 (modp1536)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group14</format>
- <description>Enable PFS. Use Diffie-Hellman group 14 (modp2048)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group15</format>
- <description>Enable PFS. Use Diffie-Hellman group 15 (modp3072)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group16</format>
- <description>Enable PFS. Use Diffie-Hellman group 16 (modp4096)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group17</format>
- <description>Enable PFS. Use Diffie-Hellman group 17 (modp6144)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group18</format>
- <description>Enable PFS. Use Diffie-Hellman group 18 (modp8192)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group19</format>
- <description>Enable PFS. Use Diffie-Hellman group 19 (ecp256)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group20</format>
- <description>Enable PFS. Use Diffie-Hellman group 20 (ecp384)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group21</format>
- <description>Enable PFS. Use Diffie-Hellman group 21 (ecp521)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group22</format>
- <description>Enable PFS. Use Diffie-Hellman group 22 (modp1024s160)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group23</format>
- <description>Enable PFS. Use Diffie-Hellman group 23 (modp2048s224)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group24</format>
- <description>Enable PFS. Use Diffie-Hellman group 24 (modp2048s256)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group25</format>
- <description>Enable PFS. Use Diffie-Hellman group 25 (ecp192)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group26</format>
- <description>Enable PFS. Use Diffie-Hellman group 26 (ecp224)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group27</format>
- <description>Enable PFS. Use Diffie-Hellman group 27 (ecp224bp)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group28</format>
- <description>Enable PFS. Use Diffie-Hellman group 28 (ecp256bp)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group29</format>
- <description>Enable PFS. Use Diffie-Hellman group 29 (ecp384bp)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group30</format>
- <description>Enable PFS. Use Diffie-Hellman group 30 (ecp512bp)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group31</format>
- <description>Enable PFS. Use Diffie-Hellman group 31 (curve25519)</description>
- </valueHelp>
- <valueHelp>
- <format>dh-group32</format>
- <description>Enable PFS. Use Diffie-Hellman group 32 (curve448)</description>
- </valueHelp>
- <valueHelp>
- <format>disable</format>
- <description>Disable PFS</description>
- </valueHelp>
- <constraint>
- <regex>^(enable|dh-group1|dh-group2|dh-group5|dh-group14|dh-group15|dh-group16|dh-group17|dh-group18|dh-group19|dh-group20|dh-group21|dh-group22|dh-group23|dh-group24|dh-group25|dh-group26|dh-group27|dh-group28|dh-group29|dh-group30|dh-group31|dh-group32|disable)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <tagNode name="proposal">
- <properties>
- <help>ESP-group proposal [REQUIRED]</help>
- <valueHelp>
- <format>u32:1-65535</format>
- <description>ESP-group proposal number</description>
- </valueHelp>
- </properties>
- <children>
- #include <include/vpn-ipsec-encryption.xml.i>
- #include <include/vpn-ipsec-hash.xml.i>
- </children>
- </tagNode>
- </children>
- </tagNode>
- <tagNode name="ike-group">
- <properties>
- <help>Name of Internet Key Exchange (IKE) group</help>
- </properties>
- <children>
- <leafNode name="close-action">
- <properties>
- <help>close-action_help</help>
- <completionHelp>
- <list>none hold clear restart</list>
- </completionHelp>
- <valueHelp>
- <format>none</format>
- <description>Set action to none (default)</description>
- </valueHelp>
- <valueHelp>
- <format>hold</format>
- <description>Set action to hold</description>
- </valueHelp>
- <valueHelp>
- <format>clear</format>
- <description>Set action to clear</description>
- </valueHelp>
- <valueHelp>
- <format>restart</format>
- <description>Set action to restart</description>
- </valueHelp>
- <constraint>
- <regex>^(none|hold|clear|restart)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <node name="dead-peer-detection">
- <properties>
- <help>Dead Peer Detection (DPD)</help>
- </properties>
- <children>
- <leafNode name="action">
- <properties>
- <help>Keep-alive failure action</help>
- <completionHelp>
- <list>hold clear restart</list>
- </completionHelp>
- <valueHelp>
- <format>hold</format>
- <description>Set action to hold (default)</description>
- </valueHelp>
- <valueHelp>
- <format>clear</format>
- <description>Set action to clear</description>
- </valueHelp>
- <valueHelp>
- <format>restart</format>
- <description>Set action to restart</description>
- </valueHelp>
- <constraint>
- <regex>^(hold|clear|restart)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="interval">
- <properties>
- <help>Keep-alive interval</help>
- <valueHelp>
- <format>u32:2-86400</format>
- <description>Keep-alive interval in seconds (default 30)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 2-86400"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="timeout">
- <properties>
- <help>Dead-Peer-Detection keep-alive timeout (IKEv1 only)</help>
- <valueHelp>
- <format>u32:2-86400</format>
- <description>Keep-alive timeout in seconds (default 120)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 2-86400"/>
- </constraint>
- </properties>
- </leafNode>
- </children>
- </node>
- <leafNode name="ikev2-reauth">
- <properties>
- <help>ikev2-reauth_help</help>
- <completionHelp>
- <list>yes no</list>
- </completionHelp>
- <valueHelp>
- <format>yes</format>
- <description>Enable remote host re-autentication during an IKE rekey. Currently broken due to a strong swan bug</description>
- </valueHelp>
- <valueHelp>
- <format>no</format>
- <description>Disable remote host re-authenticaton during an IKE rekey. (Default)</description>
- </valueHelp>
- <constraint>
- <regex>^(yes|no)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="key-exchange">
- <properties>
- <help>Key Exchange Version</help>
- <completionHelp>
- <list>ikev1 ikev2</list>
- </completionHelp>
- <valueHelp>
- <format>ikev1</format>
- <description>Use IKEv1 for Key Exchange [DEFAULT]</description>
- </valueHelp>
- <valueHelp>
- <format>ikev2</format>
- <description>Use IKEv2 for Key Exchange</description>
- </valueHelp>
- <constraint>
- <regex>^(ikev1|ikev2)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="lifetime">
- <properties>
- <help>IKE lifetime</help>
- <valueHelp>
- <format>u32:30-86400</format>
- <description>IKE lifetime in seconds (default 28800)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 30-86400"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="mobike">
- <properties>
- <help>Enable MOBIKE Support. MOBIKE is only available for IKEv2.</help>
- <completionHelp>
- <list>enable disable</list>
- </completionHelp>
- <valueHelp>
- <format>enable</format>
- <description>Enable MOBIKE (default for IKEv2)</description>
- </valueHelp>
- <valueHelp>
- <format>disable</format>
- <description>Disable MOBIKE</description>
- </valueHelp>
- <constraint>
- <regex>^(enable|disable)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="mode">
- <properties>
- <help>IKEv1 Phase 1 Mode Selection</help>
- <completionHelp>
- <list>main aggressive</list>
- </completionHelp>
- <valueHelp>
- <format>main</format>
- <description>Use Main mode for Key Exchanges in the IKEv1 Protocol (Recommended Default)</description>
- </valueHelp>
- <valueHelp>
- <format>aggressive</format>
- <description>Use Aggressive mode for Key Exchanges in the IKEv1 protocol - We do not recommend users to use aggressive mode as it is much more insecure compared to Main mode.</description>
- </valueHelp>
- <constraint>
- <regex>^(main|aggressive)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <tagNode name="proposal">
- <properties>
- <help>proposal_help</help>
- <valueHelp>
- <format>u32:1-65535</format>
- <description>IKE-group proposal</description>
- </valueHelp>
- </properties>
- <children>
- <leafNode name="dh-group">
- <properties>
- <help>dh-grouphelp</help>
- <completionHelp>
- <list>1 2 5 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32</list>
- </completionHelp>
- <valueHelp>
- <format>1</format>
- <description>Diffie-Hellman group 1 (modp768)</description>
- </valueHelp>
- <valueHelp>
- <format>2</format>
- <description>Diffie-Hellman group 2 (modp1024)</description>
- </valueHelp>
- <valueHelp>
- <format>5</format>
- <description>Diffie-Hellman group 5 (modp1536)</description>
- </valueHelp>
- <valueHelp>
- <format>14</format>
- <description>Diffie-Hellman group 14 (modp2048)</description>
- </valueHelp>
- <valueHelp>
- <format>15</format>
- <description>Diffie-Hellman group 15 (modp3072)</description>
- </valueHelp>
- <valueHelp>
- <format>16</format>
- <description>Diffie-Hellman group 16 (modp4096)</description>
- </valueHelp>
- <valueHelp>
- <format>17</format>
- <description>Diffie-Hellman group 17 (modp6144)</description>
- </valueHelp>
- <valueHelp>
- <format>18</format>
- <description>Diffie-Hellman group 18 (modp8192)</description>
- </valueHelp>
- <valueHelp>
- <format>19</format>
- <description>Diffie-Hellman group 19 (ecp256)</description>
- </valueHelp>
- <valueHelp>
- <format>20</format>
- <description>Diffie-Hellman group 20 (ecp384)</description>
- </valueHelp>
- <valueHelp>
- <format>21</format>
- <description>Diffie-Hellman group 21 (ecp521)</description>
- </valueHelp>
- <valueHelp>
- <format>22</format>
- <description>Diffie-Hellman group 22 (modp1024s160)</description>
- </valueHelp>
- <valueHelp>
- <format>23</format>
- <description>Diffie-Hellman group 23 (modp2048s224)</description>
- </valueHelp>
- <valueHelp>
- <format>24</format>
- <description>Diffie-Hellman group 24 (modp2048s256)</description>
- </valueHelp>
- <valueHelp>
- <format>25</format>
- <description>Diffie-Hellman group 25 (ecp192)</description>
- </valueHelp>
- <valueHelp>
- <format>26</format>
- <description>Diffie-Hellman group 26 (ecp224)</description>
- </valueHelp>
- <valueHelp>
- <format>27</format>
- <description>Diffie-Hellman group 27 (ecp224bp)</description>
- </valueHelp>
- <valueHelp>
- <format>28</format>
- <description>Diffie-Hellman group 28 (ecp256bp)</description>
- </valueHelp>
- <valueHelp>
- <format>29</format>
- <description>Diffie-Hellman group 29 (ecp384bp)</description>
- </valueHelp>
- <valueHelp>
- <format>30</format>
- <description>Diffie-Hellman group 30 (ecp512bp)</description>
- </valueHelp>
- <valueHelp>
- <format>31</format>
- <description>Diffie-Hellman group 31 (curve25519)</description>
- </valueHelp>
- <valueHelp>
- <format>32</format>
- <description>Diffie-Hellman group 32 (curve448)</description>
- </valueHelp>
- <constraint>
- <regex>^(1|2|5|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32)$</regex>
- </constraint>
- </properties>
- </leafNode>
- #include <include/vpn-ipsec-encryption.xml.i>
- #include <include/vpn-ipsec-hash.xml.i>
- </children>
- </tagNode>
- </children>
- </tagNode>
- <leafNode name="include-ipsec-conf">
- <properties>
- <help>Sets to include an additional configuration directive file for strongSwan. Use an absolute path to specify the included file</help>
- </properties>
- </leafNode>
- <leafNode name="include-ipsec-secrets">
- <properties>
- <help>Sets to include an additional secrets file for strongSwan. Use an absolute path to specify the included file.</help>
- </properties>
- </leafNode>
- <node name="ipsec-interfaces">
- <properties>
- <help>Interface to use for VPN [REQUIRED]</help>
- </properties>
- <children>
- <leafNode name="interface">
- <properties>
- <help>IPsec interface [REQUIRED]</help>
- <completionHelp>
- <script>${vyos_completion_dir}/list_interfaces.py</script>
- </completionHelp>
- <multi/>
- </properties>
- </leafNode>
- </children>
- </node>
- <node name="logging">
- <properties>
- <help>IPsec logging</help>
- </properties>
- <children>
- <leafNode name="log-level">
- <properties>
- <help>strongSwan Logger Level</help>
- <valueHelp>
- <format>u32:0-2</format>
- <description>Logger Verbosity Level (default 0)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-2"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="log-modes">
- <properties>
- <help>Log mode. To see what each log mode exactly does, please refer to the strongSwan documentation</help>
- <completionHelp>
- <list>dmn mgr ike chd job cfg knl net asn enc lib esp tls tnc imc imv pts any</list>
- </completionHelp>
- <valueHelp>
- <format>dmn</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>mgr</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>ike</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>chd</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>job</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>cfg</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>knl</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>net</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>asn</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>enc</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>lib</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>esp</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>tls</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>tnc</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>imc</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>imv</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>pts</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <valueHelp>
- <format>any</format>
- <description>Debug log option for strongSwan</description>
- </valueHelp>
- <constraint>
- <regex>^(dmn|mgr|ike|chd|job|cfg|knl|net|asn|enc|lib|esp|tls|tnc|imc|imv|pts|any)$</regex>
- </constraint>
- <multi/>
- </properties>
- </leafNode>
- </children>
- </node>
- <node name="nat-networks">
- <properties>
- <help>Network Address Translation (NAT) networks</help>
- </properties>
- <children>
- <tagNode name="allowed-network">
- <properties>
- <help>NAT networks to allow</help>
- <valueHelp>
- <format>ipv4net</format>
- <description>NAT networks to allow</description>
- </valueHelp>
- <constraint>
- <validator name="ip-prefix"/>
- </constraint>
- </properties>
- <children>
- <leafNode name="exclude">
- <properties>
- <help>NAT networks to exclude from allowed-networks</help>
- <valueHelp>
- <format>ipv4net</format>
- <description>NAT networks to exclude from allowed-networks</description>
- </valueHelp>
- <constraint>
- <validator name="ip-prefix"/>
- </constraint>
- <multi/>
- </properties>
- </leafNode>
- </children>
- </tagNode>
- </children>
- </node>
- <leafNode name="nat-traversal">
- <properties>
- <help>Network Address Translation (NAT) traversal</help>
- <completionHelp>
- <list>disable enable</list>
- </completionHelp>
- <valueHelp>
- <format>disable</format>
- <description>Disable NAT-T</description>
- </valueHelp>
- <valueHelp>
- <format>enable</format>
- <description>Enable NAT-T</description>
- </valueHelp>
- <constraint>
- <regex>^(disable|enable)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <node name="options">
- <properties>
- <help>Global IPsec settings</help>
- </properties>
- <children>
- <leafNode name="disable-route-autoinstall">
- <properties>
- <help>Do not automatically install routes to remote networks</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </node>
- <tagNode name="profile">
- <properties>
- <help>VPN IPSec Profile</help>
- </properties>
- <children>
- <node name="authentication">
- <properties>
- <help>Authentication [REQUIRED]</help>
- </properties>
- <children>
- <node name="mode">
- <properties>
- <help>Authentication mode</help>
- </properties>
- <children>
- <leafNode name="pre-shared-secret">
- <properties>
- <help>Use pre-shared secret key</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </node>
- <leafNode name="pre-shared-secret">
- <properties>
- <help>Pre-shared secret key</help>
- <valueHelp>
- <format>txt</format>
- <description>Pre-shared secret key</description>
- </valueHelp>
- </properties>
- </leafNode>
- </children>
- </node>
- <node name="bind">
- <properties>
- <help>DMVPN crypto configuration</help>
- </properties>
- <children>
- <leafNode name="bind_child">
- <properties>
- <help>bind_child_help</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </node>
- <leafNode name="esp-group">
- <properties>
- <help>Esp group name [REQUIRED]</help>
- <completionHelp>
- <path>vpn ipsec esp-group</path>
- </completionHelp>
- </properties>
- </leafNode>
- <leafNode name="ike-group">
- <properties>
- <help>Ike group name [REQUIRED]</help>
- <completionHelp>
- <path>vpn ipsec ike-group</path>
- </completionHelp>
- </properties>
- </leafNode>
- </children>
- </tagNode>
- <node name="site-to-site">
- <properties>
- <help>Site to site VPN</help>
- </properties>
- <children>
- <tagNode name="peer">
- <properties>
- <help>VPN peer</help>
- <valueHelp>
- <format>ipv4</format>
- <description>IPv4 address of the peer</description>
- </valueHelp>
- <valueHelp>
- <format>ipv6</format>
- <description>IPv6 address of the peer</description>
- </valueHelp>
- <valueHelp>
- <format>txt</format>
- <description>Hostname of the peer</description>
- </valueHelp>
- <valueHelp>
- <format>&lt;@text&gt;</format>
- <description>ID of the peer</description>
- </valueHelp>
- </properties>
- <children>
- <node name="authentication">
- <properties>
- <help>Peer authentication [REQUIRED]</help>
- </properties>
- <children>
- <leafNode name="id">
- <properties>
- <help>ID for peer authentication</help>
- <valueHelp>
- <format>txt</format>
- <description>ID used for peer authentication</description>
- </valueHelp>
- </properties>
- </leafNode>
- <leafNode name="mode">
- <properties>
- <help>Authentication mode</help>
- <completionHelp>
- <list>pre-shared-secret rsa x509</list>
- </completionHelp>
- <valueHelp>
- <format>pre-shared-secret</format>
- <description>pre-shared-secret_description</description>
- </valueHelp>
- <valueHelp>
- <format>rsa</format>
- <description>rsa_description</description>
- </valueHelp>
- <valueHelp>
- <format>x509</format>
- <description>x509_description</description>
- </valueHelp>
- <constraint>
- <regex>^(pre-shared-secret|rsa|x509)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="pre-shared-secret">
- <properties>
- <help>Pre-shared secret key</help>
- <valueHelp>
- <format>txt</format>
- <description>Pre-shared secret key</description>
- </valueHelp>
- </properties>
- </leafNode>
- <leafNode name="remote-id">
- <properties>
- <help>ID for remote authentication</help>
- <valueHelp>
- <format>txt</format>
- <description>ID used for peer authentication</description>
- </valueHelp>
- </properties>
- </leafNode>
- <leafNode name="rsa-key-name">
- <properties>
- <help>RSA key name</help>
- </properties>
- </leafNode>
- <leafNode name="use-x509-id">
- <properties>
- <help>Use certificate common name as ID</help>
- <valueless/>
- </properties>
- </leafNode>
- <node name="x509">
- <properties>
- <help>X.509 certificate</help>
- </properties>
- <children>
- #include <include/certificate.xml.i>
- #include <include/certificate-ca.xml.i>
- <leafNode name="crl-file">
- <properties>
- <help>File containing the X.509 Certificate Revocation List (CRL)</help>
- <valueHelp>
- <format>txt</format>
- <description>File in /config/auth</description>
- </valueHelp>
- </properties>
- </leafNode>
- <node name="key">
- <properties>
- <help>Key file and password to open it</help>
- </properties>
- <children>
- <leafNode name="file">
- <properties>
- <help>File containing the private key for the X.509 certificate for this host</help>
- <valueHelp>
- <format>txt</format>
- <description>File in /config/auth</description>
- </valueHelp>
- </properties>
- </leafNode>
- <leafNode name="password">
- <properties>
- <help>Password that protects the private key</help>
- <valueHelp>
- <format>txt</format>
- <description>Password that protects the private key</description>
- </valueHelp>
- </properties>
- </leafNode>
- </children>
- </node>
- </children>
- </node>
- </children>
- </node>
- <leafNode name="connection-type">
- <properties>
- <help>Connection type</help>
- <completionHelp>
- <list>initiate respond</list>
- </completionHelp>
- <valueHelp>
- <format>initiate</format>
- <description>initiate_description</description>
- </valueHelp>
- <valueHelp>
- <format>respond</format>
- <description>respond_description</description>
- </valueHelp>
- <constraint>
- <regex>^(initiate|respond)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="default-esp-group">
- <properties>
- <help>Defult ESP group name</help>
- </properties>
- </leafNode>
- <leafNode name="description">
- <properties>
- <help>VPN peer description</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="dhcp-interface">
- <properties>
- <help>DHCP interface to listen on</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="force-encapsulation">
- <properties>
- <help>Force UDP Encapsulation for ESP Payloads</help>
- <completionHelp>
- <list>enable disable</list>
- </completionHelp>
- <valueHelp>
- <format>enable</format>
- <description>This endpoint will force UDP encapsulation for this peer</description>
- </valueHelp>
- <valueHelp>
- <format>disable</format>
- <description>This endpoint will not force UDP encapsulation for this peer</description>
- </valueHelp>
- <constraint>
- <regex>^(enable|disable)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="ike-group">
- <properties>
- <help>Internet Key Exchange (IKE) group name [REQUIRED]</help>
- <completionHelp>
- <path>vpn ipsec ike-group</path>
- </completionHelp>
- </properties>
- </leafNode>
- <leafNode name="ikev2-reauth">
- <properties>
- <help>Re-authentication of the remote peer during an IKE re-key. IKEv2 option only</help>
- <completionHelp>
- <list>yes no inherit</list>
- </completionHelp>
- <valueHelp>
- <format>yes</format>
- <description>Enable remote host re-autentication during an IKE re-key. Currently broken due to a strong swan bug</description>
- </valueHelp>
- <valueHelp>
- <format>no</format>
- <description>Disable remote host re-authenticaton during an IKE re-key.</description>
- </valueHelp>
- <valueHelp>
- <format>inherit</format>
- <description>Inherit the reauth configuration form your IKE-group (Default)</description>
- </valueHelp>
- <constraint>
- <regex>^(yes|no|inherit)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="local-address">
- <properties>
- <help>IPv4 or IPv6 address of a local interface to use for VPN</help>
- <completionHelp>
- <list>any</list>
- </completionHelp>
- <valueHelp>
- <format>ipv4</format>
- <description>IPv4 address of a local interface for VPN</description>
- </valueHelp>
- <valueHelp>
- <format>ipv6</format>
- <description>IPv6 address of a local interface for VPN</description>
- </valueHelp>
- <valueHelp>
- <format>any</format>
- <description>Allow any IPv4 address present on the system to be used for VPN</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
- <regex>^(any)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <tagNode name="tunnel">
- <properties>
- <help>Peer tunnel [REQUIRED]</help>
- <valueHelp>
- <format>u32</format>
- <description>Peer tunnel [REQUIRED]</description>
- </valueHelp>
- </properties>
- <children>
- <leafNode name="allow-nat-networks">
- <properties>
- <help>Option to allow NAT networks</help>
- <completionHelp>
- <list>enable disable</list>
- </completionHelp>
- <valueHelp>
- <format>enable</format>
- <description>Enable NAT networks</description>
- </valueHelp>
- <valueHelp>
- <format>disable</format>
- <description>Disable NAT networks (default)</description>
- </valueHelp>
- <constraint>
- <regex>^(enable|disable)$</regex>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="allow-public-networks">
- <properties>
- <help>Option to allow public networks</help>
- <completionHelp>
- <list>enable disable</list>
- </completionHelp>
- <valueHelp>
- <format>enable</format>
- <description>Enable public networks</description>
- </valueHelp>
- <valueHelp>
- <format>disable</format>
- <description>Disable public networks (default)</description>
- </valueHelp>
- <constraint>
- <regex>^(enable|disable)$</regex>
- </constraint>
- </properties>
- </leafNode>
- #include <include/generic-disable-node.xml.i>
- <leafNode name="esp-group">
- <properties>
- <help>ESP group name</help>
- <completionHelp>
- <path>vpn ipsec esp-group</path>
- </completionHelp>
- </properties>
- </leafNode>
- <node name="local">
- <properties>
- <help>Local parameters for interesting traffic</help>
- </properties>
- <children>
- <leafNode name="port">
- <properties>
- <help>Any TCP or UDP port</help>
- <valueHelp>
- <format>port name</format>
- <description>Named port (any name in /etc/services, e.g., http)</description>
- </valueHelp>
- <valueHelp>
- <format>u32:1-65535</format>
- <description>Numbered port</description>
- </valueHelp>
- </properties>
- </leafNode>
- <leafNode name="prefix">
- <properties>
- <help>Local IPv4 or IPv6 prefix</help>
- <valueHelp>
- <format>ipv4</format>
- <description>Local IPv4 prefix</description>
- </valueHelp>
- <valueHelp>
- <format>ipv6</format>
- <description>Local IPv6 prefix</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-prefix"/>
- <validator name="ipv6-prefix"/>
- </constraint>
- </properties>
- </leafNode>
- </children>
- </node>
- <leafNode name="protocol">
- <properties>
- <help>Protocol to encrypt</help>
- <valueless/>
- </properties>
- </leafNode>
- <node name="remote">
- <properties>
- <help>Remote parameters for interesting traffic</help>
- </properties>
- <children>
- <leafNode name="port">
- <properties>
- <help>Any TCP or UDP port</help>
- <valueHelp>
- <format>port name</format>
- <description>Named port (any name in /etc/services, e.g., http)</description>
- </valueHelp>
- <valueHelp>
- <format>u32:1-65535</format>
- <description>Numbered port</description>
- </valueHelp>
- </properties>
- </leafNode>
- <leafNode name="prefix">
- <properties>
- <help>Remote IPv4 or IPv6 prefix</help>
- <valueHelp>
- <format>ipv4</format>
- <description>Remote IPv4 prefix</description>
- </valueHelp>
- <valueHelp>
- <format>ipv6</format>
- <description>Remote IPv6 prefix</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-prefix"/>
- <validator name="ipv6-prefix"/>
- </constraint>
- </properties>
- </leafNode>
- </children>
- </node>
- </children>
- </tagNode>
- <node name="vti">
- <properties>
- <help>Virtual tunnel interface [REQUIRED]</help>
- </properties>
- <children>
- <leafNode name="bind">
- <properties>
- <help>VTI tunnel interface associated with this configuration [REQUIRED]</help>
- </properties>
- </leafNode>
- <leafNode name="esp-group">
- <properties>
- <help>ESP group name [REQUIRED]</help>
- <completionHelp>
- <path>vpn ipsec esp-group</path>
- </completionHelp>
- </properties>
- </leafNode>
- </children>
- </node>
- </children>
- </tagNode>
- </children>
- </node>
- </children>
- </node>
- </children>
- </node>
-</interfaceDefinition>
diff --git a/interface-definitions/vpn_l2tp.xml.in b/interface-definitions/vpn_l2tp.xml.in
index 5bdebcb05..ff3219866 100644
--- a/interface-definitions/vpn_l2tp.xml.in
+++ b/interface-definitions/vpn_l2tp.xml.in
@@ -22,7 +22,7 @@
</properties>
</leafNode>
#include <include/accel-ppp/gateway-address.xml.i>
- #include <include/accel-ppp/name-server.xml.i>
+ #include <include/name-server-ipv4-ipv6.xml.i>
<node name="lns">
<properties>
<help>L2TP Network Server (LNS)</help>
@@ -33,6 +33,11 @@
<help>Tunnel password used to authenticate the client (LAC)</help>
</properties>
</leafNode>
+ <leafNode name="host-name">
+ <properties>
+ <help>Sent to the client (LAC) in the Host-Name attribute</help>
+ </properties>
+ </leafNode>
</children>
</node>
<leafNode name="ccp-disable">
@@ -220,9 +225,9 @@
#include <include/accel-ppp/radius-additions-disable-accounting.xml.i>
<leafNode name="fail-time">
<properties>
- <help>Mark server unavailable for &lt;n&gt; seconds on failure</help>
+ <help>Mark server unavailable for N seconds on failure</help>
<valueHelp>
- <format>0-600</format>
+ <format>u32:0-600</format>
<description>Fail time penalty</description>
</valueHelp>
<constraint>
diff --git a/interface-definitions/vpn_openconnect.xml.in b/interface-definitions/vpn_openconnect.xml.in
index 1a9d39a12..f35b1ebbd 100644
--- a/interface-definitions/vpn_openconnect.xml.in
+++ b/interface-definitions/vpn_openconnect.xml.in
@@ -75,7 +75,7 @@
</node>
<node name="listen-ports">
<properties>
- <help>SSL Certificate, SSL Key and CA (/config/auth)</help>
+ <help>Specify custom ports to use for client connections</help>
</properties>
<children>
<leafNode name="tcp">
@@ -190,7 +190,7 @@
</leafNode>
</children>
</node>
- #include <include/accel-ppp/name-server.xml.i>
+ #include <include/name-server-ipv4-ipv6.xml.i>
</children>
</node>
</children>
diff --git a/interface-definitions/vpn_pptp.xml.in b/interface-definitions/vpn_pptp.xml.in
index 91c8cd76f..9b84a00c1 100644
--- a/interface-definitions/vpn_pptp.xml.in
+++ b/interface-definitions/vpn_pptp.xml.in
@@ -21,19 +21,7 @@
</constraint>
</properties>
</leafNode>
- <leafNode name="name-server">
- <properties>
- <help>Domain Name Server (DNS) propagated to client</help>
- <valueHelp>
- <format>ipv4</format>
- <description>Domain Name Server (DNS) IPv4 address</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- </constraint>
- <multi/>
- </properties>
- </leafNode>
+ #include <include/name-server-ipv4.xml.i>
#include <include/accel-ppp/wins-server.xml.i>
<node name="client-ip-pool">
<properties>
diff --git a/interface-definitions/vpn_sstp.xml.in b/interface-definitions/vpn_sstp.xml.in
index e4ade844d..ad905a1f0 100644
--- a/interface-definitions/vpn_sstp.xml.in
+++ b/interface-definitions/vpn_sstp.xml.in
@@ -25,9 +25,9 @@
</node>
</children>
</node>
- #include <include/interface/interface-mtu-68-1500.xml.i>
+ #include <include/interface/mtu-68-1500.xml.i>
#include <include/accel-ppp/gateway-address.xml.i>
- #include <include/accel-ppp/name-server.xml.i>
+ #include <include/name-server-ipv4-ipv6.xml.i>
<node name="client-ip-pool">
<properties>
<help>Client IP pools and gateway setting</help>
@@ -43,6 +43,8 @@
</properties>
<children>
#include <include/accel-ppp/ppp-mppe.xml.i>
+ #include <include/accel-ppp/ppp-options-ipv4.xml.i>
+ #include <include/accel-ppp/ppp-options-ipv6.xml.i>
#include <include/accel-ppp/lcp-echo-interval-failure.xml.i>
#include <include/accel-ppp/lcp-echo-timeout.xml.i>
</children>
diff --git a/interface-definitions/vrf.xml.in b/interface-definitions/vrf.xml.in
index 5fd758a44..306b15d60 100644
--- a/interface-definitions/vrf.xml.in
+++ b/interface-definitions/vrf.xml.in
@@ -30,17 +30,17 @@
<properties>
<help>Routing table associated with this instance</help>
<valueHelp>
- <format>100-2147483647</format>
+ <format>u32:100-65535</format>
<description>Routing table ID</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 100-2147483647"/>
+ <validator name="numeric" argument="--range 100-65535"/>
</constraint>
- <constraintErrorMessage>VRF routing table must be in range from 100 to 2147483647</constraintErrorMessage>
+ <constraintErrorMessage>VRF routing table must be in range from 100 to 65535</constraintErrorMessage>
</properties>
</leafNode>
- #include <include/interface/interface-description.xml.i>
- #include <include/interface/interface-disable.xml.i>
+ #include <include/interface/description.xml.i>
+ #include <include/interface/disable.xml.i>
</children>
</tagNode>
</children>
diff --git a/interface-definitions/vrrp.xml.in b/interface-definitions/vrrp.xml.in
index 54cd44275..b58cf735c 100644
--- a/interface-definitions/vrrp.xml.in
+++ b/interface-definitions/vrrp.xml.in
@@ -35,6 +35,7 @@
<validator name="numeric" argument="--range 1-255"/>
</constraint>
</properties>
+ <defaultValue>1</defaultValue>
</leafNode>
<node name="authentication">
<properties>
@@ -45,7 +46,7 @@
<properties>
<help>VRRP password</help>
<valueHelp>
- <format>text</format>
+ <format>txt</format>
<description>Password string (up to 8 characters)</description>
</valueHelp>
<constraint>
@@ -60,6 +61,14 @@
<completionHelp>
<list>plaintext-password ah</list>
</completionHelp>
+ <valueHelp>
+ <format>plaintext-password</format>
+ <description>Simple password string</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ah</format>
+ <description>AH - IPSEC (not recommended)</description>
+ </valueHelp>
<constraint>
<regex>^(plaintext-password|ah)$</regex>
</constraint>
@@ -86,6 +95,7 @@
<validator name="numeric" argument="--positive" />
</constraint>
</properties>
+ <defaultValue>3</defaultValue>
</leafNode>
<leafNode name="interval">
<properties>
@@ -94,6 +104,7 @@
<validator name="numeric" argument="--positive"/>
</constraint>
</properties>
+ <defaultValue>60</defaultValue>
</leafNode>
<leafNode name="script">
<properties>
@@ -156,6 +167,7 @@
<validator name="numeric" argument="--range 0-1000"/>
</constraint>
</properties>
+ <defaultValue>0</defaultValue>
</leafNode>
<leafNode name="priority">
<properties>
@@ -168,6 +180,7 @@
<validator name="numeric" argument="--range 1-255"/>
</constraint>
</properties>
+ <defaultValue>100</defaultValue>
</leafNode>
<leafNode name="rfc3768-compatibility">
<properties>
@@ -282,7 +295,7 @@
<multi/>
<help>Sync group member</help>
<valueHelp>
- <format>text</format>
+ <format>txt</format>
<description>VRRP group name</description>
</valueHelp>
<completionHelp>