summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/bcast-relay.xml.in14
-rw-r--r--interface-definitions/dhcp-server.xml.in21
-rw-r--r--interface-definitions/dhcpv6-server.xml.in21
-rw-r--r--interface-definitions/firewall-options.xml.in7
-rw-r--r--interface-definitions/igmp-proxy.xml.in7
-rw-r--r--interface-definitions/include/accel-auth-local-users.xml.i7
-rw-r--r--interface-definitions/include/accel-mtu-128-16384.xml.i20
-rw-r--r--interface-definitions/include/bgp-afi-capability-orf.xml.i28
-rw-r--r--interface-definitions/include/bgp-afi-common.xml.i243
-rw-r--r--interface-definitions/include/bgp-afi-ipv4-prefix-list.xml.i25
-rw-r--r--interface-definitions/include/bgp-afi-ipv6-nexthop-local.xml.i15
-rw-r--r--interface-definitions/include/bgp-afi-ipv6-prefix-list.xml.i25
-rw-r--r--interface-definitions/include/bgp-afi-peer-group.xml.i7
-rw-r--r--interface-definitions/include/bgp-bfd.xml.i15
-rw-r--r--interface-definitions/include/bgp-capability-dynamic.xml.i9
-rw-r--r--interface-definitions/include/bgp-capability.xml.i16
-rw-r--r--interface-definitions/include/bgp-description.xml.i7
-rw-r--r--interface-definitions/include/bgp-disable-capability-negotiation.xml.i8
-rw-r--r--interface-definitions/include/bgp-disable-connected-check.xml.i8
-rw-r--r--interface-definitions/include/bgp-ebgp-multihop.xml.i14
-rw-r--r--interface-definitions/include/bgp-local-as.xml.i22
-rw-r--r--interface-definitions/include/bgp-neighbor-afi-ipv4-unicast.xml.i275
-rw-r--r--interface-definitions/include/bgp-neighbor-afi-ipv6-unicast.xml.i321
-rw-r--r--interface-definitions/include/bgp-override-capability.xml.i8
-rw-r--r--interface-definitions/include/bgp-passive.xml.i8
-rw-r--r--interface-definitions/include/bgp-password.xml.i7
-rw-r--r--interface-definitions/include/bgp-peer-group-afi-ipv4-unicast.xml.i303
-rw-r--r--interface-definitions/include/bgp-peer-group-afi-ipv6-unicast.xml.i319
-rw-r--r--interface-definitions/include/bgp-peer-group.xml.i7
-rw-r--r--interface-definitions/include/bgp-remote-as.xml.i27
-rw-r--r--interface-definitions/include/bgp-route-map.xml.i10
-rw-r--r--interface-definitions/include/bgp-shutdown.xml.i8
-rw-r--r--interface-definitions/include/bgp-timers-holdtime.xml.i18
-rw-r--r--interface-definitions/include/bgp-timers-keepalive.xml.i14
-rw-r--r--interface-definitions/include/bgp-ttl-security.xml.i21
-rw-r--r--interface-definitions/include/bgp-update-source.xml.i28
-rw-r--r--interface-definitions/include/generic-disable-node.xml.i8
-rw-r--r--interface-definitions/include/interface-eapol.xml.i24
-rw-r--r--interface-definitions/include/nat-rule.xml.i7
-rw-r--r--interface-definitions/include/radius-server-ipv4-ipv6.xml.i32
-rw-r--r--interface-definitions/include/radius-server-ipv4.xml.i27
-rw-r--r--interface-definitions/include/radius-server-key.xml.in7
-rw-r--r--interface-definitions/include/radius-server-port.xml.in15
-rw-r--r--interface-definitions/include/radius-server.xml.i48
-rw-r--r--interface-definitions/include/source-address-ipv4-ipv6.xml.i1
-rw-r--r--interface-definitions/interfaces-openvpn.xml.in21
-rw-r--r--interface-definitions/interfaces-wireguard.xml.in7
-rw-r--r--interface-definitions/interfaces-wireless.xml.in2
-rw-r--r--interface-definitions/lldp.xml.in7
-rw-r--r--interface-definitions/nat.xml.in7
-rw-r--r--interface-definitions/ntp.xml.in2
-rw-r--r--interface-definitions/protocols-bgp.xml.in535
-rw-r--r--interface-definitions/protocols-isis.xml.in4
-rw-r--r--interface-definitions/service_ipoe-server.xml.in2
-rw-r--r--interface-definitions/service_mdns-repeater.xml.in7
-rw-r--r--interface-definitions/service_pppoe-server.xml.in2
-rw-r--r--interface-definitions/service_webproxy.xml.in7
-rw-r--r--interface-definitions/snmp.xml.in2
-rw-r--r--interface-definitions/ssh.xml.in2
-rw-r--r--interface-definitions/system-login.xml.in17
-rw-r--r--interface-definitions/vpn_ipsec.xml.in7
-rw-r--r--interface-definitions/vpn_l2tp.xml.in2
-rw-r--r--interface-definitions/vpn_openconnect.xml.in9
-rw-r--r--interface-definitions/vpn_pptp.xml.in8
-rw-r--r--interface-definitions/vpn_sstp.xml.in2
-rw-r--r--interface-definitions/vrf.xml.in2
-rw-r--r--interface-definitions/vrrp.xml.in7
67 files changed, 816 insertions, 1927 deletions
diff --git a/interface-definitions/bcast-relay.xml.in b/interface-definitions/bcast-relay.xml.in
index b691f79fa..1b354d885 100644
--- a/interface-definitions/bcast-relay.xml.in
+++ b/interface-definitions/bcast-relay.xml.in
@@ -9,12 +9,7 @@
<priority>990</priority>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Globally disable broadcast relay service</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<tagNode name="id">
<properties>
<help>Unique ID for each UDP port to forward</help>
@@ -27,12 +22,7 @@
</constraint>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Disable broadcast relay service instance</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="address">
<properties>
<help>Set source IP of forwarded packets, otherwise original senders address is used</help>
diff --git a/interface-definitions/dhcp-server.xml.in b/interface-definitions/dhcp-server.xml.in
index 2c1609d94..912e4eaf7 100644
--- a/interface-definitions/dhcp-server.xml.in
+++ b/interface-definitions/dhcp-server.xml.in
@@ -9,12 +9,7 @@
<priority>911</priority>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Disable DHCP server</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="dynamic-dns-update">
<properties>
<help>Dynamically update Domain Name System (RFC4702)</help>
@@ -63,12 +58,7 @@
<help>Shared-network-name description</help>
</properties>
</leafNode>
- <leafNode name="disable">
- <properties>
- <help>Option to disable DHCP configuration for shared-network</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="shared-network-parameters">
<properties>
<help>Additional shared-network parameters for DHCP server.
@@ -330,12 +320,7 @@
<constraintErrorMessage>Invalid static mapping name. May only contain letters, numbers and .-_</constraintErrorMessage>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Option to disable static mapping</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="ip-address">
<properties>
<help>Fixed IP address of static mapping</help>
diff --git a/interface-definitions/dhcpv6-server.xml.in b/interface-definitions/dhcpv6-server.xml.in
index 37bc7e03e..fb0e79c47 100644
--- a/interface-definitions/dhcpv6-server.xml.in
+++ b/interface-definitions/dhcpv6-server.xml.in
@@ -9,12 +9,7 @@
<priority>900</priority>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Option to disable DHCPv6 server</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="preference">
<properties>
<help>Preference of this DHCPv6 server compared with others</help>
@@ -37,12 +32,7 @@
<constraintErrorMessage>Invalid DHCPv6 shared network name. May only contain letters, numbers and .-_</constraintErrorMessage>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Option to disable DHCPv6 configuration for shared-network</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<node name="common-options">
<properties>
<help>Common options to distribute to all clients, including stateless clients</help>
@@ -324,12 +314,7 @@
<constraintErrorMessage>Invalid static mapping name. May only contain letters, numbers and .-_</constraintErrorMessage>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Option to disable static mapping</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="identifier">
<properties>
<help>Client identifier (DUID) for this static mapping</help>
diff --git a/interface-definitions/firewall-options.xml.in b/interface-definitions/firewall-options.xml.in
index defd44f06..8d9225a9a 100644
--- a/interface-definitions/firewall-options.xml.in
+++ b/interface-definitions/firewall-options.xml.in
@@ -16,12 +16,7 @@
</completionHelp>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Disable this rule</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="adjust-mss">
<properties>
<help>Adjust MSS for IPv4 transit packets</help>
diff --git a/interface-definitions/igmp-proxy.xml.in b/interface-definitions/igmp-proxy.xml.in
index b9c52794f..d0f44eada 100644
--- a/interface-definitions/igmp-proxy.xml.in
+++ b/interface-definitions/igmp-proxy.xml.in
@@ -9,12 +9,7 @@
<priority>740</priority>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Option to disable IGMP proxy</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="disable-quickleave">
<properties>
<help>Option to disable "quickleave"</help>
diff --git a/interface-definitions/include/accel-auth-local-users.xml.i b/interface-definitions/include/accel-auth-local-users.xml.i
index 0d66b8135..35c7a2a06 100644
--- a/interface-definitions/include/accel-auth-local-users.xml.i
+++ b/interface-definitions/include/accel-auth-local-users.xml.i
@@ -9,12 +9,7 @@
<help>User name for authentication</help>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Option to disable a PPPoE Server user</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="password">
<properties>
<help>Password for authentication</help>
diff --git a/interface-definitions/include/accel-mtu-128-16384.xml.i b/interface-definitions/include/accel-mtu-128-16384.xml.i
index 7ee483056..6bd089823 100644
--- a/interface-definitions/include/accel-mtu-128-16384.xml.i
+++ b/interface-definitions/include/accel-mtu-128-16384.xml.i
@@ -1,9 +1,11 @@
- <leafNode name="mtu">
- <properties>
- <help>Maximum Transmission Unit (MTU) - default 1492</help>
- <constraint>
- <validator name="numeric" argument="--range 128-16384"/>
- </constraint>
- </properties>
- <defaultValue>1492</defaultValue>
- </leafNode>
+<!-- included start from accel-mtu-128-16384.xml.i -->
+<leafNode name="mtu">
+ <properties>
+ <help>Maximum Transmission Unit (MTU) - default 1492</help>
+ <constraint>
+ <validator name="numeric" argument="--range 128-16384"/>
+ </constraint>
+ </properties>
+ <defaultValue>1492</defaultValue>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-afi-capability-orf.xml.i b/interface-definitions/include/bgp-afi-capability-orf.xml.i
new file mode 100644
index 000000000..9bd265f93
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-capability-orf.xml.i
@@ -0,0 +1,28 @@
+<!-- included start from bgp-afi-capability-orf.xml.i -->
+<node name="orf">
+ <properties>
+ <help>Advertise ORF capability to this peer</help>
+ </properties>
+ <children>
+ <node name="prefix-list">
+ <properties>
+ <help>Advertise prefix-list ORF capability to this peer</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>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-afi-common.xml.i b/interface-definitions/include/bgp-afi-common.xml.i
new file mode 100644
index 000000000..ea4eea591
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-common.xml.i
@@ -0,0 +1,243 @@
+<!-- included start from bgp-afi-common.xml.i -->
+<node name="allowas-in">
+ <properties>
+ <help>Accept 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>u32:1-10</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 peer 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="disable-send-community">
+ <properties>
+ <help>Disable sending community attributes to this peer</help>
+ </properties>
+ <children>
+ <leafNode name="extended">
+ <properties>
+ <help>Disable sending extended community attributes to this peer</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="standard">
+ <properties>
+ <help>Disable sending standard community attributes to this peer</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<node name="default-originate">
+ <properties>
+ <help>Originate default route to this peer</help>
+ </properties>
+ <children>
+ <leafNode name="route-map">
+ <properties>
+ <help>route-map to specify criteria of the default route</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </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>u32:1-65535</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>u32:1-65535</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</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>As-path-list to filter outgoing route updates to this peer</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</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</help>
+ <valueHelp>
+ <format>u32:1-4294967295</format>
+ <description>Prefix limit</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967295"/>
+ </constraint>
+ </properties>
+</leafNode>
+<node name="nexthop-self">
+ <properties>
+ <help>Disable the next hop calculation for this peer</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="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</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Route-map to filter outgoing route updates</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Route-map to filter incoming route updates</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<leafNode name="route-reflector-client">
+ <properties>
+ <help>Peer is a route reflector client</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<leafNode name="route-server-client">
+ <properties>
+ <help>Peer is a route server client</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<node name="soft-reconfiguration">
+ <properties>
+ <help>Soft reconfiguration for peer</help>
+ </properties>
+ <children>
+ <leafNode name="inbound">
+ <properties>
+ <help>Enable inbound soft reconfiguration</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</help>
+ <valueHelp>
+ <format>u32:1-65535</format>
+ <description>Default weight</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-afi-ipv4-prefix-list.xml.i b/interface-definitions/include/bgp-afi-ipv4-prefix-list.xml.i
new file mode 100644
index 000000000..bbbada6bd
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-ipv4-prefix-list.xml.i
@@ -0,0 +1,25 @@
+<!-- included start from bgp-afi-ipv4-prefix-list.xml.i -->
+<node name="prefix-list">
+ <properties>
+ <help>IPv4-Prefix-list to filter route updates to/from this peer</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>IPv4-Prefix-list to filter outgoing route updates to this peer</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 peer</help>
+ <completionHelp>
+ <path>policy prefix-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-afi-ipv6-nexthop-local.xml.i b/interface-definitions/include/bgp-afi-ipv6-nexthop-local.xml.i
new file mode 100644
index 000000000..4778b392f
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-ipv6-nexthop-local.xml.i
@@ -0,0 +1,15 @@
+<!-- included start from bgp-afi-ipv6-nexthop-local.xml.i -->
+ <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>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-afi-ipv6-prefix-list.xml.i b/interface-definitions/include/bgp-afi-ipv6-prefix-list.xml.i
new file mode 100644
index 000000000..8ae7837e9
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-ipv6-prefix-list.xml.i
@@ -0,0 +1,25 @@
+<!-- included start from bgp-afi-ipv6-prefix-list.xml.i -->
+<node name="prefix-list">
+ <properties>
+ <help>Prefix-list to filter route updates to/from this peer</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Prefix-list to filter outgoing route updates to this peer</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</help>
+ <completionHelp>
+ <path>policy prefix-list6</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-afi-peer-group.xml.i b/interface-definitions/include/bgp-afi-peer-group.xml.i
new file mode 100644
index 000000000..c98a91030
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-peer-group.xml.i
@@ -0,0 +1,7 @@
+<!-- included start from bgp-afi-peer-group.xml.i -->
+<leafNode name="peer-group">
+ <properties>
+ <help>Peer group used for this neighbor</help>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-bfd.xml.i b/interface-definitions/include/bgp-bfd.xml.i
new file mode 100644
index 000000000..fe52b12f2
--- /dev/null
+++ b/interface-definitions/include/bgp-bfd.xml.i
@@ -0,0 +1,15 @@
+<!-- included start from bgp-bfd.xml.i -->
+<node name="bfd">
+ <properties>
+ <help>Enable Bidirectional Forwarding Detection (BFD) support</help>
+ </properties>
+ <children>
+ <leafNode name="check-control-plane-failure">
+ <properties>
+ <help>Allow to write CBIT independence in BFD outgoing packets and read both C-BIT value of BFD and lookup BGP peer status</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-capability-dynamic.xml.i b/interface-definitions/include/bgp-capability-dynamic.xml.i
new file mode 100644
index 000000000..3cf300156
--- /dev/null
+++ b/interface-definitions/include/bgp-capability-dynamic.xml.i
@@ -0,0 +1,9 @@
+<!-- included start from bgp-capability-dynamic.xml.i -->
+<!-- Capability dynamic in the afi ipv6 does nothing T3037 -->
+<leafNode name="dynamic">
+ <properties>
+ <help>Advertise dynamic capability to this neighbor</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-capability.xml.i b/interface-definitions/include/bgp-capability.xml.i
new file mode 100644
index 000000000..5940e46e4
--- /dev/null
+++ b/interface-definitions/include/bgp-capability.xml.i
@@ -0,0 +1,16 @@
+<!-- included start from bgp-capability.xml.i -->
+<node name="capability">
+ <properties>
+ <help>Advertise capabilities to this peer-group</help>
+ </properties>
+ <children>
+ #include <include/bgp-capability-dynamic.xml.i>
+ <leafNode name="extended-nexthop">
+ <properties>
+ <help>Advertise extended-nexthop capability to this neighbor</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-description.xml.i b/interface-definitions/include/bgp-description.xml.i
new file mode 100644
index 000000000..e1766cb9f
--- /dev/null
+++ b/interface-definitions/include/bgp-description.xml.i
@@ -0,0 +1,7 @@
+<!-- included start from bgp-description.xml.i -->
+<leafNode name="description">
+ <properties>
+ <help>Neighbor specific description</help>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-disable-capability-negotiation.xml.i b/interface-definitions/include/bgp-disable-capability-negotiation.xml.i
new file mode 100644
index 000000000..a43c6e8b9
--- /dev/null
+++ b/interface-definitions/include/bgp-disable-capability-negotiation.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from bgp-disable-capability-negotiation.xml.i -->
+<leafNode name="disable-capability-negotiation">
+ <properties>
+ <help>Disable capability negotiation with this neighbor</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-disable-connected-check.xml.i b/interface-definitions/include/bgp-disable-connected-check.xml.i
new file mode 100644
index 000000000..bb9098bf6
--- /dev/null
+++ b/interface-definitions/include/bgp-disable-connected-check.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from bgp-disable-connected-check.xml.i -->
+<leafNode name="disable-connected-check">
+ <properties>
+ <help>Disable check to see if eBGP peer address is a connected route</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-ebgp-multihop.xml.i b/interface-definitions/include/bgp-ebgp-multihop.xml.i
new file mode 100644
index 000000000..6459fcf47
--- /dev/null
+++ b/interface-definitions/include/bgp-ebgp-multihop.xml.i
@@ -0,0 +1,14 @@
+<!-- included start from bgp-ebgp-multihop.xml.i -->
+<leafNode name="ebgp-multihop">
+ <properties>
+ <help>Allow this EBGP neighbor to not be on a directly connected network</help>
+ <valueHelp>
+ <format>u32:1-255</format>
+ <description>Number of hops</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-255"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-local-as.xml.i b/interface-definitions/include/bgp-local-as.xml.i
new file mode 100644
index 000000000..cf55ce476
--- /dev/null
+++ b/interface-definitions/include/bgp-local-as.xml.i
@@ -0,0 +1,22 @@
+<!-- included start from bgp-local-as.xml.i -->
+<tagNode name="local-as">
+ <properties>
+ <help>Local AS number [REQUIRED]</help>
+ <valueHelp>
+ <format>u32:1-4294967294</format>
+ <description>Local AS number</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967294"/>
+ </constraint>
+ </properties>
+ <children>
+ <leafNode name="no-prepend">
+ <properties>
+ <help>Disable prepending local-as to updates from EBGP peers</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</tagNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-neighbor-afi-ipv4-unicast.xml.i b/interface-definitions/include/bgp-neighbor-afi-ipv4-unicast.xml.i
index c5a83f045..03a859271 100644
--- a/interface-definitions/include/bgp-neighbor-afi-ipv4-unicast.xml.i
+++ b/interface-definitions/include/bgp-neighbor-afi-ipv4-unicast.xml.i
@@ -4,283 +4,18 @@
<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>u32:1-10</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>u32:1-65535</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>u32:1-65535</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>
+ #include <include/bgp-afi-capability-orf.xml.i>
+ #include <include/bgp-capability-dynamic.xml.i>
</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>u32:1-4294967295</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>
- </properties>
- </leafNode>
- <leafNode name="weight">
- <properties>
- <help>Default weight for routes from this neighbor</help>
- <valueHelp>
- <format>u32:1-65535</format>
- <description>Weight for routes from this neighbor</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-65535"/>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/bgp-afi-peer-group.xml.i>
+ #include <include/bgp-afi-ipv4-prefix-list.xml.i>
+ #include <include/bgp-afi-common.xml.i>
</children>
</node>
<!-- included end -->
diff --git a/interface-definitions/include/bgp-neighbor-afi-ipv6-unicast.xml.i b/interface-definitions/include/bgp-neighbor-afi-ipv6-unicast.xml.i
index 61cdc6a1c..e9ba23408 100644
--- a/interface-definitions/include/bgp-neighbor-afi-ipv6-unicast.xml.i
+++ b/interface-definitions/include/bgp-neighbor-afi-ipv6-unicast.xml.i
@@ -4,328 +4,19 @@
<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>u32:1-10</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>
- <!-- Capability dynamic in the afi ipv6 does nothing T3037 -->
- <leafNode name="dynamic">
- <properties>
- <help>Advertise dynamic capability to this neighbor</help>
- <valueless/>
- </properties>
- </leafNode>
- <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>u32:1-65535</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>u32:1-65535</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>
+ #include <include/bgp-afi-capability-orf.xml.i>
+ #include <include/bgp-capability-dynamic.xml.i>
</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>u32:1-4294967295</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>u32:1-65535</format>
- <description>Weight for routes from this neighbor</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-65535"/>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/bgp-afi-peer-group.xml.i>
+ #include <include/bgp-afi-ipv6-nexthop-local.xml.i>
+ #include <include/bgp-afi-ipv6-prefix-list.xml.i>
+ #include <include/bgp-afi-common.xml.i>
</children>
</node>
<!-- included end -->
diff --git a/interface-definitions/include/bgp-override-capability.xml.i b/interface-definitions/include/bgp-override-capability.xml.i
new file mode 100644
index 000000000..88c277c8b
--- /dev/null
+++ b/interface-definitions/include/bgp-override-capability.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from bgp-override-capability.xml.i -->
+<leafNode name="override-capability">
+ <properties>
+ <help>Ignore capability negotiation with specified neighbor</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-passive.xml.i b/interface-definitions/include/bgp-passive.xml.i
new file mode 100644
index 000000000..ada961866
--- /dev/null
+++ b/interface-definitions/include/bgp-passive.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from bgp-passive.xml.i -->
+<leafNode name="passive">
+ <properties>
+ <help>Do not initiate a session with this neighbor</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-password.xml.i b/interface-definitions/include/bgp-password.xml.i
new file mode 100644
index 000000000..5b68a2d71
--- /dev/null
+++ b/interface-definitions/include/bgp-password.xml.i
@@ -0,0 +1,7 @@
+<!-- included start from bgp-password.xml.i -->
+<leafNode name="password">
+ <properties>
+ <help>BGP MD5 password</help>
+ </properties>
+</leafNode>
+<!-- included end -->
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
deleted file mode 100644
index e34d9f774..000000000
--- a/interface-definitions/include/bgp-peer-group-afi-ipv4-unicast.xml.i
+++ /dev/null
@@ -1,303 +0,0 @@
-<!-- included start from bgp-peer-group-afi-ipv4-unicast.xml.i -->
-<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>u32:1-10</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>u32:1-65535</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>u32:1-65535</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>u32:1-4294967295</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>u32:1-65535</format>
- <description>Weight for routes from this peer-group</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-65535"/>
- </constraint>
- </properties>
- </leafNode>
- </children>
-</node>
-<!-- included end -->
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
deleted file mode 100644
index 400193b7b..000000000
--- a/interface-definitions/include/bgp-peer-group-afi-ipv6-unicast.xml.i
+++ /dev/null
@@ -1,319 +0,0 @@
-<!-- included start from bgp-peer-group-afi-ipv6-unicast.xml.i -->
-<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>u32:1-10</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>u32:1-65535</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>u32:1-65535</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>u32:1-4294967295</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>u32:1-65535</format>
- <description>Weight for routes from this peer-group</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-65535"/>
- </constraint>
- </properties>
- </leafNode>
- </children>
-</node>
-<!-- included end -->
diff --git a/interface-definitions/include/bgp-peer-group.xml.i b/interface-definitions/include/bgp-peer-group.xml.i
new file mode 100644
index 000000000..24585c1ce
--- /dev/null
+++ b/interface-definitions/include/bgp-peer-group.xml.i
@@ -0,0 +1,7 @@
+<!-- included start from bgp-peer-group.xml.i -->
+<leafNode name="peer-group">
+ <properties>
+ <help>Peer group for this peer</help>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-remote-as.xml.i b/interface-definitions/include/bgp-remote-as.xml.i
new file mode 100644
index 000000000..de3f4d2ad
--- /dev/null
+++ b/interface-definitions/include/bgp-remote-as.xml.i
@@ -0,0 +1,27 @@
+<!-- included start from bgp-remote-as.xml.i -->
+<leafNode name="remote-as">
+ <properties>
+ <help>Neighbor BGP AS number [REQUIRED]</help>
+ <completionHelp>
+ <list>external internal</list>
+ </completionHelp>
+ <valueHelp>
+ <format>u32:1-4294967294</format>
+ <description>Neighbor AS number</description>
+ </valueHelp>
+ <valueHelp>
+ <format>external</format>
+ <description>Any AS different from the local AS</description>
+ </valueHelp>
+ <valueHelp>
+ <format>internal</format>
+ <description>Neighbor AS number</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967294"/>
+ <regex>^(external|internal)$</regex>
+ </constraint>
+ <constraintErrorMessage>Invalid AS number</constraintErrorMessage>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-route-map.xml.i b/interface-definitions/include/bgp-route-map.xml.i
new file mode 100644
index 000000000..18b092354
--- /dev/null
+++ b/interface-definitions/include/bgp-route-map.xml.i
@@ -0,0 +1,10 @@
+<!-- included start from bgp-route-map.xml.i -->
+<leafNode name="route-map">
+ <properties>
+ <help>Route-map to modify route attributes</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-shutdown.xml.i b/interface-definitions/include/bgp-shutdown.xml.i
new file mode 100644
index 000000000..330120bba
--- /dev/null
+++ b/interface-definitions/include/bgp-shutdown.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from bgp-shutdown.xml.i -->
+<leafNode name="shutdown">
+ <properties>
+ <help>Administratively shut down peer-group</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-timers-holdtime.xml.i b/interface-definitions/include/bgp-timers-holdtime.xml.i
new file mode 100644
index 000000000..09924574b
--- /dev/null
+++ b/interface-definitions/include/bgp-timers-holdtime.xml.i
@@ -0,0 +1,18 @@
+<!-- included start from bgp-timers-holdtime.xml.i -->
+<leafNode name="holdtime">
+ <properties>
+ <help>BGP hold timer for this neighbor</help>
+ <valueHelp>
+ <format>u32:1-65535</format>
+ <description>Hold timer in seconds</description>
+ </valueHelp>
+ <valueHelp>
+ <format>0</format>
+ <description>Hold timer disabled</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-65535"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-timers-keepalive.xml.i b/interface-definitions/include/bgp-timers-keepalive.xml.i
new file mode 100644
index 000000000..7d294c9d6
--- /dev/null
+++ b/interface-definitions/include/bgp-timers-keepalive.xml.i
@@ -0,0 +1,14 @@
+<!-- included start from bgp-timers-keepalive.xml.i -->
+<leafNode name="keepalive">
+ <properties>
+ <help>BGP keepalive interval for this neighbor</help>
+ <valueHelp>
+ <format>u32:1-65535</format>
+ <description>Keepalive interval in seconds (default 60)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-ttl-security.xml.i b/interface-definitions/include/bgp-ttl-security.xml.i
new file mode 100644
index 000000000..3f4d1786d
--- /dev/null
+++ b/interface-definitions/include/bgp-ttl-security.xml.i
@@ -0,0 +1,21 @@
+<!-- included start from bgp-ttl-security.xml.i -->
+<node name="ttl-security">
+ <properties>
+ <help>Ttl security mechanism</help>
+ </properties>
+ <children>
+ <leafNode name="hops">
+ <properties>
+ <help>Number of the maximum number of hops to the BGP peer</help>
+ <valueHelp>
+ <format>u32:1-254</format>
+ <description>Number of hops</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-254"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-update-source.xml.i b/interface-definitions/include/bgp-update-source.xml.i
new file mode 100644
index 000000000..c1db2e2c1
--- /dev/null
+++ b/interface-definitions/include/bgp-update-source.xml.i
@@ -0,0 +1,28 @@
+<!-- included start from bgp-update-source.xml.i -->
+<leafNode name="update-source">
+ <!-- Need to check format interfaces -->
+ <properties>
+ <help>Source IP of routing updates</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_local_ips.sh --both</script>
+ </completionHelp>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 address of route source</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>IPv6 address of route source</description>
+ </valueHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>Interface as route source</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ <validator name="ipv6-address"/>
+ <regex>^(br|bond|dum|en|eth|gnv|peth|tun|vti|vxlan|wg|wlan)[0-9]+|lo$</regex>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/generic-disable-node.xml.i b/interface-definitions/include/generic-disable-node.xml.i
new file mode 100644
index 000000000..520383afb
--- /dev/null
+++ b/interface-definitions/include/generic-disable-node.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from generic-disable-node.xml.i -->
+<leafNode name="disable">
+ <properties>
+ <help>Temporary disable</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/interface-eapol.xml.i b/interface-definitions/include/interface-eapol.xml.i
index 94476f0f1..8b33b4acf 100644
--- a/interface-definitions/include/interface-eapol.xml.i
+++ b/interface-definitions/include/interface-eapol.xml.i
@@ -1,12 +1,12 @@
-<!-- included start from interface-eapol.xml.i -->
-<node name="eapol">
- <properties>
- <help>Extensible Authentication Protocol over Local Area Network</help>
- </properties>
- <children>
- #include <include/certificate.xml.i>
- #include <include/certificate-ca.xml.i>
- #include <include/certificate-key.xml.i>
- </children>
-</node>
-<!-- included end -->
+<!-- included start from interface-eapol.xml.i -->
+<node name="eapol">
+ <properties>
+ <help>Extensible Authentication Protocol over Local Area Network</help>
+ </properties>
+ <children>
+ #include <include/certificate.xml.i>
+ #include <include/certificate-ca.xml.i>
+ #include <include/certificate-key.xml.i>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/nat-rule.xml.i b/interface-definitions/include/nat-rule.xml.i
index e034ef4dd..7ef90f07e 100644
--- a/interface-definitions/include/nat-rule.xml.i
+++ b/interface-definitions/include/nat-rule.xml.i
@@ -26,12 +26,7 @@
#include <include/nat-port.xml.i>
</children>
</node>
- <leafNode name="disable">
- <properties>
- <help>Disable NAT rule</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="exclude">
<properties>
<help>Exclude packets matching this rule from NAT</help>
diff --git a/interface-definitions/include/radius-server-ipv4-ipv6.xml.i b/interface-definitions/include/radius-server-ipv4-ipv6.xml.i
new file mode 100644
index 000000000..e4919d86a
--- /dev/null
+++ b/interface-definitions/include/radius-server-ipv4-ipv6.xml.i
@@ -0,0 +1,32 @@
+<!-- included start from radius-server-ipv4-ipv6.xml.i -->
+<node name="radius">
+ <properties>
+ <help>RADIUS based user authentication</help>
+ </properties>
+ <children>
+ <tagNode name="server">
+ <properties>
+ <help>RADIUS server configuration</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>RADIUS server IPv4 address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>RADIUS server IPv6 address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ <validator name="ipv6-address"/>
+ </constraint>
+ </properties>
+ <children>
+ #include <include/generic-disable-node.xml.i>
+ #include <include/radius-server-key.xml.in>
+ #include <include/radius-server-port.xml.in>
+ </children>
+ </tagNode>
+ #include <include/source-address-ipv4-ipv6.xml.i>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/radius-server-ipv4.xml.i b/interface-definitions/include/radius-server-ipv4.xml.i
new file mode 100644
index 000000000..9c73c4c49
--- /dev/null
+++ b/interface-definitions/include/radius-server-ipv4.xml.i
@@ -0,0 +1,27 @@
+<!-- included start from radius-server-ipv4.xml.i -->
+<node name="radius">
+ <properties>
+ <help>RADIUS based user authentication</help>
+ </properties>
+ <children>
+ #include <include/source-address-ipv4.xml.i>
+ <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>
+ #include <include/generic-disable-node.xml.i>
+ #include <include/radius-server-key.xml.in>
+ #include <include/radius-server-port.xml.in>
+ </children>
+ </tagNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/radius-server-key.xml.in b/interface-definitions/include/radius-server-key.xml.in
new file mode 100644
index 000000000..32a01b402
--- /dev/null
+++ b/interface-definitions/include/radius-server-key.xml.in
@@ -0,0 +1,7 @@
+<!-- included start from radius-server-key.xml.i -->
+<leafNode name="key">
+ <properties>
+ <help>Shared secret key</help>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/radius-server-port.xml.in b/interface-definitions/include/radius-server-port.xml.in
new file mode 100644
index 000000000..71b6bddb7
--- /dev/null
+++ b/interface-definitions/include/radius-server-port.xml.in
@@ -0,0 +1,15 @@
+<!-- included start from radius-server-port.xml.i -->
+<leafNode name="port">
+ <properties>
+ <help>Authentication port</help>
+ <valueHelp>
+ <format>u32:1-65535</format>
+ <description>Numeric IP port (default: 1812)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ <defaultValue>1812</defaultValue>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/radius-server.xml.i b/interface-definitions/include/radius-server.xml.i
deleted file mode 100644
index c1dadd2a2..000000000
--- a/interface-definitions/include/radius-server.xml.i
+++ /dev/null
@@ -1,48 +0,0 @@
-<!-- included start from radius-server.xml.i -->
-<node name="radius">
- <properties>
- <help>RADIUS based user authentication</help>
- </properties>
- <children>
- #include <include/source-address-ipv4.xml.i>
- <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>u32:1-65535</format>
- <description>Numeric IP port (default: 1812)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-65535"/>
- </constraint>
- </properties>
- <defaultValue>1812</defaultValue>
- </leafNode>
- </children>
- </tagNode>
- </children>
-</node>
-<!-- included end -->
diff --git a/interface-definitions/include/source-address-ipv4-ipv6.xml.i b/interface-definitions/include/source-address-ipv4-ipv6.xml.i
index 004e04f7b..4da4698c2 100644
--- a/interface-definitions/include/source-address-ipv4-ipv6.xml.i
+++ b/interface-definitions/include/source-address-ipv4-ipv6.xml.i
@@ -17,6 +17,7 @@
<validator name="ipv4-address"/>
<validator name="ipv6-address"/>
</constraint>
+ <multi/>
</properties>
</leafNode>
<!-- included end -->
diff --git a/interface-definitions/interfaces-openvpn.xml.in b/interface-definitions/interfaces-openvpn.xml.in
index 34040bf72..527f7fd54 100644
--- a/interface-definitions/interfaces-openvpn.xml.in
+++ b/interface-definitions/interfaces-openvpn.xml.in
@@ -418,12 +418,7 @@
</valueHelp>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Option to disable client connection</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="ip">
<properties>
<help>IP address of the client</help>
@@ -482,12 +477,7 @@
<help>Pool of client IPv4 addresses</help>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Disable client IP pool</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="start">
<properties>
<help>First IP address in the pool</help>
@@ -546,12 +536,7 @@
</constraint>
</properties>
</leafNode>
- <leafNode name="disable">
- <properties>
- <help>Disable client IPv6 pool</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
</children>
</node>
<leafNode name="domain-name">
diff --git a/interface-definitions/interfaces-wireguard.xml.in b/interface-definitions/interfaces-wireguard.xml.in
index 92c9f510c..acf5082d6 100644
--- a/interface-definitions/interfaces-wireguard.xml.in
+++ b/interface-definitions/interfaces-wireguard.xml.in
@@ -55,12 +55,7 @@
<constraintErrorMessage>peer alias too long (limit 100 characters)</constraintErrorMessage>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>disables peer</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="pubkey">
<properties>
<help>base64 encoded public key</help>
diff --git a/interface-definitions/interfaces-wireless.xml.in b/interface-definitions/interfaces-wireless.xml.in
index 86f529278..f39e5618f 100644
--- a/interface-definitions/interfaces-wireless.xml.in
+++ b/interface-definitions/interfaces-wireless.xml.in
@@ -722,7 +722,7 @@
<constraintErrorMessage>Invalid WPA pass phrase, must be 8 to 63 printable characters!</constraintErrorMessage>
</properties>
</leafNode>
- #include <include/radius-server.xml.i>
+ #include <include/radius-server-ipv4.xml.i>
<node name="radius">
<children>
<tagNode name="server">
diff --git a/interface-definitions/lldp.xml.in b/interface-definitions/lldp.xml.in
index 950b267ef..9fdffcea1 100644
--- a/interface-definitions/lldp.xml.in
+++ b/interface-definitions/lldp.xml.in
@@ -25,12 +25,7 @@
</completionHelp>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Disable lldp on this interface</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<node name="location">
<properties>
<help>LLDP-MED location data [REQUIRED]</help>
diff --git a/interface-definitions/nat.xml.in b/interface-definitions/nat.xml.in
index 00aaddb17..d6bed5b27 100644
--- a/interface-definitions/nat.xml.in
+++ b/interface-definitions/nat.xml.in
@@ -79,12 +79,7 @@
<help>Rule description</help>
</properties>
</leafNode>
- <leafNode name="disable">
- <properties>
- <help>Disable NAT rule</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
#include <include/nat-interface.xml.i>
<node name="source">
<properties>
diff --git a/interface-definitions/ntp.xml.in b/interface-definitions/ntp.xml.in
index b939d9dc6..d244b56bb 100644
--- a/interface-definitions/ntp.xml.in
+++ b/interface-definitions/ntp.xml.in
@@ -5,8 +5,8 @@
<children>
<node name="ntp" owner="${vyos_conf_scripts_dir}/ntp.py">
<properties>
- <priority>400</priority>
<help>Network Time Protocol (NTP) configuration</help>
+ <priority>900</priority>
</properties>
<children>
<tagNode name="server">
diff --git a/interface-definitions/protocols-bgp.xml.in b/interface-definitions/protocols-bgp.xml.in
index 27cbc919a..f152021fb 100644
--- a/interface-definitions/protocols-bgp.xml.in
+++ b/interface-definitions/protocols-bgp.xml.in
@@ -59,14 +59,7 @@
<valueless/>
</properties>
</leafNode>
- <leafNode name="route-map">
- <properties>
- <help>Route-map to modify route attributes</help>
- <completionHelp>
- <path>policy route-map</path>
- </completionHelp>
- </properties>
- </leafNode>
+ #include <include/bgp-route-map.xml.i>
</children>
</tagNode>
<node name="redistribute">
@@ -167,14 +160,7 @@
</constraint>
</properties>
</leafNode>
- <leafNode name="route-map">
- <properties>
- <help>Route-map to modify route attributes</help>
- <completionHelp>
- <path>policy route-map</path>
- </completionHelp>
- </properties>
- </leafNode>
+ #include <include/bgp-route-map.xml.i>
</children>
</tagNode>
<node name="redistribute">
@@ -198,17 +184,17 @@
#include <include/bgp-afi-redistribute-metric-route-map.xml.i>
</children>
</node>
- <node name="ospf">
+ <node name="ospfv3">
<properties>
- <help>Redistribute OSPF routes into BGP</help>
+ <help>Redistribute OSPFv3 routes into BGP</help>
</properties>
<children>
#include <include/bgp-afi-redistribute-metric-route-map.xml.i>
</children>
</node>
- <node name="rip">
+ <node name="ripng">
<properties>
- <help>Redistribute RIP routes into BGP</help>
+ <help>Redistribute RIPng routes into BGP</help>
</properties>
<children>
#include <include/bgp-afi-redistribute-metric-route-map.xml.i>
@@ -282,7 +268,7 @@
<constraint>
<validator name="ipv4-address"/>
<validator name="ipv6-address"/>
- <regex>(br|bond|dum|en|eth|gnv|lo|peth|tun|vti|vxlan|wg|wlan)[0-9]+</regex>
+ <regex>^(br|bond|dum|en|eth|gnv|peth|tun|vti|vxlan|wg|wlan)[0-9]+|lo$</regex>
</constraint>
</properties>
<children>
@@ -307,55 +293,11 @@
</constraint>
</properties>
</leafNode>
- <node name="bfd">
- <properties>
- <help>Enable Bidirectional Forwarding Detection (BFD) support</help>
- </properties>
- <children>
- <leafNode name="check-control-plane-failure">
- <properties>
- <help>Allow to write CBIT independence in BFD outgoing packets and read both C-BIT value of BFD and lookup BGP peer status</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </node>
- <node name="capability">
- <properties>
- <help>Advertise capabilities to this neighbor</help>
- </properties>
- <children>
- <leafNode name="dynamic">
- <properties>
- <help>Advertise dynamic capability to this neighbor</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="extended-nexthop">
- <properties>
- <help>Advertise extended-nexthop capability to this neighbor</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </node>
- <leafNode name="description">
- <properties>
- <help>Description for this neighbor</help>
- </properties>
- </leafNode>
- <leafNode name="disable-capability-negotiation">
- <properties>
- <help>Disable capability negotiation with this neighbor</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="disable-connected-check">
- <properties>
- <help>Disable check to see if eBGP peer address is a connected route</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/bgp-bfd.xml.i>
+ #include <include/bgp-capability.xml.i>
+ #include <include/bgp-description.xml.i>
+ #include <include/bgp-disable-capability-negotiation.xml.i>
+ #include <include/bgp-disable-connected-check.xml.i>
<node name="disable-send-community">
<properties>
<help>Disable sending community attributes to this neighbor (IPv4)</help>
@@ -375,134 +317,30 @@
</leafNode>
</children>
</node>
- <leafNode name="ebgp-multihop">
- <properties>
- <help>Allow this EBGP neighbor to not be on a directly connected network</help>
- <valueHelp>
- <format>u32:1-255</format>
- <description>Number of hops</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-255"/>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/bgp-ebgp-multihop.xml.i>
<node name="interface">
<properties>
<help>Interface parameters</help>
</properties>
<children>
- <leafNode name="peer-group">
- <properties>
- <help>Peer group for this peer</help>
- </properties>
- </leafNode>
- <leafNode name="remote-as">
- <properties>
- <help>Neighbor BGP AS number [REQUIRED]</help>
- <completionHelp>
- <list>external internal</list>
- </completionHelp>
- <valueHelp>
- <format>u32:1-4294967294</format>
- <description>Neighbor AS number</description>
- </valueHelp>
- <valueHelp>
- <format>external</format>
- <description>Any AS different from the local AS</description>
- </valueHelp>
- <valueHelp>
- <format>internal</format>
- <description>Neighbor AS number</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-4294967294"/>
- <regex>(external|internal)</regex>
- </constraint>
- <constraintErrorMessage>Invalid ASN value</constraintErrorMessage>
- </properties>
- </leafNode>
+ #include <include/bgp-peer-group.xml.i>
+ #include <include/bgp-remote-as.xml.i>
<node name="v6only">
<properties>
<help>Enable BGP with v6 link-local only</help>
</properties>
<children>
- <leafNode name="peer-group">
- <properties>
- <help>Peer group for this peer</help>
- </properties>
- </leafNode>
- <leafNode name="remote-as">
- <properties>
- <help>Neighbor BGP AS number [REQUIRED]</help>
- <completionHelp>
- <list>external internal</list>
- </completionHelp>
- <valueHelp>
- <format>u32:1-4294967294</format>
- <description>Neighbor AS number</description>
- </valueHelp>
- <valueHelp>
- <format>external</format>
- <description>Any AS different from the local AS</description>
- </valueHelp>
- <valueHelp>
- <format>internal</format>
- <description>Neighbor AS number</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-4294967294"/>
- <regex>(external|internal)</regex>
- </constraint>
- <constraintErrorMessage>Invalid ASN value</constraintErrorMessage>
- </properties>
- </leafNode>
+ #include <include/bgp-peer-group.xml.i>
+ #include <include/bgp-remote-as.xml.i>
</children>
</node>
</children>
</node>
- <tagNode name="local-as">
- <properties>
- <help>Local AS number</help>
- <valueHelp>
- <format>u32:1-4294967294</format>
- <description>Local AS number</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-4294967294"/>
- </constraint>
- </properties>
- <children>
- <leafNode name="no-prepend">
- <properties>
- <help>Disable prepending local-as to updates from EBGP peers</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </tagNode>
- <leafNode name="override-capability">
- <properties>
- <help>Ignore capability negotiation with specified neighbor</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="passive">
- <properties>
- <help>Do not initiate a session with this neighbor</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="password">
- <properties>
- <help>BGP MD5 password</help>
- </properties>
- </leafNode>
- <leafNode name="peer-group">
- <properties>
- <help>IPv4 peer group for this peer</help>
- </properties>
- </leafNode>
+ #include <include/bgp-local-as.xml.i>
+ #include <include/bgp-override-capability.xml.i>
+ #include <include/bgp-passive.xml.i>
+ #include <include/bgp-password.xml.i>
+ #include <include/bgp-peer-group.xml.i>
<leafNode name="port">
<properties>
<help>Neighbor BGP port</help>
@@ -515,37 +353,8 @@
</constraint>
</properties>
</leafNode>
- <leafNode name="remote-as">
- <properties>
- <help>Neighbor BGP AS number [REQUIRED]</help>
- <completionHelp>
- <list>external internal</list>
- </completionHelp>
- <valueHelp>
- <format>u32:1-4294967294</format>
- <description>Neighbor AS number</description>
- </valueHelp>
- <valueHelp>
- <format>external</format>
- <description>Any AS different from the local AS</description>
- </valueHelp>
- <valueHelp>
- <format>internal</format>
- <description>Neighbor AS number</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-4294967294"/>
- <regex>(external|internal)</regex>
- </constraint>
- <constraintErrorMessage>Invalid ASN value</constraintErrorMessage>
- </properties>
- </leafNode>
- <leafNode name="shutdown">
- <properties>
- <help>Administratively shut down neighbor</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/bgp-remote-as.xml.i>
+ #include <include/bgp-shutdown.xml.i>
<leafNode name="strict-capability-match">
<properties>
<help>Enable strict capability negotiation</help>
@@ -573,78 +382,12 @@
</constraint>
</properties>
</leafNode>
- <leafNode name="holdtime">
- <properties>
- <help>BGP hold timer for this neighbor</help>
- <valueHelp>
- <format>u32:1-65535</format>
- <description>Hold timer in seconds</description>
- </valueHelp>
- <valueHelp>
- <format>0</format>
- <description>Hold timer disabled</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-65535"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="keepalive">
- <properties>
- <help>BGP keepalive interval for this neighbor</help>
- <valueHelp>
- <format>u32:1-65535</format>
- <description>Keepalive interval in seconds (default 60)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-65535"/>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/bgp-timers-holdtime.xml.i>
+ #include <include/bgp-timers-keepalive.xml.i>
</children>
</node>
- <node name="ttl-security">
- <properties>
- <help>Ttl security mechanism for this BGP peer</help>
- </properties>
- <children>
- <leafNode name="hops">
- <properties>
- <help>Number of the maximum number of hops to the BGP peer</help>
- <valueHelp>
- <format>u32:1-254</format>
- <description>Number of hops</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-254"/>
- </constraint>
- </properties>
- </leafNode>
- </children>
- </node>
- <leafNode name="update-source">
- <!-- Need to check format interfaces -->
- <properties>
- <help>Source IP of routing updates</help>
- <valueHelp>
- <format>ipv4</format>
- <description>IPv4 address of route source</description>
- </valueHelp>
- <valueHelp>
- <format>ipv6</format>
- <description>IPv6 address of route source</description>
- </valueHelp>
- <valueHelp>
- <format>txt</format>
- <description>Interface as route source</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
- <regex>(br|bond|dum|en|eth|gnv|lo|peth|tun|vti|vxlan|wg|wlan)[0-9]+</regex>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/bgp-ttl-security.xml.i>
+ #include <include/bgp-update-source.xml.i>
</children>
</tagNode>
<node name="parameters">
@@ -987,218 +730,34 @@
<help>BGP peer-group address-family parameters</help>
</properties>
<children>
- #include <include/bgp-peer-group-afi-ipv4-unicast.xml.i>
- #include <include/bgp-peer-group-afi-ipv6-unicast.xml.i>
- </children>
- </node>
- <leafNode name="bfd">
- <properties>
- <help>Enable Bidirectional Forwarding Detection (BFD) support</help>
- <valueless/>
- </properties>
- </leafNode>
- <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>
- <leafNode name="extended-nexthop">
- <properties>
- <help>Advertise extended-nexthop capability to this neighbor</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </node>
- <leafNode name="description">
- <properties>
- <help>Description for this peer-group</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="disable-capability-negotiation">
- <properties>
- <help>Disable capability negotiation with this peer-group</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="disable-connected-check">
- <properties>
- <help>Disable check to see if eBGP peer address is a connected route</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="ebgp-multihop">
- <properties>
- <help>Allow this EBGP peer-group to not be on a directly connected network</help>
- <valueHelp>
- <format>u32:1-255</format>
- <description>Number of hops</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-255"/>
- </constraint>
- </properties>
- </leafNode>
- <tagNode name="local-as">
- <properties>
- <help>Local AS number [REQUIRED]</help>
- <valueHelp>
- <format>u32:1-4294967294</format>
- <description>Local AS number</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-4294967294"/>
- </constraint>
- </properties>
- <children>
- <leafNode name="no-prepend">
- <properties>
- <help>Disable prepending local-as to updates from EBGP peers</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </tagNode>
- <leafNode name="override-capability">
- <properties>
- <help>Ignore capability negotiation with specified peer-group</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="passive">
- <properties>
- <help>Do not intiate a session with this peer-group</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="password">
- <properties>
- <help>BGP MD5 password</help>
- </properties>
- </leafNode>
- <leafNode name="remote-as">
- <properties>
- <help>Neighbor BGP AS number [REQUIRED]</help>
- <completionHelp>
- <list>external internal</list>
- </completionHelp>
- <valueHelp>
- <format>u32:1-4294967294</format>
- <description>Neighbor AS number</description>
- </valueHelp>
- <valueHelp>
- <format>external</format>
- <description>Any AS different from the local AS</description>
- </valueHelp>
- <valueHelp>
- <format>internal</format>
- <description>Neighbor AS number</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-4294967294"/>
- <regex>(external|internal)</regex>
- </constraint>
- <constraintErrorMessage>Invalid ASN value</constraintErrorMessage>
- </properties>
- </leafNode>
- <leafNode name="shutdown">
- <properties>
- <help>Administratively shut down peer-group</help>
- <valueless/>
- </properties>
- </leafNode>
- <node name="ttl-security">
- <properties>
- <help>Ttl security mechanism</help>
- </properties>
- <children>
- <leafNode name="hops">
- <properties>
- <help>Number of the maximum number of hops to the BGP peer</help>
- <valueHelp>
- <format>u32:1-254</format>
- <description>Number of hops</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-254"/>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/bgp-neighbor-afi-ipv4-unicast.xml.i>
+ #include <include/bgp-neighbor-afi-ipv6-unicast.xml.i>
</children>
</node>
- <leafNode name="update-source">
- <!-- Need to check format interfaces -->
- <properties>
- <help>Source IP of routing updates</help>
- <valueHelp>
- <format>ipv4</format>
- <description>IPv4 address of route source</description>
- </valueHelp>
- <valueHelp>
- <format>ipv6</format>
- <description>IPv6 address of route source</description>
- </valueHelp>
- <valueHelp>
- <format>txt</format>
- <description>Interface as route source</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- <validator name="ipv6-address"/>
- <regex>(br|bond|dum|en|eth|gnv|lo|peth|tun|vti|vxlan|wg|wlan)[0-9]+</regex>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/bgp-bfd.xml.i>
+ #include <include/bgp-capability.xml.i>
+ #include <include/bgp-description.xml.i>
+ #include <include/bgp-disable-capability-negotiation.xml.i>
+ #include <include/bgp-disable-connected-check.xml.i>
+ #include <include/bgp-ebgp-multihop.xml.i>
+ #include <include/bgp-local-as.xml.i>
+ #include <include/bgp-override-capability.xml.i>
+ #include <include/bgp-passive.xml.i>
+ #include <include/bgp-password.xml.i>
+ #include <include/bgp-remote-as.xml.i>
+ #include <include/bgp-shutdown.xml.i>
+ #include <include/bgp-ttl-security.xml.i>
+ #include <include/bgp-update-source.xml.i>
</children>
</tagNode>
- <leafNode name="route-map">
- <properties>
- <help>Filter routes installed in local route map</help>
- <completionHelp>
- <path>policy route-map</path>
- </completionHelp>
- </properties>
- </leafNode>
+ #include <include/bgp-route-map.xml.i>
<node name="timers">
<properties>
<help>BGP protocol timers</help>
</properties>
<children>
- <leafNode name="holdtime">
- <properties>
- <help>BGP holdtime interval</help>
- <valueHelp>
- <format>u32:4-65535</format>
- <description>Hold-time in seconds (default 180)</description>
- </valueHelp>
- <valueHelp>
- <format>0</format>
- <description>Do not hold routes</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-65535"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="keepalive">
- <properties>
- <help>Keepalive interval</help>
- <valueHelp>
- <format>u32:1-65535</format>
- <description>Keep-alive time in seconds (default 60)</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-65535"/>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/bgp-timers-holdtime.xml.i>
+ #include <include/bgp-timers-keepalive.xml.i>
</children>
</node>
</children>
diff --git a/interface-definitions/protocols-isis.xml.in b/interface-definitions/protocols-isis.xml.in
index 2340079a6..8c5691ecf 100644
--- a/interface-definitions/protocols-isis.xml.in
+++ b/interface-definitions/protocols-isis.xml.in
@@ -758,9 +758,9 @@
</constraint>
</properties>
</leafNode>
- <leafNode name="three-way-handshake">
+ <leafNode name="no-three-way-handshake">
<properties>
- <help>Enable/Disable three-way handshake</help>
+ <help>Disable three-way handshake</help>
<valueless/>
</properties>
</leafNode>
diff --git a/interface-definitions/service_ipoe-server.xml.in b/interface-definitions/service_ipoe-server.xml.in
index ee09d01d6..07241fcc2 100644
--- a/interface-definitions/service_ipoe-server.xml.in
+++ b/interface-definitions/service_ipoe-server.xml.in
@@ -197,7 +197,7 @@
</tagNode>
</children>
</tagNode>
- #include <include/radius-server.xml.i>
+ #include <include/radius-server-ipv4.xml.i>
#include <include/accel-radius-additions.xml.i>
</children>
</node>
diff --git a/interface-definitions/service_mdns-repeater.xml.in b/interface-definitions/service_mdns-repeater.xml.in
index e21b1b27c..33ef9a434 100644
--- a/interface-definitions/service_mdns-repeater.xml.in
+++ b/interface-definitions/service_mdns-repeater.xml.in
@@ -13,12 +13,7 @@
<priority>990</priority>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Disable mDNS repeater service</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="interface">
<properties>
<help>Interface to repeat mDNS advertisements [REQUIRED]</help>
diff --git a/interface-definitions/service_pppoe-server.xml.in b/interface-definitions/service_pppoe-server.xml.in
index 6d11f41a0..5c0a66527 100644
--- a/interface-definitions/service_pppoe-server.xml.in
+++ b/interface-definitions/service_pppoe-server.xml.in
@@ -26,7 +26,7 @@
#include <include/accel-auth-local-users.xml.i>
#include <include/accel-auth-mode.xml.i>
#include <include/accel-auth-protocols.xml.i>
- #include <include/radius-server.xml.i>
+ #include <include/radius-server-ipv4.xml.i>
#include <include/accel-radius-additions.xml.i>
<node name="radius">
<children>
diff --git a/interface-definitions/service_webproxy.xml.in b/interface-definitions/service_webproxy.xml.in
index 4cd8138ec..7cb0f7ece 100644
--- a/interface-definitions/service_webproxy.xml.in
+++ b/interface-definitions/service_webproxy.xml.in
@@ -394,12 +394,7 @@
<help>URL filtering settings</help>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Disable URL filtering</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<node name="squidguard">
<properties>
<help>URL filtering via squidGuard redirector</help>
diff --git a/interface-definitions/snmp.xml.in b/interface-definitions/snmp.xml.in
index 0a0a29f4d..3a993ec9c 100644
--- a/interface-definitions/snmp.xml.in
+++ b/interface-definitions/snmp.xml.in
@@ -6,7 +6,7 @@
<node name="snmp" owner="${vyos_conf_scripts_dir}/snmp.py">
<properties>
<help>Simple Network Management Protocol (SNMP)</help>
- <priority>980</priority>
+ <priority>900</priority>
</properties>
<children>
<tagNode name="community">
diff --git a/interface-definitions/ssh.xml.in b/interface-definitions/ssh.xml.in
index d94e29427..a2ce3c1c9 100644
--- a/interface-definitions/ssh.xml.in
+++ b/interface-definitions/ssh.xml.in
@@ -6,7 +6,7 @@
<node name="ssh" owner="${vyos_conf_scripts_dir}/ssh.py">
<properties>
<help>Secure Shell (SSH)</help>
- <priority>500</priority>
+ <priority>1000</priority>
</properties>
<children>
<node name="access-control">
diff --git a/interface-definitions/system-login.xml.in b/interface-definitions/system-login.xml.in
index 812a50c8a..919974eeb 100644
--- a/interface-definitions/system-login.xml.in
+++ b/interface-definitions/system-login.xml.in
@@ -34,6 +34,7 @@
</constraint>
<constraintErrorMessage>Invalid encrypted password for $VAR(../../@).</constraintErrorMessage>
</properties>
+ <defaultValue>!</defaultValue>
</leafNode>
<leafNode name="plaintext-password">
<properties>
@@ -44,7 +45,7 @@
<properties>
<help>Remote access public keys</help>
<valueHelp>
- <format>&gt;identifier&lt;</format>
+ <format>txt</format>
<description>Key identifier used by ssh-keygen (usually of form user@host)</description>
</valueHelp>
</properties>
@@ -61,7 +62,7 @@
</leafNode>
<leafNode name="type">
<properties>
- <help></help>
+ <help>Public key type</help>
<completionHelp>
<list>ssh-dss ssh-rsa ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 ecdsa-sha2-nistp521 ssh-ed25519</list>
</completionHelp>
@@ -86,14 +87,14 @@
<description/>
</valueHelp>
<constraint>
- <regex>(ssh-dss|ssh-rsa|ecdsa-sha2-nistp256|ecdsa-sha2-nistp384|ecdsa-sha2-nistp521|ssh-ed25519)</regex>
+ <regex>^(ssh-dss|ssh-rsa|ecdsa-sha2-nistp256|ecdsa-sha2-nistp384|ecdsa-sha2-nistp521|ssh-ed25519)$</regex>
</constraint>
</properties>
</leafNode>
</children>
</tagNode>
</children>
- </node>
+ </node>
<leafNode name="full-name">
<properties>
<help>Full name of the user (use quotes for names with spaces)</help>
@@ -110,7 +111,7 @@
</leafNode>
</children>
</tagNode>
- #include <include/radius-server.xml.i>
+ #include <include/radius-server-ipv4-ipv6.xml.i>
<node name="radius">
<children>
<tagNode name="server">
@@ -119,7 +120,7 @@
<properties>
<help>Session timeout</help>
<valueHelp>
- <format>1-30</format>
+ <format>u32:1-30</format>
<description>Session timeout in seconds (default: 2)</description>
</valueHelp>
<constraint>
@@ -127,18 +128,20 @@
</constraint>
<constraintErrorMessage>Timeout must be between 1 and 30 seconds</constraintErrorMessage>
</properties>
+ <defaultValue>2</defaultValue>
</leafNode>
<leafNode name="priority">
<properties>
<help>Server priority</help>
<valueHelp>
- <format>1-255</format>
+ <format>u32:1-255</format>
<description>Server priority (default: 255)</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--range 1-255"/>
</constraint>
</properties>
+ <defaultValue>255</defaultValue>
</leafNode>
</children>
</tagNode>
diff --git a/interface-definitions/vpn_ipsec.xml.in b/interface-definitions/vpn_ipsec.xml.in
index daf98a833..426d7e71c 100644
--- a/interface-definitions/vpn_ipsec.xml.in
+++ b/interface-definitions/vpn_ipsec.xml.in
@@ -1045,12 +1045,7 @@
</constraint>
</properties>
</leafNode>
- <leafNode name="disable">
- <properties>
- <help>Option to disable vpn tunnel</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="esp-group">
<properties>
<help>ESP group name</help>
diff --git a/interface-definitions/vpn_l2tp.xml.in b/interface-definitions/vpn_l2tp.xml.in
index 42da75a64..998a8c371 100644
--- a/interface-definitions/vpn_l2tp.xml.in
+++ b/interface-definitions/vpn_l2tp.xml.in
@@ -212,7 +212,7 @@
#include <include/accel-ppp-mppe.xml.i>
#include <include/accel-auth-mode.xml.i>
#include <include/accel-auth-local-users.xml.i>
- #include <include/radius-server.xml.i>
+ #include <include/radius-server-ipv4.xml.i>
<node name="radius">
<children>
<tagNode name="server">
diff --git a/interface-definitions/vpn_openconnect.xml.in b/interface-definitions/vpn_openconnect.xml.in
index ccf537e04..054e027fc 100644
--- a/interface-definitions/vpn_openconnect.xml.in
+++ b/interface-definitions/vpn_openconnect.xml.in
@@ -42,12 +42,7 @@
<help>User name for authentication</help>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Option to disable a SSL VPN Server user</help>
- <valueless />
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="password">
<properties>
<help>Password for authentication</help>
@@ -57,7 +52,7 @@
</tagNode>
</children>
</node>
- #include <include/radius-server.xml.i>
+ #include <include/radius-server-ipv4.xml.i>
<node name="radius">
<children>
<leafNode name="timeout">
diff --git a/interface-definitions/vpn_pptp.xml.in b/interface-definitions/vpn_pptp.xml.in
index b17138e33..72eda8752 100644
--- a/interface-definitions/vpn_pptp.xml.in
+++ b/interface-definitions/vpn_pptp.xml.in
@@ -104,11 +104,7 @@
<help>User name for authentication</help>
</properties>
<children>
- <leafNode name="disable">
- <properties>
- <help>Option to disable a PPTP Server user</help>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<leafNode name="password">
<properties>
<help>Password for authentication</help>
@@ -123,7 +119,7 @@
</tagNode>
</children>
</node>
- #include <include/radius-server.xml.i>
+ #include <include/radius-server-ipv4.xml.i>
#include <include/accel-radius-additions.xml.i>
</children>
</node>
diff --git a/interface-definitions/vpn_sstp.xml.in b/interface-definitions/vpn_sstp.xml.in
index 134858608..ebcb77db2 100644
--- a/interface-definitions/vpn_sstp.xml.in
+++ b/interface-definitions/vpn_sstp.xml.in
@@ -16,7 +16,7 @@
#include <include/accel-auth-local-users.xml.i>
#include <include/accel-auth-mode.xml.i>
#include <include/accel-auth-protocols.xml.i>
- #include <include/radius-server.xml.i>
+ #include <include/radius-server-ipv4.xml.i>
#include <include/accel-radius-additions.xml.i>
<node name="radius">
<children>
diff --git a/interface-definitions/vrf.xml.in b/interface-definitions/vrf.xml.in
index 159f4ea3e..06923971d 100644
--- a/interface-definitions/vrf.xml.in
+++ b/interface-definitions/vrf.xml.in
@@ -4,7 +4,7 @@
<properties>
<help>Virtual Routing and Forwarding</help>
<!-- must be before any interface creation -->
- <priority>60</priority>
+ <priority>10</priority>
</properties>
<children>
<leafNode name="bind-to-all">
diff --git a/interface-definitions/vrrp.xml.in b/interface-definitions/vrrp.xml.in
index c6a32930f..caa9f4a33 100644
--- a/interface-definitions/vrrp.xml.in
+++ b/interface-definitions/vrrp.xml.in
@@ -73,12 +73,7 @@
<help>Group description</help>
</properties>
</leafNode>
- <leafNode name="disable">
- <properties>
- <valueless/>
- <help>Disable VRRP group</help>
- </properties>
- </leafNode>
+ #include <include/generic-disable-node.xml.i>
<node name="health-check">
<properties>
<help>Health check script</help>