summaryrefslogtreecommitdiff
path: root/interface-definitions/include
diff options
context:
space:
mode:
Diffstat (limited to 'interface-definitions/include')
-rw-r--r--interface-definitions/include/accel-auth-mode.xml.i19
-rw-r--r--interface-definitions/include/accel-client-ipv6-pool.xml.in59
-rw-r--r--interface-definitions/include/accel-name-server.xml.in18
-rw-r--r--interface-definitions/include/accel-radius-additions.xml.in125
-rw-r--r--interface-definitions/include/accel-wins-server.xml.i13
-rw-r--r--interface-definitions/include/address-ipv4-ipv6-dhcp.xml.i29
-rw-r--r--interface-definitions/include/address-ipv4-ipv6.xml.i17
-rw-r--r--interface-definitions/include/bgp-afi-aggregate-address.xml.i12
-rw-r--r--interface-definitions/include/bgp-afi-redistribute-metric-route-map.xml.i17
-rw-r--r--interface-definitions/include/bgp-neighbor-afi-ipv4-unicast.xml.i285
-rw-r--r--interface-definitions/include/bgp-neighbor-afi-ipv6-unicast.xml.i322
-rw-r--r--interface-definitions/include/bgp-peer-group-afi-ipv4-unicast.xml.i301
-rw-r--r--interface-definitions/include/bgp-peer-group-afi-ipv6-unicast.xml.i317
-rw-r--r--interface-definitions/include/dhcp-options.xml.i22
-rw-r--r--interface-definitions/include/dhcpv6-options.xml.i86
-rw-r--r--interface-definitions/include/interface-arp-cache-timeout.xml.i14
-rw-r--r--interface-definitions/include/interface-description.xml.i9
-rw-r--r--interface-definitions/include/interface-disable-arp-filter.xml.i6
-rw-r--r--interface-definitions/include/interface-disable-link-detect.xml.i6
-rw-r--r--interface-definitions/include/interface-disable.xml.i6
-rw-r--r--interface-definitions/include/interface-enable-arp-accept.xml.i6
-rw-r--r--interface-definitions/include/interface-enable-arp-announce.xml.i6
-rw-r--r--interface-definitions/include/interface-enable-arp-ignore.xml.i6
-rw-r--r--interface-definitions/include/interface-enable-proxy-arp.xml.i6
-rw-r--r--interface-definitions/include/interface-hw-id.xml.i12
-rw-r--r--interface-definitions/include/interface-ipv4.xml.i11
-rw-r--r--interface-definitions/include/interface-ipv6.xml.i10
-rw-r--r--interface-definitions/include/interface-mac.xml.i12
-rw-r--r--interface-definitions/include/interface-mtu-1200-9000.xml.i14
-rw-r--r--interface-definitions/include/interface-mtu-1450-9000.xml.i14
-rw-r--r--interface-definitions/include/interface-mtu-64-8024.xml.i14
-rw-r--r--interface-definitions/include/interface-mtu-68-1500.xml.i14
-rw-r--r--interface-definitions/include/interface-mtu-68-9000.xml.i14
-rw-r--r--interface-definitions/include/interface-proxy-arp-pvlan.xml.i6
-rw-r--r--interface-definitions/include/interface-vrf.xml.i12
-rw-r--r--interface-definitions/include/ipv6-address.xml.i29
-rw-r--r--interface-definitions/include/ipv6-disable-forwarding.xml.i6
-rw-r--r--interface-definitions/include/ipv6-dup-addr-detect-transmits.xml.i16
-rw-r--r--interface-definitions/include/isis-redistribute-ipv4.xml.i82
-rw-r--r--interface-definitions/include/nat-address.xml.i37
-rw-r--r--interface-definitions/include/nat-interface.xml.i9
-rw-r--r--interface-definitions/include/nat-port.xml.i17
-rw-r--r--interface-definitions/include/nat-rule.xml.i303
-rw-r--r--interface-definitions/include/nat-translation-port.xml.i13
-rw-r--r--interface-definitions/include/port-number.xml.i12
-rw-r--r--interface-definitions/include/radius-server.xml.i56
-rw-r--r--interface-definitions/include/rip-redistribute.xml.i24
-rw-r--r--interface-definitions/include/source-address-ipv4-ipv6.xml.i17
-rw-r--r--interface-definitions/include/source-interface-ethernet.xml.i12
-rw-r--r--interface-definitions/include/source-interface.xml.i12
-rw-r--r--interface-definitions/include/vif-s.xml.i67
-rw-r--r--interface-definitions/include/vif.xml.i65
52 files changed, 2617 insertions, 0 deletions
diff --git a/interface-definitions/include/accel-auth-mode.xml.i b/interface-definitions/include/accel-auth-mode.xml.i
new file mode 100644
index 000000000..e719112db
--- /dev/null
+++ b/interface-definitions/include/accel-auth-mode.xml.i
@@ -0,0 +1,19 @@
+<leafNode name="mode">
+ <properties>
+ <help>Authentication mode used by this server</help>
+ <valueHelp>
+ <format>local</format>
+ <description>Use local username/password configuration</description>
+ </valueHelp>
+ <valueHelp>
+ <format>radius</format>
+ <description>Use RADIUS server for user autentication</description>
+ </valueHelp>
+ <constraint>
+ <regex>(local|radius)</regex>
+ </constraint>
+ <completionHelp>
+ <list>local radius</list>
+ </completionHelp>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/accel-client-ipv6-pool.xml.in b/interface-definitions/include/accel-client-ipv6-pool.xml.in
new file mode 100644
index 000000000..455ada6ef
--- /dev/null
+++ b/interface-definitions/include/accel-client-ipv6-pool.xml.in
@@ -0,0 +1,59 @@
+<node name="client-ipv6-pool">
+ <properties>
+ <help>Pool of client IPv6 addresses</help>
+ </properties>
+ <children>
+ <tagNode name="prefix">
+ <properties>
+ <help>Pool of addresses used to assign to clients</help>
+ <valueHelp>
+ <format>ipv6net</format>
+ <description>IPv6 address and prefix length</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv6-prefix"/>
+ </constraint>
+ </properties>
+ <children>
+ <leafNode name="mask">
+ <properties>
+ <help>Prefix length used for individual client</help>
+ <valueHelp>
+ <format>&lt;48-128&gt;</format>
+ <description>Client prefix length (default: 64)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 48-128"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ <tagNode name="delegate">
+ <properties>
+ <help>Subnet used to delegate prefix through DHCPv6-PD (RFC3633)</help>
+ <valueHelp>
+ <format>ipv6net</format>
+ <description>IPv6 address and prefix length</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv6-prefix"/>
+ </constraint>
+ </properties>
+ <children>
+ <leafNode name="delegation-prefix">
+ <properties>
+ <help>Prefix length delegated to client</help>
+ <valueHelp>
+ <format>&lt;32-64&gt;</format>
+ <description>Delegated prefix length</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 32-64"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ </children>
+</node>
diff --git a/interface-definitions/include/accel-name-server.xml.in b/interface-definitions/include/accel-name-server.xml.in
new file mode 100644
index 000000000..82ed6771d
--- /dev/null
+++ b/interface-definitions/include/accel-name-server.xml.in
@@ -0,0 +1,18 @@
+<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>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>Domain Name Server (DNS) IPv6 address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ <validator name="ipv6-address"/>
+ </constraint>
+ <multi/>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/accel-radius-additions.xml.in b/interface-definitions/include/accel-radius-additions.xml.in
new file mode 100644
index 000000000..e37b68514
--- /dev/null
+++ b/interface-definitions/include/accel-radius-additions.xml.in
@@ -0,0 +1,125 @@
+<node name="radius">
+ <children>
+ <tagNode name="server">
+ <children>
+ <leafNode name="acct-port">
+ <properties>
+ <help>Accounting port</help>
+ <valueHelp>
+ <format>1-65535</format>
+ <description>Numeric IP port (default: 1813)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="fail-time">
+ <properties>
+ <help>Mark server unavailable for &lt;n&gt; seconds on failure</help>
+ <valueHelp>
+ <format>0-600</format>
+ <description>Fail time penalty</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-600"/>
+ </constraint>
+ <constraintErrorMessage>Fail time must be between 0 and 600 seconds</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ <leafNode name="timeout">
+ <properties>
+ <help>Timeout in seconds to wait response from RADIUS server</help>
+ <valueHelp>
+ <format>1-60</format>
+ <description>Timeout in seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-60"/>
+ </constraint>
+ <constraintErrorMessage>Timeout must be between 1 and 60 seconds</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="acct-timeout">
+ <properties>
+ <help>Timeout for Interim-Update packets, terminate session afterwards (default 3 seconds)</help>
+ <valueHelp>
+ <format>0-60</format>
+ <description>Timeout in seconds, 0 to keep active</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-60"/>
+ </constraint>
+ <constraintErrorMessage>Timeout must be between 0 and 60 seconds</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="max-try">
+ <properties>
+ <help>Number of tries to send Access-Request/Accounting-Request queries</help>
+ <valueHelp>
+ <format>1-20</format>
+ <description>Maximum tries</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-20"/>
+ </constraint>
+ <constraintErrorMessage>Maximum tries must be between 1 and 20</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="nas-identifier">
+ <properties>
+ <help>NAS-Identifier attribute sent to RADIUS</help>
+ </properties>
+ </leafNode>
+ <leafNode name="nas-ip-address">
+ <properties>
+ <help>NAS-IP-Address attribute sent to RADIUS</help>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>NAS-IP-Address attribute</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ <node name="dynamic-author">
+ <properties>
+ <help>Dynamic Authorization Extension/Change of Authorization server</help>
+ </properties>
+ <children>
+ <leafNode name="server">
+ <properties>
+ <help>IP address for Dynamic Authorization Extension server (DM/CoA)</help>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 address for aynamic authorization server</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="port">
+ <properties>
+ <help>Port for Dynamic Authorization Extension server (DM/CoA)</help>
+ <valueHelp>
+ <format>number</format>
+ <description>TCP port</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="key">
+ <properties>
+ <help>Shared secret for Dynamic Authorization Extension server</help>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+</node>
diff --git a/interface-definitions/include/accel-wins-server.xml.i b/interface-definitions/include/accel-wins-server.xml.i
new file mode 100644
index 000000000..461a65ddf
--- /dev/null
+++ b/interface-definitions/include/accel-wins-server.xml.i
@@ -0,0 +1,13 @@
+<leafNode name="wins-server">
+ <properties>
+ <help>Windows Internet Name Service (WINS) servers 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>
diff --git a/interface-definitions/include/address-ipv4-ipv6-dhcp.xml.i b/interface-definitions/include/address-ipv4-ipv6-dhcp.xml.i
new file mode 100644
index 000000000..cca824d89
--- /dev/null
+++ b/interface-definitions/include/address-ipv4-ipv6-dhcp.xml.i
@@ -0,0 +1,29 @@
+<leafNode name="address">
+ <properties>
+ <help>IP address</help>
+ <completionHelp>
+ <list>dhcp dhcpv6</list>
+ </completionHelp>
+ <valueHelp>
+ <format>ipv4net</format>
+ <description>IPv4 address and prefix length</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6net</format>
+ <description>IPv6 address and prefix length</description>
+ </valueHelp>
+ <valueHelp>
+ <format>dhcp</format>
+ <description>Dynamic Host Configuration Protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>dhcpv6</format>
+ <description>Dynamic Host Configuration Protocol for IPv6</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ip-host"/>
+ <regex>(dhcp|dhcpv6)</regex>
+ </constraint>
+ <multi/>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/address-ipv4-ipv6.xml.i b/interface-definitions/include/address-ipv4-ipv6.xml.i
new file mode 100644
index 000000000..a891085bd
--- /dev/null
+++ b/interface-definitions/include/address-ipv4-ipv6.xml.i
@@ -0,0 +1,17 @@
+<leafNode name="address">
+ <properties>
+ <help>IP address</help>
+ <valueHelp>
+ <format>ipv4net</format>
+ <description>IPv4 address and prefix length</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6net</format>
+ <description>IPv6 address and prefix length</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ip-host"/>
+ </constraint>
+ <multi/>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/bgp-afi-aggregate-address.xml.i b/interface-definitions/include/bgp-afi-aggregate-address.xml.i
new file mode 100644
index 000000000..050ee0074
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-aggregate-address.xml.i
@@ -0,0 +1,12 @@
+<leafNode name="as-set">
+ <properties>
+ <help>Generate AS-set path information for this aggregate address</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<leafNode name="summary-only">
+ <properties>
+ <help>Announce the aggregate summary network only</help>
+ <valueless/>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/bgp-afi-redistribute-metric-route-map.xml.i b/interface-definitions/include/bgp-afi-redistribute-metric-route-map.xml.i
new file mode 100644
index 000000000..9b3f7a008
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-redistribute-metric-route-map.xml.i
@@ -0,0 +1,17 @@
+<leafNode name="metric">
+ <properties>
+ <help>Metric for redistributed routes</help>
+ <valueHelp>
+ <format>&lt;1-4294967295&gt;</format>
+ <description>Metric for redistributed routes</description>
+ </valueHelp>
+ </properties>
+</leafNode>
+<leafNode name="route-map">
+ <properties>
+ <help>Route map to filter redistributed routes</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/bgp-neighbor-afi-ipv4-unicast.xml.i b/interface-definitions/include/bgp-neighbor-afi-ipv4-unicast.xml.i
new file mode 100644
index 000000000..74afb8851
--- /dev/null
+++ b/interface-definitions/include/bgp-neighbor-afi-ipv4-unicast.xml.i
@@ -0,0 +1,285 @@
+<node name="ipv4-unicast">
+ <properties>
+ <help>IPv4 BGP neighbor parameters</help>
+ </properties>
+ <children>
+ <node name="allowas-in">
+ <properties>
+ <help>Accept a IPv4-route that contains the local-AS in the as-path</help>
+ </properties>
+ <children>
+ <leafNode name="number">
+ <properties>
+ <help>Number of occurrences of AS number</help>
+ <valueHelp>
+ <format>&lt;1-10&gt;</format>
+ <description>Number of times AS is allowed in path</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-10"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="as-override">
+ <properties>
+ <help>AS for routes sent to this neighbor to be the local AS</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="attribute-unchanged">
+ <properties>
+ <help>BGP attributes are sent unchanged (IPv4)</help>
+ </properties>
+ <children>
+ <leafNode name="as-path">
+ <properties>
+ <help>Send AS path unchanged (IPv4)</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="med">
+ <properties>
+ <help>Send multi-exit discriminator unchanged (IPv4)</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="next-hop">
+ <properties>
+ <help>Send nexthop unchanged (IPv4)</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="capability">
+ <properties>
+ <help>Advertise capabilities to this neighbor (IPv4)</help>
+ </properties>
+ <children>
+ <node name="orf">
+ <properties>
+ <help>Advertise ORF capability to this neighbor</help>
+ </properties>
+ <children>
+ <node name="prefix-list">
+ <properties>
+ <help>Advertise prefix-list ORF capability to this neighbor</help>
+ </properties>
+ <children>
+ <leafNode name="receive">
+ <properties>
+ <help>Capability to receive the ORF</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="send">
+ <properties>
+ <help>Capability to send the ORF</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+ <node name="default-originate">
+ <properties>
+ <help>Send default IPv4-route to this neighbor</help>
+ </properties>
+ <children>
+ <leafNode name="route-map">
+ <properties>
+ <help>IPv4-Route-map to specify criteria of the default</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="distribute-list">
+ <properties>
+ <help>Access-list to filter IPv4-route updates to/from this neighbor</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Access-list to filter outgoing IPv4-route updates to this neighbor</help>
+ <completionHelp>
+ <path>policy access-list</path>
+ </completionHelp>
+ <valueHelp>
+ <format>&lt;1-65535&gt;</format>
+ <description>Access-list to filter outgoing IPv4-route updates to this neighbor</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Access-list to filter incoming IPv4-route updates from this neighbor</help>
+ <completionHelp>
+ <path>policy access-list</path>
+ </completionHelp>
+ <valueHelp>
+ <format>&lt;1-65535&gt;</format>
+ <description>Access-list to filter incoming IPv4-route updates from this neighbor</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="filter-list">
+ <properties>
+ <help>As-path-list to filter IPv4-route updates to/from this neighbor</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>As-path-list to filter outgoing IPv4-route updates to this neighbor</help>
+ <completionHelp>
+ <path>policy as-path-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>As-path-list to filter incoming IPv4-route updates from this neighbor</help>
+ <completionHelp>
+ <path>policy as-path-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="maximum-prefix">
+ <properties>
+ <help>Maximum number of IPv4-prefixes to accept from this neighbor</help>
+ <valueHelp>
+ <format>&lt;1-4294967295&gt;</format>
+ <description>Prefix limit</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967295"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <node name="nexthop-self">
+ <properties>
+ <help>Nexthop for IPv4-routes sent to this neighbor to be the local router</help>
+ </properties>
+ <children>
+ <leafNode name="force">
+ <properties>
+ <help>Set the next hop to self for reflected routes</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="prefix-list">
+ <properties>
+ <help>IPv4-Prefix-list to filter route updates to/from this neighbor</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>IPv4-Prefix-list to filter outgoing route updates to this neighbor</help>
+ <completionHelp>
+ <path>policy prefix-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>IPv4-Prefix-list to filter incoming route updates from this neighbor</help>
+ <completionHelp>
+ <path>policy prefix-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="remove-private-as">
+ <properties>
+ <help>Remove private AS numbers from AS path in outbound IPv4-route updates</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="route-map">
+ <properties>
+ <help>Route-map to filter IPv4-route updates to/from this neighbor</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>IPv4-Route-map to filter outgoing route updates to this neighbor</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>IPv4-Route-map to filter incoming route updates from this neighbor</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="route-reflector-client">
+ <properties>
+ <help>Neighbor as a IPv4-route reflector client</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="route-server-client">
+ <properties>
+ <help>Neighbor is IPv4-route server client</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="soft-reconfiguration">
+ <properties>
+ <help>Soft reconfiguration for neighbor (IPv4)</help>
+ </properties>
+ <children>
+ <leafNode name="inbound">
+ <properties>
+ <help>Inbound soft reconfiguration for this neighbor [REQUIRED]</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="unsuppress-map">
+ <properties>
+ <help>Route-map to selectively unsuppress suppressed IPv4-routes</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="weight">
+ <properties>
+ <help>Default weight for routes from this neighbor</help>
+ <valueHelp>
+ <format>&lt;1-65535&gt;</format>
+ <description>Weight for routes from this neighbor</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
diff --git a/interface-definitions/include/bgp-neighbor-afi-ipv6-unicast.xml.i b/interface-definitions/include/bgp-neighbor-afi-ipv6-unicast.xml.i
new file mode 100644
index 000000000..e95cb6dd8
--- /dev/null
+++ b/interface-definitions/include/bgp-neighbor-afi-ipv6-unicast.xml.i
@@ -0,0 +1,322 @@
+<node name="ipv6-unicast">
+ <properties>
+ <help>IPv6 BGP neighbor parameters</help>
+ </properties>
+ <children>
+ <node name="allowas-in">
+ <properties>
+ <help>Accept a IPv6-route that contains the local-AS in the as-path</help>
+ </properties>
+ <children>
+ <leafNode name="number">
+ <properties>
+ <help>Number of occurrences of AS number</help>
+ <valueHelp>
+ <format>&lt;1-10&gt;</format>
+ <description>Number of times AS is allowed in path</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-10"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="as-override">
+ <properties>
+ <help>AS for routes sent to this neighbor to be the local AS</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="attribute-unchanged">
+ <properties>
+ <help>BGP attributes are sent unchanged</help>
+ </properties>
+ <children>
+ <leafNode name="as-path">
+ <properties>
+ <help>Send AS path unchanged</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="med">
+ <properties>
+ <help>Send multi-exit discriminator unchanged</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="next-hop">
+ <properties>
+ <help>Send nexthop unchanged</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="capability">
+ <properties>
+ <help>Advertise capabilities to this neighbor (IPv6)</help>
+ </properties>
+ <children>
+ <node name="orf">
+ <properties>
+ <help>Advertise ORF capability to this neighbor</help>
+ </properties>
+ <children>
+ <node name="prefix-list">
+ <properties>
+ <help>Advertise prefix-list ORF capability to this neighbor</help>
+ </properties>
+ <children>
+ <leafNode name="receive">
+ <properties>
+ <help>Capability to receive the ORF</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="send">
+ <properties>
+ <help>Capability to send the ORF</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+ <node name="default-originate">
+ <properties>
+ <help>Send default IPv6-route to this neighbor</help>
+ </properties>
+ <children>
+ <leafNode name="route-map">
+ <properties>
+ <help>Route-map to specify criteria of the default</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="disable-send-community">
+ <properties>
+ <help>Disable sending community attributes to this neighbor</help>
+ </properties>
+ <children>
+ <leafNode name="extended">
+ <properties>
+ <help>Disable sending extended community attributes to this neighbor</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="standard">
+ <properties>
+ <help>Disable sending standard community attributes to this neighbor</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="distribute-list">
+ <properties>
+ <help>Access-list to filter route updates to/from this neighbor</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Access-list to filter outgoing route updates to this neighbor</help>
+ <completionHelp>
+ <path>policy access-list6</path>
+ </completionHelp>
+ <valueHelp>
+ <format>&lt;1-65535&gt;</format>
+ <description>Access-list to filter outgoing route updates to this neighbor</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Access-list to filter incoming route updates from this neighbor</help>
+ <completionHelp>
+ <path>policy access-list6</path>
+ </completionHelp>
+ <valueHelp>
+ <format>&lt;1-65535&gt;</format>
+ <description>Access-list to filter incoming route updates from this neighbor</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="filter-list">
+ <properties>
+ <help>As-path-list to filter route updates to/from this neighbor</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>As-path-list to filter outgoing route updates to this neighbor</help>
+ <completionHelp>
+ <path>policy as-path-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>As-path-list to filter incoming route updates from this neighbor</help>
+ <completionHelp>
+ <path>policy as-path-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="maximum-prefix">
+ <properties>
+ <help>Maximum number of prefixes to accept from this neighbor</help>
+ <valueHelp>
+ <format>&lt;1-4294967295&gt;</format>
+ <description>Prefix limit</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967295"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <node name="nexthop-local">
+ <properties>
+ <help>Nexthop attributes</help>
+ </properties>
+ <children>
+ <leafNode name="unchanged">
+ <properties>
+ <help>Leave link-local nexthop unchanged for this peer</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="nexthop-self">
+ <properties>
+ <help>Nexthop for IPv6-routes sent to this neighbor to be the local router</help>
+ </properties>
+ <children>
+ <leafNode name="force">
+ <properties>
+ <help>Set the next hop to self for reflected routes</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="peer-group">
+ <properties>
+ <help>IPv6 peer group for this peer</help>
+ </properties>
+ </leafNode>
+ <node name="prefix-list">
+ <properties>
+ <help>Prefix-list to filter route updates to/from this neighbor</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Prefix-list to filter outgoing route updates to this neighbor</help>
+ <completionHelp>
+ <path>policy prefix-list6</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Prefix-list to filter incoming route updates from this neighbor</help>
+ <completionHelp>
+ <path>policy prefix-list6</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="remove-private-as">
+ <properties>
+ <help>Remove private AS numbers from AS path in outbound route updates</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="route-map">
+ <properties>
+ <help>Route-map to filter route updates to/from this neighbor</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Route-map to filter outgoing route updates to this neighbor</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Route-map to filter incoming route updates from this neighbor</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="route-reflector-client">
+ <properties>
+ <help>Neighbor as a IPv6-route reflector client</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="route-server-client">
+ <properties>
+ <help>Neighbor is IPv6-route server client</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="soft-reconfiguration">
+ <properties>
+ <help>Soft reconfiguration for neighbor (IPv6)</help>
+ </properties>
+ <children>
+ <leafNode name="inbound">
+ <properties>
+ <help>Inbound soft reconfiguration for this neighbor [REQUIRED]</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="unsuppress-map">
+ <properties>
+ <help>Route-map to selectively unsuppress suppressed IPv6-routes</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="weight">
+ <properties>
+ <help>Default weight for routes from this neighbor</help>
+ <valueHelp>
+ <format>&lt;1-65535&gt;</format>
+ <description>Weight for routes from this neighbor</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
diff --git a/interface-definitions/include/bgp-peer-group-afi-ipv4-unicast.xml.i b/interface-definitions/include/bgp-peer-group-afi-ipv4-unicast.xml.i
new file mode 100644
index 000000000..df051ace5
--- /dev/null
+++ b/interface-definitions/include/bgp-peer-group-afi-ipv4-unicast.xml.i
@@ -0,0 +1,301 @@
+<node name="ipv4-unicast">
+ <properties>
+ <help>IPv4 BGP peer group parameters</help>
+ </properties>
+ <children>
+ <node name="allowas-in">
+ <properties>
+ <help>Accept a route that contains the local-AS in the as-path</help>
+ </properties>
+ <children>
+ <leafNode name="number">
+ <properties>
+ <help>Number of occurrences of AS number</help>
+ <valueHelp>
+ <format>&lt;1-10&gt;</format>
+ <description>Number of times AS is allowed in path</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-10"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="attribute-unchanged">
+ <properties>
+ <help>BGP attributes are sent unchanged</help>
+ </properties>
+ <children>
+ <leafNode name="as-path">
+ <properties>
+ <help>Send AS path unchanged</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="med">
+ <properties>
+ <help>Send multi-exit discriminator unchanged</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="next-hop">
+ <properties>
+ <help>Send nexthop unchanged</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="capability">
+ <properties>
+ <help>Advertise capabilities to this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="dynamic">
+ <properties>
+ <help>Advertise dynamic capability to this peer-group</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="orf">
+ <properties>
+ <help>Advertise ORF capability to this peer-group</help>
+ </properties>
+ <children>
+ <node name="prefix-list">
+ <properties>
+ <help>Advertise prefix-list ORF capability to this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="receive">
+ <properties>
+ <help>Capability to receive the ORF</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="send">
+ <properties>
+ <help>Capability to send the ORF</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+ <node name="default-originate">
+ <properties>
+ <help>Send default route to this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="route-map">
+ <properties>
+ <help>Route-map to specify criteria of the default</help>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="disable-send-community">
+ <properties>
+ <help>Disable sending community attributes to this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="extended">
+ <properties>
+ <help>Disable sending extended community attributes to this peer-group</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="standard">
+ <properties>
+ <help>Disable sending standard community attributes to this peer-group</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="distribute-list">
+ <properties>
+ <help>Access-list to filter route updates to/from this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Access-list to filter outgoing route updates to this peer-group</help>
+ <completionHelp>
+ <path>policy access-list</path>
+ </completionHelp>
+ <valueHelp>
+ <format>&lt;1-65535&gt;</format>
+ <description>Access-list to filter outgoing route updates to this peer-group</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Access-list to filter incoming route updates from this peer-group</help>
+ <completionHelp>
+ <path>policy access-list</path>
+ </completionHelp>
+ <valueHelp>
+ <format>&lt;1-65535&gt;</format>
+ <description>Access-list to filter incoming route updates from this peer-group</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="filter-list">
+ <properties>
+ <help>As-path-list to filter route updates to/from this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>As-path-list to filter outgoing route updates to this peer-group</help>
+ <completionHelp>
+ <path>policy as-path-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>As-path-list to filter incoming route updates from this peer-group</help>
+ <completionHelp>
+ <path>policy as-path-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="maximum-prefix">
+ <properties>
+ <help>Maximum number of prefixes to accept from this peer-group</help>
+ <valueHelp>
+ <format>&lt;1-4294967295&gt;</format>
+ <description>Prefix limit</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967295"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <node name="nexthop-self">
+ <properties>
+ <help>Nexthop for routes sent to this peer-group to be the local router</help>
+ </properties>
+ <children>
+ <leafNode name="force">
+ <properties>
+ <help>Set the next hop to self for reflected routes</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="prefix-list">
+ <properties>
+ <help>Prefix-list to filter route updates to/from this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Prefix-list to filter outgoing route updates to this peer-group</help>
+ <completionHelp>
+ <path>policy prefix-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Prefix-list to filter incoming route updates from this peer-group</help>
+ <completionHelp>
+ <path>policy prefix-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="remove-private-as">
+ <properties>
+ <help>Remove private AS numbers from AS path in outbound route updates</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="route-map">
+ <properties>
+ <help>Route-map to filter route updates to/from this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Route-map to filter outgoing route updates to this peer-group</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Route-map to filter incoming route updates from this peer-group</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="route-reflector-client">
+ <properties>
+ <help>Peer-group as a route reflector client</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="route-server-client">
+ <properties>
+ <help>Peer-group as route server client</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="soft-reconfiguration">
+ <properties>
+ <help>Soft reconfiguration for peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="inbound">
+ <properties>
+ <help>Inbound soft reconfiguration for this peer-group [REQUIRED]</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="unsuppress-map">
+ <properties>
+ <help>Route-map to selectively unsuppress suppressed routes</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="weight">
+ <properties>
+ <help>Default weight for routes from this peer-group</help>
+ <valueHelp>
+ <format>&lt;1-65535&gt;</format>
+ <description>Weight for routes from this peer-group</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
diff --git a/interface-definitions/include/bgp-peer-group-afi-ipv6-unicast.xml.i b/interface-definitions/include/bgp-peer-group-afi-ipv6-unicast.xml.i
new file mode 100644
index 000000000..a381e02f0
--- /dev/null
+++ b/interface-definitions/include/bgp-peer-group-afi-ipv6-unicast.xml.i
@@ -0,0 +1,317 @@
+<node name="ipv6-unicast">
+ <properties>
+ <help>IPv6 BGP neighbor parameters</help>
+ </properties>
+ <children>
+ <node name="allowas-in">
+ <properties>
+ <help>Accept a IPv6-route that contains the local-AS in the as-path</help>
+ </properties>
+ <children>
+ <leafNode name="number">
+ <properties>
+ <help>Number of occurrences of AS number</help>
+ <valueHelp>
+ <format>&lt;1-10&gt;</format>
+ <description>Number of times AS is allowed in path</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-10"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="attribute-unchanged">
+ <properties>
+ <help>BGP attributes are sent unchanged</help>
+ </properties>
+ <children>
+ <leafNode name="as-path">
+ <properties>
+ <help>Send AS path unchanged</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="med">
+ <properties>
+ <help>Send multi-exit discriminator unchanged</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="next-hop">
+ <properties>
+ <help>Send nexthop unchanged</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="capability">
+ <properties>
+ <help>Advertise capabilities to this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="dynamic">
+ <properties>
+ <help>Advertise dynamic capability to this peer-group</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="orf">
+ <properties>
+ <help>Advertise ORF capability to this peer-group</help>
+ </properties>
+ <children>
+ <node name="prefix-list">
+ <properties>
+ <help>Advertise prefix-list ORF capability to this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="receive">
+ <properties>
+ <help>Capability to receive the ORF</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="send">
+ <properties>
+ <help>Capability to send the ORF</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+ <node name="default-originate">
+ <properties>
+ <help>Send default route to this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="route-map">
+ <properties>
+ <help>Route-map to specify criteria of the default</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="disable-send-community">
+ <properties>
+ <help>Disable sending community attributes to this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="extended">
+ <properties>
+ <help>Disable sending extended community attributes to this peer-group</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="standard">
+ <properties>
+ <help>Disable sending standard community attributes to this peer-group</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="distribute-list">
+ <properties>
+ <help>Access-list to filter route updates to/from this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Access-list to filter outgoing route updates to this peer-group</help>
+ <completionHelp>
+ <path>policy access-list6</path>
+ </completionHelp>
+ <valueHelp>
+ <format>&lt;1-65535&gt;</format>
+ <description>Access-list to filter outgoing route updates to this peer-group</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Access-list to filter incoming route updates from this peer-group</help>
+ <completionHelp>
+ <path>policy access-list6</path>
+ </completionHelp>
+ <valueHelp>
+ <format>&lt;1-65535&gt;</format>
+ <description>Access-list to filter incoming route updates from this peer-group</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="filter-list">
+ <properties>
+ <help>As-path-list to filter route updates to/from this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>As-path-list to filter outgoing route updates to this peer-group</help>
+ <completionHelp>
+ <path>policy as-path-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>As-path-list to filter incoming route updates from this peer-group</help>
+ <completionHelp>
+ <path>policy as-path-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="maximum-prefix">
+ <properties>
+ <help>Maximum number of prefixes to accept from this peer-group</help>
+ <valueHelp>
+ <format>&lt;1-4294967295&gt;</format>
+ <description>Prefix limit</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967295"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <node name="nexthop-local">
+ <properties>
+ <help>Nexthop attributes</help>
+ </properties>
+ <children>
+ <leafNode name="unchanged">
+ <properties>
+ <help>Leave link-local nexthop unchanged for this peer</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="nexthop-self">
+ <properties>
+ <help>Nexthop for routes sent to this peer-group to be the local router</help>
+ </properties>
+ <children>
+ <leafNode name="force">
+ <properties>
+ <help>Set the next hop to self for reflected routes</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <node name="prefix-list">
+ <properties>
+ <help>Prefix-list to filter route updates to/from this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Prefix-list to filter outgoing route updates to this peer-group</help>
+ <completionHelp>
+ <path>policy prefix-list6</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Prefix-list to filter incoming route updates from this peer-group</help>
+ <completionHelp>
+ <path>policy prefix-list6</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="remove-private-as">
+ <properties>
+ <help>Remove private AS numbers from AS path in outbound route updates</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="route-map">
+ <properties>
+ <help>Route-map to filter route updates to/from this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Route-map to filter outgoing route updates to this peer-group</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Route-map to filter incoming route updates from this peer-group</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="route-reflector-client">
+ <properties>
+ <help>Peer-group as a route reflector client</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="route-server-client">
+ <properties>
+ <help>Peer-group as route server client</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <node name="soft-reconfiguration">
+ <properties>
+ <help>Soft reconfiguration for peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="inbound">
+ <properties>
+ <help>Inbound soft reconfiguration for this peer-group [REQUIRED]</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="unsuppress-map">
+ <properties>
+ <help>Route-map to selectively unsuppress suppressed routes</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="weight">
+ <properties>
+ <help>Default weight for routes from this peer-group</help>
+ <valueHelp>
+ <format>&lt;1-65535&gt;</format>
+ <description>Weight for routes from this peer-group</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
diff --git a/interface-definitions/include/dhcp-options.xml.i b/interface-definitions/include/dhcp-options.xml.i
new file mode 100644
index 000000000..9989291fc
--- /dev/null
+++ b/interface-definitions/include/dhcp-options.xml.i
@@ -0,0 +1,22 @@
+<node name="dhcp-options">
+ <properties>
+ <help>DHCP client settings/options</help>
+ </properties>
+ <children>
+ <leafNode name="client-id">
+ <properties>
+ <help>DHCP client identifier</help>
+ </properties>
+ </leafNode>
+ <leafNode name="host-name">
+ <properties>
+ <help>DHCP client host name (overrides system host name)</help>
+ </properties>
+ </leafNode>
+ <leafNode name="vendor-class-id">
+ <properties>
+ <help>DHCP client vendor type</help>
+ </properties>
+ </leafNode>
+ </children>
+</node>
diff --git a/interface-definitions/include/dhcpv6-options.xml.i b/interface-definitions/include/dhcpv6-options.xml.i
new file mode 100644
index 000000000..b0a806806
--- /dev/null
+++ b/interface-definitions/include/dhcpv6-options.xml.i
@@ -0,0 +1,86 @@
+<node name="dhcpv6-options">
+ <properties>
+ <help>DHCPv6 client settings/options</help>
+ </properties>
+ <children>
+ <leafNode name="parameters-only">
+ <properties>
+ <help>Acquire only config parameters, no address</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <tagNode name="pd">
+ <properties>
+ <help>DHCPv6 prefix delegation interface statement</help>
+ <valueHelp>
+ <format>instance number</format>
+ <description>Prefix delegation instance (>= 0)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--non-negative"/>
+ </constraint>
+ </properties>
+ <children>
+ <leafNode name="length">
+ <properties>
+ <help>Request IPv6 prefix length from peer</help>
+ <valueHelp>
+ <format>32-64</format>
+ <description>Length of delegated prefix</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 32-64"/>
+ </constraint>
+ </properties>
+ <defaultValue>64</defaultValue>
+ </leafNode>
+ <tagNode name="interface">
+ <properties>
+ <help>Delegate IPv6 prefix from provider to this interface</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py --broadcast</script>
+ </completionHelp>
+ </properties>
+ <children>
+ <leafNode name="address">
+ <properties>
+ <help>Local interface address assigned to interface</help>
+ <valueHelp>
+ <format>&gt;0</format>
+ <description>Used to form IPv6 interface address (default: EUI-64)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--non-negative"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="sla-id">
+ <properties>
+ <help>Interface site-Level aggregator (SLA)</help>
+ <valueHelp>
+ <format>0-128</format>
+ <description>Decimal integer which fits in the length of SLA IDs</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-128"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ </children>
+ </tagNode>
+ <leafNode name="rapid-commit">
+ <properties>
+ <help>Wait for immediate reply instead of advertisements</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="temporary">
+ <properties>
+ <help>IPv6 temporary address</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
diff --git a/interface-definitions/include/interface-arp-cache-timeout.xml.i b/interface-definitions/include/interface-arp-cache-timeout.xml.i
new file mode 100644
index 000000000..e65321158
--- /dev/null
+++ b/interface-definitions/include/interface-arp-cache-timeout.xml.i
@@ -0,0 +1,14 @@
+<leafNode name="arp-cache-timeout">
+ <properties>
+ <help>ARP cache entry timeout in seconds</help>
+ <valueHelp>
+ <format>1-86400</format>
+ <description>ARP cache entry timout in seconds (default 30)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-86400"/>
+ </constraint>
+ <constraintErrorMessage>ARP cache entry timeout must be between 1 and 86400 seconds</constraintErrorMessage>
+ </properties>
+ <defaultValue>30</defaultValue>
+</leafNode>
diff --git a/interface-definitions/include/interface-description.xml.i b/interface-definitions/include/interface-description.xml.i
new file mode 100644
index 000000000..961533e26
--- /dev/null
+++ b/interface-definitions/include/interface-description.xml.i
@@ -0,0 +1,9 @@
+<leafNode name="description">
+ <properties>
+ <help>Interface specific description</help>
+ <constraint>
+ <regex>.{1,256}$</regex>
+ </constraint>
+ <constraintErrorMessage>Description too long (limit 256 characters)</constraintErrorMessage>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/interface-disable-arp-filter.xml.i b/interface-definitions/include/interface-disable-arp-filter.xml.i
new file mode 100644
index 000000000..ec3f51b2d
--- /dev/null
+++ b/interface-definitions/include/interface-disable-arp-filter.xml.i
@@ -0,0 +1,6 @@
+<leafNode name="disable-arp-filter">
+ <properties>
+ <help>Disable ARP filter on this interface</help>
+ <valueless/>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/interface-disable-link-detect.xml.i b/interface-definitions/include/interface-disable-link-detect.xml.i
new file mode 100644
index 000000000..619cd03b0
--- /dev/null
+++ b/interface-definitions/include/interface-disable-link-detect.xml.i
@@ -0,0 +1,6 @@
+<leafNode name="disable-link-detect">
+ <properties>
+ <help>Ignore link state changes</help>
+ <valueless/>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/interface-disable.xml.i b/interface-definitions/include/interface-disable.xml.i
new file mode 100644
index 000000000..7bd3df5da
--- /dev/null
+++ b/interface-definitions/include/interface-disable.xml.i
@@ -0,0 +1,6 @@
+<leafNode name="disable">
+ <properties>
+ <help>Administratively disable interface</help>
+ <valueless/>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/interface-enable-arp-accept.xml.i b/interface-definitions/include/interface-enable-arp-accept.xml.i
new file mode 100644
index 000000000..69f26b322
--- /dev/null
+++ b/interface-definitions/include/interface-enable-arp-accept.xml.i
@@ -0,0 +1,6 @@
+<leafNode name="enable-arp-accept">
+ <properties>
+ <help>Enable ARP accept on this interface</help>
+ <valueless/>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/interface-enable-arp-announce.xml.i b/interface-definitions/include/interface-enable-arp-announce.xml.i
new file mode 100644
index 000000000..8d51874c1
--- /dev/null
+++ b/interface-definitions/include/interface-enable-arp-announce.xml.i
@@ -0,0 +1,6 @@
+<leafNode name="enable-arp-announce">
+ <properties>
+ <help>Enable ARP announce on this interface</help>
+ <valueless/>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/interface-enable-arp-ignore.xml.i b/interface-definitions/include/interface-enable-arp-ignore.xml.i
new file mode 100644
index 000000000..9adc0f17e
--- /dev/null
+++ b/interface-definitions/include/interface-enable-arp-ignore.xml.i
@@ -0,0 +1,6 @@
+<leafNode name="enable-arp-ignore">
+ <properties>
+ <help>Enable ARP ignore on this interface</help>
+ <valueless/>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/interface-enable-proxy-arp.xml.i b/interface-definitions/include/interface-enable-proxy-arp.xml.i
new file mode 100644
index 000000000..14ab08875
--- /dev/null
+++ b/interface-definitions/include/interface-enable-proxy-arp.xml.i
@@ -0,0 +1,6 @@
+<leafNode name="enable-proxy-arp">
+ <properties>
+ <help>Enable proxy-arp on this interface</help>
+ <valueless/>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/interface-hw-id.xml.i b/interface-definitions/include/interface-hw-id.xml.i
new file mode 100644
index 000000000..318ddd1c4
--- /dev/null
+++ b/interface-definitions/include/interface-hw-id.xml.i
@@ -0,0 +1,12 @@
+<leafNode name="hw-id">
+ <properties>
+ <help>Associate Ethernet Interface with given Media Access Control (MAC) address</help>
+ <valueHelp>
+ <format>h:h:h:h:h:h</format>
+ <description>Hardware Media Access Control (MAC) address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="mac-address"/>
+ </constraint>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/interface-ipv4.xml.i b/interface-definitions/include/interface-ipv4.xml.i
new file mode 100644
index 000000000..15932a9d3
--- /dev/null
+++ b/interface-definitions/include/interface-ipv4.xml.i
@@ -0,0 +1,11 @@
+<node name="ip">
+ <properties>
+ <help>IPv4 routing parameters</help>
+ </properties>
+ <children>
+ #include <include/interface-disable-arp-filter.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>
+ </children>
+</node>
diff --git a/interface-definitions/include/interface-ipv6.xml.i b/interface-definitions/include/interface-ipv6.xml.i
new file mode 100644
index 000000000..23362f75a
--- /dev/null
+++ b/interface-definitions/include/interface-ipv6.xml.i
@@ -0,0 +1,10 @@
+<node name="ipv6">
+ <properties>
+ <help>IPv6 routing parameters</help>
+ </properties>
+ <children>
+ #include <include/ipv6-address.xml.i>
+ #include <include/ipv6-disable-forwarding.xml.i>
+ #include <include/ipv6-dup-addr-detect-transmits.xml.i>
+ </children>
+</node>
diff --git a/interface-definitions/include/interface-mac.xml.i b/interface-definitions/include/interface-mac.xml.i
new file mode 100644
index 000000000..7b2456236
--- /dev/null
+++ b/interface-definitions/include/interface-mac.xml.i
@@ -0,0 +1,12 @@
+<leafNode name="mac">
+ <properties>
+ <help>Media Access Control (MAC) address</help>
+ <valueHelp>
+ <format>h:h:h:h:h:h</format>
+ <description>Hardware (MAC) address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="mac-address"/>
+ </constraint>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/interface-mtu-1200-9000.xml.i b/interface-definitions/include/interface-mtu-1200-9000.xml.i
new file mode 100644
index 000000000..de48db65e
--- /dev/null
+++ b/interface-definitions/include/interface-mtu-1200-9000.xml.i
@@ -0,0 +1,14 @@
+<leafNode name="mtu">
+ <properties>
+ <help>Maximum Transmission Unit (MTU)</help>
+ <valueHelp>
+ <format>1200-9000</format>
+ <description>Maximum Transmission Unit</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1200-9000"/>
+ </constraint>
+ <constraintErrorMessage>MTU must be between 1200 and 9000</constraintErrorMessage>
+ </properties>
+ <defaultValue>1500</defaultValue>
+</leafNode>
diff --git a/interface-definitions/include/interface-mtu-1450-9000.xml.i b/interface-definitions/include/interface-mtu-1450-9000.xml.i
new file mode 100644
index 000000000..d15987394
--- /dev/null
+++ b/interface-definitions/include/interface-mtu-1450-9000.xml.i
@@ -0,0 +1,14 @@
+<leafNode name="mtu">
+ <properties>
+ <help>Maximum Transmission Unit (MTU)</help>
+ <valueHelp>
+ <format>1450-9000</format>
+ <description>Maximum Transmission Unit</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1450-9000"/>
+ </constraint>
+ <constraintErrorMessage>MTU must be between 1450 and 9000</constraintErrorMessage>
+ </properties>
+ <defaultValue>1500</defaultValue>
+</leafNode>
diff --git a/interface-definitions/include/interface-mtu-64-8024.xml.i b/interface-definitions/include/interface-mtu-64-8024.xml.i
new file mode 100644
index 000000000..e60867e35
--- /dev/null
+++ b/interface-definitions/include/interface-mtu-64-8024.xml.i
@@ -0,0 +1,14 @@
+<leafNode name="mtu">
+ <properties>
+ <help>Maximum Transmission Unit (MTU)</help>
+ <valueHelp>
+ <format>64-8024</format>
+ <description>Maximum Transmission Unit</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 64-8024"/>
+ </constraint>
+ <constraintErrorMessage>MTU must be between 64 and 8024</constraintErrorMessage>
+ </properties>
+ <defaultValue>1500</defaultValue>
+</leafNode>
diff --git a/interface-definitions/include/interface-mtu-68-1500.xml.i b/interface-definitions/include/interface-mtu-68-1500.xml.i
new file mode 100644
index 000000000..d47efd2c9
--- /dev/null
+++ b/interface-definitions/include/interface-mtu-68-1500.xml.i
@@ -0,0 +1,14 @@
+<leafNode name="mtu">
+ <properties>
+ <help>Maximum Transmission Unit (MTU)</help>
+ <valueHelp>
+ <format>68-1500</format>
+ <description>Maximum Transmission Unit</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 68-1500"/>
+ </constraint>
+ <constraintErrorMessage>MTU must be between 68 and 1500</constraintErrorMessage>
+ </properties>
+ <defaultValue>1500</defaultValue>
+</leafNode>
diff --git a/interface-definitions/include/interface-mtu-68-9000.xml.i b/interface-definitions/include/interface-mtu-68-9000.xml.i
new file mode 100644
index 000000000..8fae2043c
--- /dev/null
+++ b/interface-definitions/include/interface-mtu-68-9000.xml.i
@@ -0,0 +1,14 @@
+<leafNode name="mtu">
+ <properties>
+ <help>Maximum Transmission Unit (MTU)</help>
+ <valueHelp>
+ <format>68-9000</format>
+ <description>Maximum Transmission Unit</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 68-9000"/>
+ </constraint>
+ <constraintErrorMessage>MTU must be between 68 and 9000</constraintErrorMessage>
+ </properties>
+ <defaultValue>1500</defaultValue>
+</leafNode>
diff --git a/interface-definitions/include/interface-proxy-arp-pvlan.xml.i b/interface-definitions/include/interface-proxy-arp-pvlan.xml.i
new file mode 100644
index 000000000..7e72b3800
--- /dev/null
+++ b/interface-definitions/include/interface-proxy-arp-pvlan.xml.i
@@ -0,0 +1,6 @@
+<leafNode name="proxy-arp-pvlan">
+ <properties>
+ <help>Enable private VLAN proxy ARP on this interface</help>
+ <valueless/>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/interface-vrf.xml.i b/interface-definitions/include/interface-vrf.xml.i
new file mode 100644
index 000000000..355e7f0f3
--- /dev/null
+++ b/interface-definitions/include/interface-vrf.xml.i
@@ -0,0 +1,12 @@
+<leafNode name="vrf">
+ <properties>
+ <help>VRF instance name</help>
+ <valueHelp>
+ <format>text</format>
+ <description>VRF instance name</description>
+ </valueHelp>
+ <completionHelp>
+ <path>vrf name</path>
+ </completionHelp>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/ipv6-address.xml.i b/interface-definitions/include/ipv6-address.xml.i
new file mode 100644
index 000000000..34f54e4c1
--- /dev/null
+++ b/interface-definitions/include/ipv6-address.xml.i
@@ -0,0 +1,29 @@
+<node name="address">
+ <children>
+ <leafNode name="autoconf">
+ <properties>
+ <help>Enable acquisition of IPv6 address using stateless autoconfig (SLAAC)</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="eui64">
+ <properties>
+ <help>Prefix for IPv6 address with MAC-based EUI-64</help>
+ <valueHelp>
+ <format>ipv6net</format>
+ <description>IPv6 network and prefix length</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv6-prefix"/>
+ </constraint>
+ <multi/>
+ </properties>
+ </leafNode>
+ <leafNode name="no-default-link-local">
+ <properties>
+ <help>Remove the default link-local address from the interface</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
diff --git a/interface-definitions/include/ipv6-disable-forwarding.xml.i b/interface-definitions/include/ipv6-disable-forwarding.xml.i
new file mode 100644
index 000000000..3f90c7e34
--- /dev/null
+++ b/interface-definitions/include/ipv6-disable-forwarding.xml.i
@@ -0,0 +1,6 @@
+<leafNode name="disable-forwarding">
+ <properties>
+ <help>Disable IPv6 forwarding on this interface</help>
+ <valueless/>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/ipv6-dup-addr-detect-transmits.xml.i b/interface-definitions/include/ipv6-dup-addr-detect-transmits.xml.i
new file mode 100644
index 000000000..728187560
--- /dev/null
+++ b/interface-definitions/include/ipv6-dup-addr-detect-transmits.xml.i
@@ -0,0 +1,16 @@
+<leafNode name="dup-addr-detect-transmits">
+ <properties>
+ <help>Number of NS messages to send while performing DAD (default: 1)</help>
+ <valueHelp>
+ <format>1-n</format>
+ <description>Number of NS messages to send while performing DAD</description>
+ </valueHelp>
+ <valueHelp>
+ <format>0</format>
+ <description>Disable Duplicate Address Dectection (DAD)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--non-negative"/>
+ </constraint>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/isis-redistribute-ipv4.xml.i b/interface-definitions/include/isis-redistribute-ipv4.xml.i
new file mode 100644
index 000000000..f90900da1
--- /dev/null
+++ b/interface-definitions/include/isis-redistribute-ipv4.xml.i
@@ -0,0 +1,82 @@
+<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>&lt;0-16777215&gt;</format>
+ <description>ISIS default metric</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-16777215"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <tagNode name="route-map">
+ <properties>
+ <help>Route map reference</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ <children>
+ <leafNode name="metric">
+ <properties>
+ <help>Metric for redistributed routes</help>
+ <valueHelp>
+ <format>&lt;0-16777215&gt;</format>
+ <description>ISIS default metric</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-16777215"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ </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>&lt;0-16777215&gt;</format>
+ <description>ISIS default metric</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-16777215"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <tagNode name="route-map">
+ <properties>
+ <help>Route map reference</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ <children>
+ <leafNode name="metric">
+ <properties>
+ <help>Metric for redistributed routes</help>
+ <valueHelp>
+ <format>&lt;0-16777215&gt;</format>
+ <description>ISIS default metric</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-16777215"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ </children>
+</node>
diff --git a/interface-definitions/include/nat-address.xml.i b/interface-definitions/include/nat-address.xml.i
new file mode 100644
index 000000000..933dae07b
--- /dev/null
+++ b/interface-definitions/include/nat-address.xml.i
@@ -0,0 +1,37 @@
+<leafNode name="address">
+ <properties>
+ <help>IP address, subnet, or range</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 address to match</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv4net</format>
+ <description>IPv4 prefix to match</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv4range</format>
+ <description>IPv4 address range to match</description>
+ </valueHelp>
+ <valueHelp>
+ <format>!ipv4</format>
+ <description>Match everything except the specified address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>!ipv4net</format>
+ <description>Match everything except the specified prefix</description>
+ </valueHelp>
+ <valueHelp>
+ <format>!ipv4range</format>
+ <description>Match everything except the specified range</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ <validator name="ipv4-prefix"/>
+ <validator name="ipv4-range"/>
+ <validator name="ipv4-address-exclude"/>
+ <validator name="ipv4-prefix-exclude"/>
+ <validator name="ipv4-range-exclude"/>
+ </constraint>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/nat-interface.xml.i b/interface-definitions/include/nat-interface.xml.i
new file mode 100644
index 000000000..c49483297
--- /dev/null
+++ b/interface-definitions/include/nat-interface.xml.i
@@ -0,0 +1,9 @@
+<leafNode name="outbound-interface">
+ <properties>
+ <help>Outbound interface of NAT traffic</help>
+ <completionHelp>
+ <list>any</list>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/nat-port.xml.i b/interface-definitions/include/nat-port.xml.i
new file mode 100644
index 000000000..24803ae05
--- /dev/null
+++ b/interface-definitions/include/nat-port.xml.i
@@ -0,0 +1,17 @@
+<leafNode name="port">
+ <properties>
+ <help>Port number</help>
+ <valueHelp>
+ <format>1-65535</format>
+ <description>Numeric IP port</description>
+ </valueHelp>
+ <valueHelp>
+ <format>start-end</format>
+ <description>Numbered port range (e.g., 1001-1005)</description>
+ </valueHelp>
+ <valueHelp>
+ <format> </format>
+ <description>\n\nMultiple destination ports can be specified as a comma-separated list.\nThe whole list can also be negated using '!'.\nFor example: '!22,telnet,http,123,1001-1005'</description>
+ </valueHelp>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/nat-rule.xml.i b/interface-definitions/include/nat-rule.xml.i
new file mode 100644
index 000000000..a2d058479
--- /dev/null
+++ b/interface-definitions/include/nat-rule.xml.i
@@ -0,0 +1,303 @@
+<tagNode name="rule">
+ <properties>
+ <help>Rule number for NAT</help>
+ <valueHelp>
+ <format>1-999999</format>
+ <description>Number for this NAT rule</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-999999"/>
+ </constraint>
+ <constraintErrorMessage>NAT rule number must be between 1 and 999999</constraintErrorMessage>
+ </properties>
+ <children>
+ <leafNode name="description">
+ <properties>
+ <help>Rule description</help>
+ </properties>
+ </leafNode>
+ <node name="destination">
+ <properties>
+ <help>NAT destination parameters</help>
+ </properties>
+ <children>
+ #include <include/nat-address.xml.i>
+ #include <include/nat-port.xml.i>
+ </children>
+ </node>
+ <leafNode name="disable">
+ <properties>
+ <help>Disable NAT rule</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="exclude">
+ <properties>
+ <help>Exclude packets matching this rule from NAT</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="log">
+ <properties>
+ <help>NAT rule logging</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="protocol">
+ <properties>
+ <help>Protocol to NAT</help>
+ <completionHelp>
+ <list>all ip hopopt icmp igmp ggp ipencap st tcp egp igp pup udp tcp_udp hmp xns-idp rdp iso-tp4 dccp xtp ddp idpr-cmtp ipv6 ipv6-route ipv6-frag idrp rsvp gre esp ah skip ipv6-icmp ipv6-nonxt ipv6-opts rspf vmtp eigrp ospf ax.25 ipip etherip encap 99 pim ipcomp vrrp l2tp isis sctp fc mobility-header udplite mpls-in-ip manet hip shim6 wesp rohc</list>
+ </completionHelp>
+ <valueHelp>
+ <format>all</format>
+ <description>All IP protocols</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ip</format>
+ <description>Internet Protocol, pseudo protocol number</description>
+ </valueHelp>
+ <valueHelp>
+ <format>hopopt</format>
+ <description>IPv6 Hop-by-Hop Option [RFC1883]</description>
+ </valueHelp>
+ <valueHelp>
+ <format>icmp</format>
+ <description>internet control message protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>igmp</format>
+ <description>Internet Group Management</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ggp</format>
+ <description>gateway-gateway protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipencap</format>
+ <description>IP encapsulated in IP (officially IP)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>st</format>
+ <description>ST datagram mode</description>
+ </valueHelp>
+ <valueHelp>
+ <format>tcp</format>
+ <description>transmission control protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>egp</format>
+ <description>exterior gateway protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>igp</format>
+ <description>any private interior gateway (Cisco)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>pup</format>
+ <description>PARC universal packet protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>udp</format>
+ <description>user datagram protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>tcp_udp</format>
+ <description>Both TCP and UDP</description>
+ </valueHelp>
+ <valueHelp>
+ <format>hmp</format>
+ <description>host monitoring protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>xns-idp</format>
+ <description>Xerox NS IDP</description>
+ </valueHelp>
+ <valueHelp>
+ <format>rdp</format>
+ <description>"reliable datagram" protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>iso-tp4</format>
+ <description>ISO Transport Protocol class 4 [RFC905]</description>
+ </valueHelp>
+ <valueHelp>
+ <format>dccp</format>
+ <description>Datagram Congestion Control Prot. [RFC4340]</description>
+ </valueHelp>
+ <valueHelp>
+ <format>xtp</format>
+ <description>Xpress Transfer Protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ddp</format>
+ <description>Datagram Delivery Protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>idpr-cmtp</format>
+ <description>IDPR Control Message Transport</description>
+ </valueHelp>
+ <valueHelp>
+ <format>Ipv6</format>
+ <description>Internet Protocol, version 6</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6-route</format>
+ <description>Routing Header for IPv6</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6-frag</format>
+ <description>Fragment Header for IPv6</description>
+ </valueHelp>
+ <valueHelp>
+ <format>idrp</format>
+ <description>Inter-Domain Routing Protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>rsvp</format>
+ <description>Reservation Protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>gre</format>
+ <description>General Routing Encapsulation</description>
+ </valueHelp>
+ <valueHelp>
+ <format>esp</format>
+ <description>Encap Security Payload [RFC2406]</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ah</format>
+ <description>Authentication Header [RFC2402]</description>
+ </valueHelp>
+ <valueHelp>
+ <format>skip</format>
+ <description>SKIP</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6-icmp</format>
+ <description>ICMP for IPv6</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6-nonxt</format>
+ <description>No Next Header for IPv6</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6-opts</format>
+ <description>Destination Options for IPv6</description>
+ </valueHelp>
+ <valueHelp>
+ <format>rspf</format>
+ <description>Radio Shortest Path First (officially CPHB)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>vmtp</format>
+ <description>Versatile Message Transport</description>
+ </valueHelp>
+ <valueHelp>
+ <format>eigrp</format>
+ <description>Enhanced Interior Routing Protocol (Cisco)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ospf</format>
+ <description>Open Shortest Path First IGP</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ax.25</format>
+ <description>AX.25 frames</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipip</format>
+ <description>IP-within-IP Encapsulation Protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>etherip</format>
+ <description>Ethernet-within-IP Encapsulation [RFC3378]</description>
+ </valueHelp>
+ <valueHelp>
+ <format>encap</format>
+ <description>Yet Another IP encapsulation [RFC1241]</description>
+ </valueHelp>
+ <valueHelp>
+ <format>99</format>
+ <description>Any private encryption scheme</description>
+ </valueHelp>
+ <valueHelp>
+ <format>pim</format>
+ <description>Protocol Independent Multicast</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipcomp</format>
+ <description>IP Payload Compression Protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>vrrp</format>
+ <description>Virtual Router Redundancy Protocol [RFC5798]</description>
+ </valueHelp>
+ <valueHelp>
+ <format>l2tp</format>
+ <description>Layer Two Tunneling Protocol [RFC2661]</description>
+ </valueHelp>
+ <valueHelp>
+ <format>isis</format>
+ <description>IS-IS over IPv4</description>
+ </valueHelp>
+ <valueHelp>
+ <format>sctp</format>
+ <description>Stream Control Transmission Protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>fc</format>
+ <description>Fibre Channel</description>
+ </valueHelp>
+ <valueHelp>
+ <format>mobility-header</format>
+ <description>Mobility Support for IPv6 [RFC3775]</description>
+ </valueHelp>
+ <valueHelp>
+ <format>udplite</format>
+ <description>UDP-Lite [RFC3828]</description>
+ </valueHelp>
+ <valueHelp>
+ <format>mpls-in-ip</format>
+ <description>MPLS-in-IP [RFC4023]</description>
+ </valueHelp>
+ <valueHelp>
+ <format>manet</format>
+ <description>MANET Protocols [RFC5498]</description>
+ </valueHelp>
+ <valueHelp>
+ <format>hip</format>
+ <description>Host Identity Protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>shim6</format>
+ <description>Shim6 Protocol</description>
+ </valueHelp>
+ <valueHelp>
+ <format>wesp</format>
+ <description>Wrapped Encapsulating Security Payload</description>
+ </valueHelp>
+ <valueHelp>
+ <format>rohc</format>
+ <description>Robust Header Compression</description>
+ </valueHelp>
+ <valueHelp>
+ <format>0-255</format>
+ <description>IP protocol number</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ip-protocol"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <node name="source">
+ <properties>
+ <help>NAT source parameters</help>
+ </properties>
+ <children>
+ #include <include/nat-address.xml.i>
+ #include <include/nat-port.xml.i>
+ </children>
+ </node>
+ </children>
+</tagNode>
diff --git a/interface-definitions/include/nat-translation-port.xml.i b/interface-definitions/include/nat-translation-port.xml.i
new file mode 100644
index 000000000..93de471e3
--- /dev/null
+++ b/interface-definitions/include/nat-translation-port.xml.i
@@ -0,0 +1,13 @@
+<leafNode name="port">
+ <properties>
+ <help>Port number</help>
+ <valueHelp>
+ <format>1-65535</format>
+ <description>Numeric IP port</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;start&gt;-&lt;end&gt;</format>
+ <description>Numbered port range (e.g., 1001-1005)</description>
+ </valueHelp>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/port-number.xml.i b/interface-definitions/include/port-number.xml.i
new file mode 100644
index 000000000..29d2f55fd
--- /dev/null
+++ b/interface-definitions/include/port-number.xml.i
@@ -0,0 +1,12 @@
+<leafNode name="port">
+ <properties>
+ <help>Port number used to establish connection</help>
+ <valueHelp>
+ <format>1-65535</format>
+ <description>Numeric IP port</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/radius-server.xml.i b/interface-definitions/include/radius-server.xml.i
new file mode 100644
index 000000000..047728233
--- /dev/null
+++ b/interface-definitions/include/radius-server.xml.i
@@ -0,0 +1,56 @@
+<node name="radius">
+ <properties>
+ <help>RADIUS based user authentication</help>
+ </properties>
+ <children>
+ <leafNode name="source-address">
+ <properties>
+ <help>RADIUS client source address</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 source-address of RADIUS queries</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <tagNode name="server">
+ <properties>
+ <help>RADIUS server configuration</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>RADIUS server IPv4 address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ </properties>
+ <children>
+ <leafNode name="disable">
+ <properties>
+ <help>Temporary disable this server</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="key">
+ <properties>
+ <help>Shared secret key</help>
+ </properties>
+ </leafNode>
+ <leafNode name="port">
+ <properties>
+ <help>Authentication port</help>
+ <valueHelp>
+ <format>1-65535</format>
+ <description>Numeric IP port (default: 1812)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </tagNode>
+ </children>
+</node>
diff --git a/interface-definitions/include/rip-redistribute.xml.i b/interface-definitions/include/rip-redistribute.xml.i
new file mode 100644
index 000000000..d94dfa5a8
--- /dev/null
+++ b/interface-definitions/include/rip-redistribute.xml.i
@@ -0,0 +1,24 @@
+<leafNode name="metric">
+ <properties>
+ <help>Metric for redistributed routes</help>
+ <valueHelp>
+ <format>&lt;1-16&gt;</format>
+ <description>Redistribute route metric</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-16"/>
+ </constraint>
+ </properties>
+</leafNode>
+<leafNode name="route-map">
+ <properties>
+ <help>Route map reference</help>
+ <valueHelp>
+ <format>&lt;text&gt;</format>
+ <description>Route map reference</description>
+ </valueHelp>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/source-address-ipv4-ipv6.xml.i b/interface-definitions/include/source-address-ipv4-ipv6.xml.i
new file mode 100644
index 000000000..6d2d77c95
--- /dev/null
+++ b/interface-definitions/include/source-address-ipv4-ipv6.xml.i
@@ -0,0 +1,17 @@
+<leafNode name="source-address">
+ <properties>
+ <help>IPv4/IPv6 source address</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 source-address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>IPv6 source-address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ <validator name="ipv6-address"/>
+ </constraint>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/source-interface-ethernet.xml.i b/interface-definitions/include/source-interface-ethernet.xml.i
new file mode 100644
index 000000000..ad90bc4ac
--- /dev/null
+++ b/interface-definitions/include/source-interface-ethernet.xml.i
@@ -0,0 +1,12 @@
+<leafNode name="source-interface">
+ <properties>
+ <help>Physical interface the traffic will go through</help>
+ <valueHelp>
+ <format>interface</format>
+ <description>Physical interface used for traffic forwarding</description>
+ </valueHelp>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py -t ethernet</script>
+ </completionHelp>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/source-interface.xml.i b/interface-definitions/include/source-interface.xml.i
new file mode 100644
index 000000000..ae579c2a6
--- /dev/null
+++ b/interface-definitions/include/source-interface.xml.i
@@ -0,0 +1,12 @@
+<leafNode name="source-interface">
+ <properties>
+ <help>Physical interface used for connection</help>
+ <valueHelp>
+ <format>interface</format>
+ <description>Physical interface used for connection</description>
+ </valueHelp>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
+ </properties>
+</leafNode>
diff --git a/interface-definitions/include/vif-s.xml.i b/interface-definitions/include/vif-s.xml.i
new file mode 100644
index 000000000..a6d7c81ce
--- /dev/null
+++ b/interface-definitions/include/vif-s.xml.i
@@ -0,0 +1,67 @@
+<tagNode name="vif-s">
+ <properties>
+ <help>QinQ TAG-S Virtual Local Area Network (VLAN) ID</help>
+ <constraint>
+ <validator name="numeric" argument="--range 0-4094"/>
+ </constraint>
+ <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage>
+ </properties>
+ <children>
+ #include <include/address-ipv4-ipv6-dhcp.xml.i>
+ #include <include/interface-description.xml.i>
+ #include <include/dhcp-options.xml.i>
+ #include <include/dhcpv6-options.xml.i>
+ #include <include/interface-disable-link-detect.xml.i>
+ #include <include/interface-disable.xml.i>
+ <leafNode name="ethertype">
+ <properties>
+ <help>Set Ethertype</help>
+ <completionHelp>
+ <list>0x88A8 0x8100</list>
+ </completionHelp>
+ <valueHelp>
+ <format>0x88A8</format>
+ <description>802.1ad</description>
+ </valueHelp>
+ <valueHelp>
+ <format>0x8100</format>
+ <description>802.1q</description>
+ </valueHelp>
+ <constraint>
+ <regex>(0x88A8|0x8100)</regex>
+ </constraint>
+ <constraintErrorMessage>Ethertype must be 0x88A8 or 0x8100</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <node name="ip">
+ <children>
+ #include <include/interface-disable-arp-filter.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>
+ </children>
+ </node>
+ #include <include/interface-mac.xml.i>
+ #include <include/interface-mtu-68-9000.xml.i>
+ <tagNode name="vif-c">
+ <properties>
+ <help>QinQ TAG-C Virtual Local Area Network (VLAN) ID</help>
+ <constraint>
+ <validator name="numeric" argument="--range 0-4094"/>
+ </constraint>
+ <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage>
+ </properties>
+ <children>
+ #include <include/address-ipv4-ipv6-dhcp.xml.i>
+ #include <include/interface-description.xml.i>
+ #include <include/dhcp-options.xml.i>
+ #include <include/dhcpv6-options.xml.i>
+ #include <include/interface-disable-link-detect.xml.i>
+ #include <include/interface-disable.xml.i>
+ #include <include/interface-mac.xml.i>
+ #include <include/interface-mtu-68-9000.xml.i>
+ #include <include/interface-vrf.xml.i>
+ </children>
+ </tagNode>
+ </children>
+</tagNode>
diff --git a/interface-definitions/include/vif.xml.i b/interface-definitions/include/vif.xml.i
new file mode 100644
index 000000000..5a4e52122
--- /dev/null
+++ b/interface-definitions/include/vif.xml.i
@@ -0,0 +1,65 @@
+<tagNode name="vif">
+ <properties>
+ <help>Virtual Local Area Network (VLAN) ID</help>
+ <valueHelp>
+ <format>0-4094</format>
+ <description>Virtual Local Area Network (VLAN) ID</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-4094"/>
+ </constraint>
+ <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage>
+ </properties>
+ <children>
+ #include <include/address-ipv4-ipv6-dhcp.xml.i>
+ #include <include/interface-description.xml.i>
+ #include <include/dhcp-options.xml.i>
+ #include <include/dhcpv6-options.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>
+ <completionHelp>
+ <script>echo Format for qos mapping, e.g.: '0:1 1:6 7:6'</script>
+ </completionHelp>
+ <constraint>
+ <regex>[:0-7 ]+$</regex>
+ </constraint>
+ <constraintErrorMessage>QoS mapping should be in the format of '0:7 2:3' with numbers 0-9</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="ingress-qos">
+ <properties>
+ <help>VLAN ingress QoS</help>
+ <completionHelp>
+ <script>echo Format for qos mapping '0:1 1:6 7:6'</script>
+ </completionHelp>
+ <constraint>
+ <regex>[:0-7 ]+$</regex>
+ </constraint>
+ <constraintErrorMessage>QoS mapping should be in the format of '0:7 2:3' with numbers 0-9</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <node name="ip">
+ <children>
+ #include <include/interface-arp-cache-timeout.xml.i>
+ #include <include/interface-disable-arp-filter.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>
+ </children>
+ </node>
+ <node name="ipv6">
+ <children>
+ #include <include/ipv6-address.xml.i>
+ #include <include/ipv6-disable-forwarding.xml.i>
+ #include <include/ipv6-dup-addr-detect-transmits.xml.i>
+ </children>
+ </node>
+ #include <include/interface-mac.xml.i>
+ #include <include/interface-mtu-68-9000.xml.i>
+ </children>
+</tagNode>