diff options
Diffstat (limited to 'interface-definitions')
232 files changed, 5796 insertions, 3442 deletions
diff --git a/interface-definitions/containers.xml.in b/interface-definitions/containers.xml.in new file mode 100644 index 000000000..6fc53c105 --- /dev/null +++ b/interface-definitions/containers.xml.in @@ -0,0 +1,178 @@ +<?xml version="1.0"?> +<interfaceDefinition> + <node name="container" owner="${vyos_conf_scripts_dir}/containers.py"> + <properties> + <help>Container applications</help> + </properties> + <children> + <tagNode name="name"> + <properties> + <help>Container name</help> + </properties> + <children> + <leafNode name="allow-host-networks"> + <properties> + <help>Allow host networks in container</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="description"> + <properties> + <help>Container description</help> + </properties> + </leafNode> + <tagNode name="environment"> + <properties> + <help>Add custom environment variables</help> + </properties> + <children> + <leafNode name="value"> + <properties> + <help>Set environment option value</help> + <valueHelp> + <format>txt</format> + <description>Set environment option value</description> + </valueHelp> + </properties> + </leafNode> + </children> + </tagNode> + <leafNode name="image"> + <properties> + <help>Image name in the hub-registry</help> + </properties> + </leafNode> + <tagNode name="network"> + <properties> + <help>Attach user defined network to container</help> + <completionHelp> + <path>container network</path> + </completionHelp> + </properties> + <children> + <leafNode name="address"> + <properties> + <help>Set IPv4 static address to container (optional)</help> + <valueHelp> + <format>ipv4</format> + <description>IPv4 address (x.x.x.1 reserved)</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + <tagNode name="port"> + <properties> + <help>Publish port to the container</help> + </properties> + <children> + <leafNode name="source"> + <properties> + <help>Source host port</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Source host port</description> + </valueHelp> + <valueHelp> + <format>start-end</format> + <description>Source host port range (e.g. 10025-10030)</description> + </valueHelp> + <constraint> + <validator name="port-range"/> + </constraint> + </properties> + </leafNode> + <leafNode name="destination"> + <properties> + <help>Destination container port</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Destination container port</description> + </valueHelp> + <valueHelp> + <format>start-end</format> + <description>Destination container port range (e.g. 10025-10030)</description> + </valueHelp> + <constraint> + <validator name="port-range"/> + </constraint> + </properties> + </leafNode> + <leafNode name="protocol"> + <properties> + <help>Protocol tcp/udp</help> + <completionHelp> + <list>tcp udp</list> + </completionHelp> + <constraint> + <regex>^(tcp|udp)$</regex> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + <tagNode name="volume"> + <properties> + <help>Mount a volume into the container</help> + </properties> + <children> + <leafNode name="source"> + <properties> + <help>Source host directory</help> + <valueHelp> + <format>txt</format> + <description>Source host directory</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="destination"> + <properties> + <help>Destination container directory</help> + <valueHelp> + <format>txt</format> + <description>Destination container directory</description> + </valueHelp> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </tagNode> + <tagNode name="network"> + <properties> + <help>Network name</help> + </properties> + <children> + <leafNode name="description"> + <properties> + <help>Network description</help> + </properties> + </leafNode> + <leafNode name="prefix"> + <properties> + <help>Prefix which allocated to that network</help> + <valueHelp> + <format>ipv4net</format> + <description>IPv4 network prefix</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + <multi/> + </properties> + </leafNode> + </children> + </tagNode> + <leafNode name="registry"> + <properties> + <help>Add registry (default docker.io)</help> + <multi/> + </properties> + <defaultValue>docker.io</defaultValue> + </leafNode> + </children> + </node> +</interfaceDefinition> diff --git a/interface-definitions/dhcp-server.xml.in b/interface-definitions/dhcp-server.xml.in index 28b61e92d..015500043 100644 --- a/interface-definitions/dhcp-server.xml.in +++ b/interface-definitions/dhcp-server.xml.in @@ -198,7 +198,7 @@ <list>primary secondary</list> </completionHelp> <constraint> - <regex>(primary|secondary)</regex> + <regex>^(primary|secondary)$</regex> </constraint> <constraintErrorMessage>Invalid DHCP failover peer status</constraintErrorMessage> </properties> diff --git a/interface-definitions/dns-forwarding.xml.in b/interface-definitions/dns-forwarding.xml.in index 66b4db403..c420e9b8b 100644 --- a/interface-definitions/dns-forwarding.xml.in +++ b/interface-definitions/dns-forwarding.xml.in @@ -111,6 +111,12 @@ <valueless/> </properties> </leafNode> + <leafNode name="no-serve-rfc1918"> + <properties> + <help>Makes the server authoritatively not aware of RFC1918 addresses</help> + <valueless/> + </properties> + </leafNode> <leafNode name="allow-from"> <properties> <help>Networks allowed to query this server</help> diff --git a/interface-definitions/flow-accounting-conf.xml.in b/interface-definitions/flow-accounting-conf.xml.in index 830078abe..b3980d9e2 100644 --- a/interface-definitions/flow-accounting-conf.xml.in +++ b/interface-definitions/flow-accounting-conf.xml.in @@ -39,9 +39,6 @@ <completionHelp> <list>auth authpriv cron daemon kern lpr mail mark news protocols security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 all</list> </completionHelp> - <constraint> - <regex>auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all</regex> - </constraint> <valueHelp> <format>auth</format> <description>Authentication and authorization</description> @@ -134,6 +131,9 @@ <format>all</format> <description>Authentication and authorization</description> </valueHelp> + <constraint> + <regex>^(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)$</regex> + </constraint> </properties> </leafNode> <leafNode name="interface"> @@ -381,7 +381,7 @@ </valueHelp> <constraint> <validator name="ipv4-address"/> - <regex>auto$</regex> + <regex>^auto$</regex> </constraint> </properties> </leafNode> diff --git a/interface-definitions/include/accel-auth-local-users.xml.i b/interface-definitions/include/accel-ppp/auth-local-users.xml.i index 35c7a2a06..308d6510d 100644 --- a/interface-definitions/include/accel-auth-local-users.xml.i +++ b/interface-definitions/include/accel-ppp/auth-local-users.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-auth-local-users.xml.i --> +<!-- include start from accel-ppp/auth-local-users.xml.i --> <node name="local-users"> <properties> <help>Local user authentication for PPPoE server</help> @@ -48,4 +48,4 @@ </tagNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-auth-mode.xml.i b/interface-definitions/include/accel-ppp/auth-mode.xml.i index 85c3c5e82..a7711b675 100644 --- a/interface-definitions/include/accel-auth-mode.xml.i +++ b/interface-definitions/include/accel-ppp/auth-mode.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-auth-mode.xml.i --> +<!-- include start from accel-ppp/auth-mode.xml.i --> <leafNode name="mode"> <properties> <help>Authentication mode used by this server</help> @@ -11,7 +11,7 @@ <description>Use RADIUS server for user autentication</description> </valueHelp> <constraint> - <regex>(local|radius)</regex> + <regex>^(local|radius)$</regex> </constraint> <completionHelp> <list>local radius</list> @@ -19,4 +19,4 @@ </properties> <defaultValue>local</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-auth-protocols.xml.i b/interface-definitions/include/accel-ppp/auth-protocols.xml.i index a6899a4d8..480747f53 100644 --- a/interface-definitions/include/accel-auth-protocols.xml.i +++ b/interface-definitions/include/accel-ppp/auth-protocols.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-auth-protocols.xml.i --> +<!-- include start from accel-ppp/auth-protocols.xml.i --> <leafNode name="protocols"> <properties> <help>Authentication protocol for remote access peer SSTP VPN</help> @@ -22,10 +22,10 @@ <description>Authentication via MS-CHAPv2 (Microsoft Challenge Handshake Authentication Protocol, version 2)</description> </valueHelp> <constraint> - <regex>(pap|chap|mschap|mschap-v2)</regex> + <regex>^(pap|chap|mschap|mschap-v2)$</regex> </constraint> <multi/> </properties> <defaultValue>pap chap mschap mschap-v2</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-client-ip-pool-start-stop.xml.i b/interface-definitions/include/accel-ppp/client-ip-pool-start-stop.xml.i index b578f2b2c..5f4132d13 100644 --- a/interface-definitions/include/accel-client-ip-pool-start-stop.xml.i +++ b/interface-definitions/include/accel-ppp/client-ip-pool-start-stop.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-client-ip-pool-start-stop.xml.i --> +<!-- include start from accel-ppp/client-ip-pool-start-stop.xml.i --> <leafNode name="start"> <properties> <help>First IP address in the pool</help> @@ -15,4 +15,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-client-ip-pool-subnet.xml.i b/interface-definitions/include/accel-ppp/client-ip-pool-subnet.xml.i index 8e9ca0e92..2dc71d3f9 100644 --- a/interface-definitions/include/accel-client-ip-pool-subnet.xml.i +++ b/interface-definitions/include/accel-ppp/client-ip-pool-subnet.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-client-ip-pool-subnet.xml.i --> +<!-- include start from accel-ppp/client-ip-pool-subnet.xml.i --> <leafNode name="subnet"> <properties> <help>Client IP subnet (CIDR notation)</help> @@ -13,4 +13,4 @@ <multi /> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-client-ipv6-pool.xml.i b/interface-definitions/include/accel-ppp/client-ipv6-pool.xml.i index d15ff35d4..bd3dadf8d 100644 --- a/interface-definitions/include/accel-client-ipv6-pool.xml.i +++ b/interface-definitions/include/accel-ppp/client-ipv6-pool.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-client-ipv6-pool.xml.i --> +<!-- include start from accel-ppp/client-ipv6-pool.xml.i --> <node name="client-ipv6-pool"> <properties> <help>Pool of client IPv6 addresses</help> @@ -58,4 +58,4 @@ </tagNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-gateway-address.xml.i b/interface-definitions/include/accel-ppp/gateway-address.xml.i index c45c8b532..59f8b5023 100644 --- a/interface-definitions/include/accel-gateway-address.xml.i +++ b/interface-definitions/include/accel-ppp/gateway-address.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-gateway-address.xml.i --> +<!-- include start from accel-ppp/gateway-address.xml.i --> <leafNode name="gateway-address"> <properties> <help>Gateway IP address</help> @@ -12,4 +12,4 @@ </valueHelp> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-lcp-echo-interval-failure.xml.i b/interface-definitions/include/accel-ppp/lcp-echo-interval-failure.xml.i index cccf4b4f2..dd7ae1276 100644 --- a/interface-definitions/include/accel-lcp-echo-interval-failure.xml.i +++ b/interface-definitions/include/accel-ppp/lcp-echo-interval-failure.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-lcp-echo-interval-failure.xml.i --> +<!-- include start from accel-ppp/lcp-echo-interval-failure.xml.i --> <leafNode name="lcp-echo-interval"> <properties> <help>LCP echo-requests/sec</help> @@ -17,4 +17,4 @@ </properties> <defaultValue>3</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-lcp-echo-timeout.xml.i b/interface-definitions/include/accel-ppp/lcp-echo-timeout.xml.i index 888fa9d41..a630bec32 100644 --- a/interface-definitions/include/accel-lcp-echo-timeout.xml.i +++ b/interface-definitions/include/accel-ppp/lcp-echo-timeout.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-lcp-echo-timeout.xml.i --> +<!-- include start from accel-ppp/lcp-echo-timeout.xml.i --> <leafNode name="lcp-echo-timeout"> <properties> <help>Timeout in seconds to wait for any peer activity. If this option specified it turns on adaptive lcp echo functionality and "lcp-echo-failure" is not used.</help> @@ -8,4 +8,4 @@ </properties> <defaultValue>0</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-mtu-128-16384.xml.i b/interface-definitions/include/accel-ppp/mtu-128-16384.xml.i index 6bd089823..b4008a63b 100644 --- a/interface-definitions/include/accel-mtu-128-16384.xml.i +++ b/interface-definitions/include/accel-ppp/mtu-128-16384.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-mtu-128-16384.xml.i --> +<!-- include start from accel-ppp/mtu-128-16384.xml.i --> <leafNode name="mtu"> <properties> <help>Maximum Transmission Unit (MTU) - default 1492</help> @@ -8,4 +8,4 @@ </properties> <defaultValue>1492</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-name-server.xml.i b/interface-definitions/include/accel-ppp/name-server.xml.i index e46c75b52..e744b384f 100644 --- a/interface-definitions/include/accel-name-server.xml.i +++ b/interface-definitions/include/accel-ppp/name-server.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-name-server.xml.i --> +<!-- include start from accel-ppp/name-server.xml.i --> <leafNode name="name-server"> <properties> <help>Domain Name Server (DNS) propagated to client</help> @@ -17,4 +17,4 @@ <multi/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-ppp-mppe.xml.i b/interface-definitions/include/accel-ppp/ppp-mppe.xml.i index b7f9cfd92..e8370180b 100644 --- a/interface-definitions/include/accel-ppp-mppe.xml.i +++ b/interface-definitions/include/accel-ppp/ppp-mppe.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-ppp-mppe.xml.i --> +<!-- include start from accel-ppp/ppp-mppe.xml.i --> <leafNode name="mppe"> <properties> <help>Specifies mppe negotiation preferences</help> @@ -23,4 +23,4 @@ </properties> <defaultValue>prefer</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-radius-additions-disable-accounting.xml.i b/interface-definitions/include/accel-ppp/radius-additions-disable-accounting.xml.i index dc5b9dd96..c723c3174 100644 --- a/interface-definitions/include/accel-radius-additions-disable-accounting.xml.i +++ b/interface-definitions/include/accel-ppp/radius-additions-disable-accounting.xml.i @@ -1,8 +1,8 @@ -<!-- included start from accel-radius-additions-disable-accounting.xml.i --> +<!-- include start from accel-ppp/radius-additions-disable-accounting.xml.i --> <leafNode name="disable-accounting"> <properties> <help>Disable accounting</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-radius-additions-rate-limit.xml.i b/interface-definitions/include/accel-ppp/radius-additions-rate-limit.xml.i index 23a4a51cf..be49fce5a 100644 --- a/interface-definitions/include/accel-radius-additions-rate-limit.xml.i +++ b/interface-definitions/include/accel-ppp/radius-additions-rate-limit.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-radius-additions-rate-limit.xml.i --> +<!-- include start from accel-ppp/radius-additions-rate-limit.xml.i --> <node name="rate-limit"> <properties> <help>Upload/Download speed limits</help> @@ -23,4 +23,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-radius-additions.xml.i b/interface-definitions/include/accel-ppp/radius-additions.xml.i index 0067b6d1c..e65088c43 100644 --- a/interface-definitions/include/accel-radius-additions.xml.i +++ b/interface-definitions/include/accel-ppp/radius-additions.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-radius-additions.xml.i --> +<!-- include start from accel-ppp/radius-additions.xml.i --> <node name="radius"> <children> <leafNode name="acct-interim-jitter"> @@ -29,7 +29,7 @@ </properties> <defaultValue>1813</defaultValue> </leafNode> - #include <include/accel-radius-additions-disable-accounting.xml.i> + #include <include/accel-ppp/radius-additions-disable-accounting.xml.i> <leafNode name="fail-time"> <properties> <help>Mark server unavailable for <n> seconds on failure</help> @@ -150,4 +150,4 @@ </node> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/accel-wins-server.xml.i b/interface-definitions/include/accel-ppp/wins-server.xml.i index 6de032981..f7f483f59 100644 --- a/interface-definitions/include/accel-wins-server.xml.i +++ b/interface-definitions/include/accel-ppp/wins-server.xml.i @@ -1,4 +1,4 @@ -<!-- included start from accel-wins-server.xml.i --> +<!-- include start from accel-ppp/wins-server.xml.i --> <leafNode name="wins-server"> <properties> <help>Windows Internet Name Service (WINS) servers propagated to client</help> @@ -12,4 +12,4 @@ <multi/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bfd-common.xml.i b/interface-definitions/include/bfd-common.xml.i index ff73e4b20..b47b47612 100644 --- a/interface-definitions/include/bfd-common.xml.i +++ b/interface-definitions/include/bfd-common.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bfd-common.xml.i --> +<!-- include start from bfd-common.xml.i --> <leafNode name="echo-mode"> <properties> <help>Enables the echo transmission mode</help> @@ -69,4 +69,4 @@ <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bfd.xml.i b/interface-definitions/include/bfd.xml.i new file mode 100644 index 000000000..2bc3664e1 --- /dev/null +++ b/interface-definitions/include/bfd.xml.i @@ -0,0 +1,8 @@ +<!-- include start from bfd.xml.i --> +<leafNode name="bfd"> + <properties> + <help>Enable Bidirectional Forwarding Detection (BFD)</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/bgp-neighbor-afi-l2vpn-evpn.xml.i b/interface-definitions/include/bgp-neighbor-afi-l2vpn-evpn.xml.i deleted file mode 100644 index df346afc1..000000000 --- a/interface-definitions/include/bgp-neighbor-afi-l2vpn-evpn.xml.i +++ /dev/null @@ -1,16 +0,0 @@ -<!-- included start from bgp-neighbor-afi-l2vpn-evpn.xml.i --> -<node name="l2vpn-evpn"> - <properties> - <help>L2VPN EVPN BGP settings</help> - </properties> - <children> - #include <include/bgp-afi-allowas-in.xml.i> - #include <include/bgp-afi-attribute-unchanged.xml.i> - #include <include/bgp-afi-nexthop-self.xml.i> - #include <include/bgp-afi-route-map.xml.i> - #include <include/bgp-afi-route-reflector-client.xml.i> - #include <include/bgp-afi-route-server-client.xml.i> - #include <include/bgp-afi-soft-reconfiguration.xml.i> - </children> -</node> -<!-- included end --> diff --git a/interface-definitions/include/bgp-route-map.xml.i b/interface-definitions/include/bgp-route-map.xml.i deleted file mode 100644 index 18b092354..000000000 --- a/interface-definitions/include/bgp-route-map.xml.i +++ /dev/null @@ -1,10 +0,0 @@ -<!-- 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-afi-aggregate-address.xml.i b/interface-definitions/include/bgp/afi-aggregate-address.xml.i index c33d1097c..646751c32 100644 --- a/interface-definitions/include/bgp-afi-aggregate-address.xml.i +++ b/interface-definitions/include/bgp/afi-aggregate-address.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-aggregate-address.xml.i --> +<!-- include start from bgp/afi-aggregate-address.xml.i --> <leafNode name="as-set"> <properties> <help>Generate AS-set path information for this aggregate address</help> @@ -11,4 +11,4 @@ <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-afi-allowas-in.xml.i b/interface-definitions/include/bgp/afi-allowas-in.xml.i index 77de04ed7..2df4b8590 100644 --- a/interface-definitions/include/bgp-afi-allowas-in.xml.i +++ b/interface-definitions/include/bgp/afi-allowas-in.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-allowas-in.xml.i --> +<!-- include start from bgp/afi-allowas-in.xml.i --> <node name="allowas-in"> <properties> <help>Accept route that contains the local-as in the as-path</help> @@ -18,4 +18,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-afi-attribute-unchanged.xml.i b/interface-definitions/include/bgp/afi-attribute-unchanged.xml.i index fef53dd9d..6d39e4589 100644 --- a/interface-definitions/include/bgp-afi-attribute-unchanged.xml.i +++ b/interface-definitions/include/bgp/afi-attribute-unchanged.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-attribute-unchanged.xml.i --> +<!-- include start from bgp/afi-attribute-unchanged.xml.i --> <node name="attribute-unchanged"> <properties> <help>BGP attributes are sent unchanged</help> @@ -24,4 +24,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-afi-capability-orf.xml.i b/interface-definitions/include/bgp/afi-capability-orf.xml.i index 9bd265f93..05c3368bb 100644 --- a/interface-definitions/include/bgp-afi-capability-orf.xml.i +++ b/interface-definitions/include/bgp/afi-capability-orf.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-capability-orf.xml.i --> +<!-- include start from bgp/afi-capability-orf.xml.i --> <node name="orf"> <properties> <help>Advertise ORF capability to this peer</help> @@ -25,4 +25,4 @@ </node> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp/afi-common-flowspec.xml.i b/interface-definitions/include/bgp/afi-common-flowspec.xml.i new file mode 100644 index 000000000..9582274d1 --- /dev/null +++ b/interface-definitions/include/bgp/afi-common-flowspec.xml.i @@ -0,0 +1,29 @@ +<!-- included start from bgp-afi-common-flowspec.xml.i --> +<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> +#include <include/bgp/afi-route-map.xml.i> +#include <include/bgp/afi-route-reflector-client.xml.i> +#include <include/bgp/afi-route-server-client.xml.i> +#include <include/bgp/afi-soft-reconfiguration.xml.i> +<!-- included end --> diff --git a/interface-definitions/include/bgp/afi-common-vpn.xml.i b/interface-definitions/include/bgp/afi-common-vpn.xml.i new file mode 100644 index 000000000..824fb98a3 --- /dev/null +++ b/interface-definitions/include/bgp/afi-common-vpn.xml.i @@ -0,0 +1,144 @@ +<!-- include start from bgp/afi-common-vpn.xml.i --> +<leafNode name="addpath-tx-all"> + <properties> + <help>Use addpath to advertise all paths to a neighbor</help> + <valueless/> + </properties> +</leafNode> +<leafNode name="addpath-tx-per-as"> + <properties> + <help>Use addpath to advertise the bestpath per each neighboring AS</help> + <valueless/> + </properties> +</leafNode> +#include <include/bgp/afi-allowas-in.xml.i> +<leafNode name="as-override"> + <properties> + <help>AS for routes sent to this peer to be the local AS</help> + <valueless/> + </properties> +</leafNode> +#include <include/bgp/afi-attribute-unchanged.xml.i> +<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="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> +#include <include/bgp/afi-nexthop-self.xml.i> +<leafNode name="remove-private-as"> + <properties> + <help>Remove private AS numbers from AS path in outbound route updates</help> + <valueless/> + </properties> +</leafNode> +#include <include/bgp/afi-route-map.xml.i> +#include <include/bgp/afi-route-reflector-client.xml.i> +#include <include/bgp/afi-route-server-client.xml.i> +#include <include/bgp/afi-soft-reconfiguration.xml.i> +<leafNode name="unsuppress-map"> + <properties> + <help>Route-map to selectively unsuppress suppressed routes</help> + <completionHelp> + <path>policy route-map</path> + </completionHelp> + </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-common.xml.i b/interface-definitions/include/bgp/afi-common.xml.i index 90c2753c8..601ffe223 100644 --- a/interface-definitions/include/bgp-afi-common.xml.i +++ b/interface-definitions/include/bgp/afi-common.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-common.xml.i --> +<!-- include start from bgp/afi-common.xml.i --> <leafNode name="addpath-tx-all"> <properties> <help>Use addpath to advertise all paths to a neighbor</help> @@ -11,14 +11,14 @@ <valueless/> </properties> </leafNode> -#include <include/bgp-afi-allowas-in.xml.i> +#include <include/bgp/afi-allowas-in.xml.i> <leafNode name="as-override"> <properties> <help>AS for routes sent to this peer to be the local AS</help> <valueless/> </properties> </leafNode> -#include <include/bgp-afi-attribute-unchanged.xml.i> +#include <include/bgp/afi-attribute-unchanged.xml.i> <node name="disable-send-community"> <properties> <help>Disable sending community attributes to this peer</help> @@ -43,7 +43,7 @@ <help>Originate default route to this peer</help> </properties> <children> - #include <include/bgp-route-map.xml.i> + #include <include/route-map.xml.i> </children> </node> <node name="distribute-list"> @@ -118,17 +118,17 @@ </constraint> </properties> </leafNode> -#include <include/bgp-afi-nexthop-self.xml.i> +#include <include/bgp/afi-nexthop-self.xml.i> <leafNode name="remove-private-as"> <properties> <help>Remove private AS numbers from AS path in outbound route updates</help> <valueless/> </properties> </leafNode> -#include <include/bgp-afi-route-map.xml.i> -#include <include/bgp-afi-route-reflector-client.xml.i> -#include <include/bgp-afi-route-server-client.xml.i> -#include <include/bgp-afi-soft-reconfiguration.xml.i> +#include <include/bgp/afi-route-map.xml.i> +#include <include/bgp/afi-route-reflector-client.xml.i> +#include <include/bgp/afi-route-server-client.xml.i> +#include <include/bgp/afi-soft-reconfiguration.xml.i> <leafNode name="unsuppress-map"> <properties> <help>Route-map to selectively unsuppress suppressed routes</help> @@ -149,4 +149,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include 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 index bbbada6bd..f4710e9aa 100644 --- a/interface-definitions/include/bgp-afi-ipv4-prefix-list.xml.i +++ b/interface-definitions/include/bgp/afi-ipv4-prefix-list.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-ipv4-prefix-list.xml.i --> +<!-- include 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> @@ -22,4 +22,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include 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 index 4778b392f..c2325458d 100644 --- a/interface-definitions/include/bgp-afi-ipv6-nexthop-local.xml.i +++ b/interface-definitions/include/bgp/afi-ipv6-nexthop-local.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-ipv6-nexthop-local.xml.i --> +<!-- include start from bgp/afi-ipv6-nexthop-local.xml.i --> <node name="nexthop-local"> <properties> <help>Nexthop attributes</help> @@ -12,4 +12,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include 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 index 8ae7837e9..bdb591290 100644 --- a/interface-definitions/include/bgp-afi-ipv6-prefix-list.xml.i +++ b/interface-definitions/include/bgp/afi-ipv6-prefix-list.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-ipv6-prefix-list.xml.i --> +<!-- include 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> @@ -22,4 +22,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp/afi-l2vpn-advertise.xml.i b/interface-definitions/include/bgp/afi-l2vpn-advertise.xml.i new file mode 100644 index 000000000..caf0b6b31 --- /dev/null +++ b/interface-definitions/include/bgp/afi-l2vpn-advertise.xml.i @@ -0,0 +1,10 @@ +<!-- include start from bgp/bgp-afi-l2vpn-advertise.xml.i --> +<node name="unicast"> + <properties> + <help>IPv4 address family</help> + </properties> + <children> + #include <include/route-map.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/bgp-afi-l2vpn-common.xml.i b/interface-definitions/include/bgp/afi-l2vpn-common.xml.i index 2bbf57532..1673f25a5 100644 --- a/interface-definitions/include/bgp-afi-l2vpn-common.xml.i +++ b/interface-definitions/include/bgp/afi-l2vpn-common.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-l2vpn-common.xml.i --> +<!-- include start from bgp/afi-l2vpn-common.xml.i --> <leafNode name="advertise-default-gw"> <properties> <help>Advertise All default g/w mac-ip routes in EVPN</help> @@ -23,5 +23,5 @@ </constraint> </properties> </leafNode> -#include <include/bgp-route-target.xml.i> -<!-- included end --> +#include <include/bgp/route-target.xml.i> +<!-- include end --> diff --git a/interface-definitions/include/bgp-afi-maximum-paths.xml.i b/interface-definitions/include/bgp/afi-maximum-paths.xml.i index 62133c375..5358bb7ab 100644 --- a/interface-definitions/include/bgp-afi-maximum-paths.xml.i +++ b/interface-definitions/include/bgp/afi-maximum-paths.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-maximum-paths.xml.i --> +<!-- include start from bgp/afi-maximum-paths.xml.i --> <node name="maximum-paths"> <properties> <help>Forward packets over multiple paths</help> @@ -30,4 +30,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-afi-nexthop-self.xml.i b/interface-definitions/include/bgp/afi-nexthop-self.xml.i index 0bcc4e937..36a7512ca 100644 --- a/interface-definitions/include/bgp-afi-nexthop-self.xml.i +++ b/interface-definitions/include/bgp/afi-nexthop-self.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-nexthop-self.xml.i --> +<!-- include start from bgp/afi-nexthop-self.xml.i --> <node name="nexthop-self"> <properties> <help>Disable the next hop calculation for this peer</help> @@ -12,4 +12,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-afi-redistribute-metric-route-map.xml.i b/interface-definitions/include/bgp/afi-redistribute-metric-route-map.xml.i index e85bf7d11..d4c7ac4a0 100644 --- a/interface-definitions/include/bgp-afi-redistribute-metric-route-map.xml.i +++ b/interface-definitions/include/bgp/afi-redistribute-metric-route-map.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-redistribute-metric-route-map.xml.i --> +<!-- include start from bgp/afi-redistribute-metric-route-map.xml.i --> <leafNode name="metric"> <properties> <help>Metric for redistributed routes</help> @@ -8,5 +8,5 @@ </valueHelp> </properties> </leafNode> -#include <include/bgp-route-map.xml.i> -<!-- included end --> +#include <include/route-map.xml.i> +<!-- include end --> diff --git a/interface-definitions/include/bgp-afi-route-map.xml.i b/interface-definitions/include/bgp/afi-route-map.xml.i index 5549f56ca..5716668be 100644 --- a/interface-definitions/include/bgp-afi-route-map.xml.i +++ b/interface-definitions/include/bgp/afi-route-map.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-route-map.xml.i --> +<!-- include start from bgp/afi-route-map.xml.i --> <node name="route-map"> <properties> <help>Route-map to filter route updates to/from this peer</help> @@ -22,4 +22,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-afi-route-reflector-client.xml.i b/interface-definitions/include/bgp/afi-route-reflector-client.xml.i index f6a9caa61..dcb2d18d7 100644 --- a/interface-definitions/include/bgp-afi-route-reflector-client.xml.i +++ b/interface-definitions/include/bgp/afi-route-reflector-client.xml.i @@ -1,8 +1,8 @@ -<!-- included start from bgp-afi-route-reflector-client.xml.i --> +<!-- include start from bgp/afi-route-reflector-client.xml.i --> <leafNode name="route-reflector-client"> <properties> <help>Peer is a route reflector client</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-afi-route-server-client.xml.i b/interface-definitions/include/bgp/afi-route-server-client.xml.i index 60de553fe..9bb628ee2 100644 --- a/interface-definitions/include/bgp-afi-route-server-client.xml.i +++ b/interface-definitions/include/bgp/afi-route-server-client.xml.i @@ -1,8 +1,8 @@ -<!-- included start from bgp-afi-route-server-client.xml.i --> +<!-- include start from bgp/afi-route-server-client.xml.i --> <leafNode name="route-server-client"> <properties> <help>Peer is a route server client</help> <valueless/> </properties> </leafNode> -<!-- included end -->
\ No newline at end of file +<!-- include end -->
\ No newline at end of file diff --git a/interface-definitions/include/bgp-afi-soft-reconfiguration.xml.i b/interface-definitions/include/bgp/afi-soft-reconfiguration.xml.i index 7af11f8f4..49336711e 100644 --- a/interface-definitions/include/bgp-afi-soft-reconfiguration.xml.i +++ b/interface-definitions/include/bgp/afi-soft-reconfiguration.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-afi-soft-reconfiguration.xml.i --> +<!-- include start from bgp/afi-soft-reconfiguration.xml.i --> <node name="soft-reconfiguration"> <properties> <help>Soft reconfiguration for peer</help> @@ -12,4 +12,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp/neighbor-afi-ipv4-flowspec.xml.i b/interface-definitions/include/bgp/neighbor-afi-ipv4-flowspec.xml.i new file mode 100644 index 000000000..9c700bd11 --- /dev/null +++ b/interface-definitions/include/bgp/neighbor-afi-ipv4-flowspec.xml.i @@ -0,0 +1,11 @@ +<!-- included start from bgp-neighbor-afi-ipv4-flowspec.xml.i --> +<node name="ipv4-flowspec"> + <properties> + <help>IPv4 Flow Specification BGP neighbor parameters</help> + </properties> + <children> + #include <include/bgp/afi-ipv4-prefix-list.xml.i> + #include <include/bgp/afi-common-flowspec.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/bgp/neighbor-afi-ipv4-labeled-unicast.xml.i b/interface-definitions/include/bgp/neighbor-afi-ipv4-labeled-unicast.xml.i new file mode 100644 index 000000000..5d0ca81bc --- /dev/null +++ b/interface-definitions/include/bgp/neighbor-afi-ipv4-labeled-unicast.xml.i @@ -0,0 +1,19 @@ +<!-- included start from bgp-neighbor-afi-ipv4-labeled-unicast.xml.i --> +<node name="ipv4-labeled-unicast"> + <properties> + <help>IPv4 Labeled Unicast BGP neighbor parameters</help> + </properties> + <children> + <node name="capability"> + <properties> + <help>Advertise capabilities to this neighbor (IPv4)</help> + </properties> + <children> + #include <include/bgp/afi-capability-orf.xml.i> + </children> + </node> + #include <include/bgp/afi-ipv4-prefix-list.xml.i> + #include <include/bgp/afi-common.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/bgp/neighbor-afi-ipv4-multicast.xml.i b/interface-definitions/include/bgp/neighbor-afi-ipv4-multicast.xml.i new file mode 100644 index 000000000..2bc974b7f --- /dev/null +++ b/interface-definitions/include/bgp/neighbor-afi-ipv4-multicast.xml.i @@ -0,0 +1,19 @@ +<!-- included start from bgp-neighbor-afi-ipv4-multicast.xml.i --> +<node name="ipv4-multicast"> + <properties> + <help>IPv4 Multicast BGP neighbor parameters</help> + </properties> + <children> + <node name="capability"> + <properties> + <help>Advertise capabilities to this neighbor (IPv4)</help> + </properties> + <children> + #include <include/bgp/afi-capability-orf.xml.i> + </children> + </node> + #include <include/bgp/afi-ipv4-prefix-list.xml.i> + #include <include/bgp/afi-common.xml.i> + </children> +</node> +<!-- include 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 ece277fbf..3e2191e93 100644 --- a/interface-definitions/include/bgp-neighbor-afi-ipv4-unicast.xml.i +++ b/interface-definitions/include/bgp/neighbor-afi-ipv4-unicast.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-neighbor-afi-ipv4-unicast.xml.i --> +<!-- include start from bgp/neighbor-afi-ipv4-unicast.xml.i --> <node name="ipv4-unicast"> <properties> <help>IPv4 BGP neighbor parameters</help> @@ -9,11 +9,11 @@ <help>Advertise capabilities to this neighbor (IPv4)</help> </properties> <children> - #include <include/bgp-afi-capability-orf.xml.i> + #include <include/bgp/afi-capability-orf.xml.i> </children> </node> - #include <include/bgp-afi-ipv4-prefix-list.xml.i> - #include <include/bgp-afi-common.xml.i> + #include <include/bgp/afi-ipv4-prefix-list.xml.i> + #include <include/bgp/afi-common.xml.i> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp/neighbor-afi-ipv4-vpn.xml.i b/interface-definitions/include/bgp/neighbor-afi-ipv4-vpn.xml.i new file mode 100644 index 000000000..b5edaccf3 --- /dev/null +++ b/interface-definitions/include/bgp/neighbor-afi-ipv4-vpn.xml.i @@ -0,0 +1,11 @@ +<!-- included start from bgp-neighbor-afi-ipv4-vpn.xml.i --> +<node name="ipv4-vpn"> + <properties> + <help>IPv4 VPN BGP neighbor parameters</help> + </properties> + <children> + #include <include/bgp/afi-ipv4-prefix-list.xml.i> + #include <include/bgp/afi-common-vpn.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/bgp/neighbor-afi-ipv6-flowspec.xml.i b/interface-definitions/include/bgp/neighbor-afi-ipv6-flowspec.xml.i new file mode 100644 index 000000000..692310b0c --- /dev/null +++ b/interface-definitions/include/bgp/neighbor-afi-ipv6-flowspec.xml.i @@ -0,0 +1,11 @@ +<!-- included start from bgp-neighbor-afi-ipv6-flowspec.xml.i --> +<node name="ipv6-flowspec"> + <properties> + <help>IPv6 Flow Specification BGP neighbor parameters</help> + </properties> + <children> + #include <include/bgp/afi-ipv6-prefix-list.xml.i> + #include <include/bgp/afi-common-flowspec.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/bgp/neighbor-afi-ipv6-labeled-unicast.xml.i b/interface-definitions/include/bgp/neighbor-afi-ipv6-labeled-unicast.xml.i new file mode 100644 index 000000000..c2f14570b --- /dev/null +++ b/interface-definitions/include/bgp/neighbor-afi-ipv6-labeled-unicast.xml.i @@ -0,0 +1,20 @@ +<!-- included start from bgp-neighbor-afi-ipv6-labeled-unicast.xml.i --> +<node name="ipv6-labeled-unicast"> + <properties> + <help>IPv6 Labeled Unicast BGP neighbor parameters</help> + </properties> + <children> + <node name="capability"> + <properties> + <help>Advertise capabilities to this neighbor (IPv6)</help> + </properties> + <children> + #include <include/bgp/afi-capability-orf.xml.i> + </children> + </node> + #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> +<!-- include end --> diff --git a/interface-definitions/include/bgp/neighbor-afi-ipv6-multicast.xml.i b/interface-definitions/include/bgp/neighbor-afi-ipv6-multicast.xml.i new file mode 100644 index 000000000..4890e2b51 --- /dev/null +++ b/interface-definitions/include/bgp/neighbor-afi-ipv6-multicast.xml.i @@ -0,0 +1,12 @@ +<!-- included start from bgp-neighbor-afi-ipv6-multicast.xml.i --> +<node name="ipv6-multicast"> + <properties> + <help>IPv6 Multicast BGP neighbor parameters</help> + </properties> + <children> + #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> +<!-- include 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 e43c34113..68f61c72a 100644 --- a/interface-definitions/include/bgp-neighbor-afi-ipv6-unicast.xml.i +++ b/interface-definitions/include/bgp/neighbor-afi-ipv6-unicast.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-neighbor-afi-ipv6-unicast.xml.i --> +<!-- include start from bgp/neighbor-afi-ipv6-unicast.xml.i --> <node name="ipv6-unicast"> <properties> <help>IPv6 BGP neighbor parameters</help> @@ -9,12 +9,12 @@ <help>Advertise capabilities to this neighbor (IPv6)</help> </properties> <children> - #include <include/bgp-afi-capability-orf.xml.i> + #include <include/bgp/afi-capability-orf.xml.i> </children> </node> - #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> + #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 --> +<!-- include end --> diff --git a/interface-definitions/include/bgp/neighbor-afi-ipv6-vpn.xml.i b/interface-definitions/include/bgp/neighbor-afi-ipv6-vpn.xml.i new file mode 100644 index 000000000..62a4345fc --- /dev/null +++ b/interface-definitions/include/bgp/neighbor-afi-ipv6-vpn.xml.i @@ -0,0 +1,12 @@ +<!-- included start from bgp-neighbor-afi-ipv6-vpn.xml.i --> +<node name="ipv6-vpn"> + <properties> + <help>IPv6 VPN BGP neighbor parameters</help> + </properties> + <children> + #include <include/bgp/afi-ipv6-nexthop-local.xml.i> + #include <include/bgp/afi-ipv6-prefix-list.xml.i> + #include <include/bgp/afi-common-vpn.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/bgp/neighbor-afi-l2vpn-evpn.xml.i b/interface-definitions/include/bgp/neighbor-afi-l2vpn-evpn.xml.i new file mode 100644 index 000000000..c9f66005b --- /dev/null +++ b/interface-definitions/include/bgp/neighbor-afi-l2vpn-evpn.xml.i @@ -0,0 +1,16 @@ +<!-- include start from bgp/neighbor-afi-l2vpn-evpn.xml.i --> +<node name="l2vpn-evpn"> + <properties> + <help>L2VPN EVPN BGP settings</help> + </properties> + <children> + #include <include/bgp/afi-allowas-in.xml.i> + #include <include/bgp/afi-attribute-unchanged.xml.i> + #include <include/bgp/afi-nexthop-self.xml.i> + #include <include/bgp/afi-route-map.xml.i> + #include <include/bgp/afi-route-reflector-client.xml.i> + #include <include/bgp/afi-route-server-client.xml.i> + #include <include/bgp/afi-soft-reconfiguration.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/bgp-bfd.xml.i b/interface-definitions/include/bgp/neighbor-bfd.xml.i index fe52b12f2..d486bdd8a 100644 --- a/interface-definitions/include/bgp-bfd.xml.i +++ b/interface-definitions/include/bgp/neighbor-bfd.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-bfd.xml.i --> +<!-- include start from bgp/neighbor-bfd.xml.i --> <node name="bfd"> <properties> <help>Enable Bidirectional Forwarding Detection (BFD) support</help> @@ -12,4 +12,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-capability.xml.i b/interface-definitions/include/bgp/neighbor-capability.xml.i index 8de5bd8ab..2bbfadf1f 100644 --- a/interface-definitions/include/bgp-capability.xml.i +++ b/interface-definitions/include/bgp/neighbor-capability.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-capability.xml.i --> +<!-- include start from bgp/neighbor-capability.xml.i --> <node name="capability"> <properties> <help>Advertise capabilities to this peer-group</help> @@ -18,4 +18,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-description.xml.i b/interface-definitions/include/bgp/neighbor-description.xml.i index e1766cb9f..3095d2560 100644 --- a/interface-definitions/include/bgp-description.xml.i +++ b/interface-definitions/include/bgp/neighbor-description.xml.i @@ -1,7 +1,7 @@ -<!-- included start from bgp-description.xml.i --> +<!-- include start from bgp/neighbor-description.xml.i --> <leafNode name="description"> <properties> <help>Neighbor specific description</help> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-disable-capability-negotiation.xml.i b/interface-definitions/include/bgp/neighbor-disable-capability-negotiation.xml.i index a43c6e8b9..0c44e47b4 100644 --- a/interface-definitions/include/bgp-disable-capability-negotiation.xml.i +++ b/interface-definitions/include/bgp/neighbor-disable-capability-negotiation.xml.i @@ -1,8 +1,8 @@ -<!-- included start from bgp-disable-capability-negotiation.xml.i --> +<!-- include start from bgp/neighbor-disable-capability-negotiation.xml.i --> <leafNode name="disable-capability-negotiation"> <properties> <help>Disable capability negotiation with this neighbor</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-disable-connected-check.xml.i b/interface-definitions/include/bgp/neighbor-disable-connected-check.xml.i index bb9098bf6..cb8b610b4 100644 --- a/interface-definitions/include/bgp-disable-connected-check.xml.i +++ b/interface-definitions/include/bgp/neighbor-disable-connected-check.xml.i @@ -1,8 +1,8 @@ -<!-- included start from bgp-disable-connected-check.xml.i --> +<!-- include start from bgp/neighbor-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 --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-ebgp-multihop.xml.i b/interface-definitions/include/bgp/neighbor-ebgp-multihop.xml.i index 6459fcf47..c053de7e1 100644 --- a/interface-definitions/include/bgp-ebgp-multihop.xml.i +++ b/interface-definitions/include/bgp/neighbor-ebgp-multihop.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-ebgp-multihop.xml.i --> +<!-- include start from bgp/neighbor-ebgp-multihop.xml.i --> <leafNode name="ebgp-multihop"> <properties> <help>Allow this EBGP neighbor to not be on a directly connected network</help> @@ -11,4 +11,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp/neighbor-graceful-restart.xml.i b/interface-definitions/include/bgp/neighbor-graceful-restart.xml.i new file mode 100644 index 000000000..25558cd5c --- /dev/null +++ b/interface-definitions/include/bgp/neighbor-graceful-restart.xml.i @@ -0,0 +1,25 @@ +<!-- include start from bgp/neighbor-graceful-restart.xml.i --> +<leafNode name="graceful-restart"> + <properties> + <help>BGP graceful restart functionality</help> + <completionHelp> + <list>enable disable restart-helper</list> + </completionHelp> + <valueHelp> + <format>enable</format> + <description>Enable BGP graceful restart at peer level</description> + </valueHelp> + <valueHelp> + <format>disable</format> + <description>Disable BGP graceful restart at peer level</description> + </valueHelp> + <valueHelp> + <format>restart-helper</format> + <description>Enable BGP graceful restart helper only functionality</description> + </valueHelp> + <constraint> + <regex>^(enable|disable|restart-helper)$</regex> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/bgp-local-as.xml.i b/interface-definitions/include/bgp/neighbor-local-as.xml.i index cf55ce476..28c6b72b6 100644 --- a/interface-definitions/include/bgp-local-as.xml.i +++ b/interface-definitions/include/bgp/neighbor-local-as.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-local-as.xml.i --> +<!-- include start from bgp/neighbor-local-as.xml.i --> <tagNode name="local-as"> <properties> <help>Local AS number [REQUIRED]</help> @@ -19,4 +19,4 @@ </leafNode> </children> </tagNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-override-capability.xml.i b/interface-definitions/include/bgp/neighbor-override-capability.xml.i index 88c277c8b..1ef28b2ac 100644 --- a/interface-definitions/include/bgp-override-capability.xml.i +++ b/interface-definitions/include/bgp/neighbor-override-capability.xml.i @@ -1,8 +1,8 @@ -<!-- included start from bgp-override-capability.xml.i --> +<!-- include start from bgp/neighbor-override-capability.xml.i --> <leafNode name="override-capability"> <properties> <help>Ignore capability negotiation with specified neighbor</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-passive.xml.i b/interface-definitions/include/bgp/neighbor-passive.xml.i index ada961866..c7d867ab2 100644 --- a/interface-definitions/include/bgp-passive.xml.i +++ b/interface-definitions/include/bgp/neighbor-passive.xml.i @@ -1,8 +1,8 @@ -<!-- included start from bgp-passive.xml.i --> +<!-- include start from bgp/neighbor-passive.xml.i --> <leafNode name="passive"> <properties> <help>Do not initiate a session with this neighbor</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-password.xml.i b/interface-definitions/include/bgp/neighbor-password.xml.i index 5b68a2d71..3a7eaaae2 100644 --- a/interface-definitions/include/bgp-password.xml.i +++ b/interface-definitions/include/bgp/neighbor-password.xml.i @@ -1,7 +1,7 @@ -<!-- included start from bgp-password.xml.i --> +<!-- include start from bgp/neighbor-password.xml.i --> <leafNode name="password"> <properties> <help>BGP MD5 password</help> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-shutdown.xml.i b/interface-definitions/include/bgp/neighbor-shutdown.xml.i index fefbfcebb..6d15899a6 100644 --- a/interface-definitions/include/bgp-shutdown.xml.i +++ b/interface-definitions/include/bgp/neighbor-shutdown.xml.i @@ -1,8 +1,8 @@ -<!-- included start from bgp-shutdown.xml.i --> +<!-- include start from bgp/neighbor-shutdown.xml.i --> <leafNode name="shutdown"> <properties> <help>Administratively shut down this neighbor</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-ttl-security.xml.i b/interface-definitions/include/bgp/neighbor-ttl-security.xml.i index 3f4d1786d..6def1fe81 100644 --- a/interface-definitions/include/bgp-ttl-security.xml.i +++ b/interface-definitions/include/bgp/neighbor-ttl-security.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-ttl-security.xml.i --> +<!-- include start from bgp/neighbor-ttl-security.xml.i --> <node name="ttl-security"> <properties> <help>Ttl security mechanism</help> @@ -18,4 +18,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-update-source.xml.i b/interface-definitions/include/bgp/neighbor-update-source.xml.i index 3bb79598d..37faf2cce 100644 --- a/interface-definitions/include/bgp-update-source.xml.i +++ b/interface-definitions/include/bgp/neighbor-update-source.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-update-source.xml.i --> +<!-- include start from bgp/neighbor-update-source.xml.i --> <leafNode name="update-source"> <!-- Need to check format interfaces --> <properties> @@ -26,4 +26,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-peer-group.xml.i b/interface-definitions/include/bgp/peer-group.xml.i index 73c80e0e4..3866fc017 100644 --- a/interface-definitions/include/bgp-peer-group.xml.i +++ b/interface-definitions/include/bgp/peer-group.xml.i @@ -1,11 +1,14 @@ -<!-- included start from bgp-peer-group.xml.i --> +<!-- include start from bgp/peer-group.xml.i --> <leafNode name="peer-group"> <properties> <help>Peer group for this peer</help> + <completionHelp> + <path>protocols bgp peer-group</path> + </completionHelp> <valueHelp> <format>txt</format> <description>Peer-group name</description> </valueHelp> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp/protocol-common-config.xml.i b/interface-definitions/include/bgp/protocol-common-config.xml.i new file mode 100644 index 000000000..ea620582f --- /dev/null +++ b/interface-definitions/include/bgp/protocol-common-config.xml.i @@ -0,0 +1,1450 @@ +<!-- include start from bgp/protocol-common-config.xml.i --> +<node name="address-family"> + <properties> + <help>BGP address-family parameters</help> + </properties> + <children> + <node name="ipv4-unicast"> + <properties> + <help>IPv4 BGP settings</help> + </properties> + <children> + <tagNode name="aggregate-address"> + <properties> + <help>BGP aggregate network</help> + <valueHelp> + <format>ipv4net</format> + <description>BGP aggregate network</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + <children> + #include <include/bgp/afi-aggregate-address.xml.i> + </children> + </tagNode> + <node name="distance"> + <properties> + <help>Administrative distances for BGP routes</help> + </properties> + <children> + <leafNode name="external"> + <properties> + <help>eBGP routes administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>eBGP routes administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="internal"> + <properties> + <help>iBGP routes administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>iBGP routes administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="local"> + <properties> + <help>Locally originated BGP routes administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>Locally originated BGP routes administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <tagNode name="prefix"> + <properties> + <help>Administrative distance for a specific BGP prefix</help> + <valueHelp> + <format>ipv4net</format> + <description>Administrative distance for a specific BGP prefix</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="distance"> + <properties> + <help>Administrative distance for prefix</help> + <valueHelp> + <format>u32:1-255</format> + <description>Administrative distance for external BGP routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </node> + <tagNode name="network"> + <properties> + <help>BGP network</help> + <valueHelp> + <format>ipv4net</format> + <description>BGP network</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="backdoor"> + <properties> + <help>Network as a backdoor route</help> + <valueless/> + </properties> + </leafNode> + #include <include/route-map.xml.i> + </children> + </tagNode> + #include <include/bgp/afi-maximum-paths.xml.i> + <node name="redistribute"> + <properties> + <help>Redistribute routes from other protocols into BGP</help> + </properties> + <children> + <node name="connected"> + <properties> + <help>Redistribute connected routes into BGP</help> + </properties> + <children> + #include <include/bgp/afi-redistribute-metric-route-map.xml.i> + </children> + </node> + <node name="isis"> + <properties> + <help>Redistribute IS-IS routes into BGP</help> + </properties> + <children> + #include <include/bgp/afi-redistribute-metric-route-map.xml.i> + </children> + </node> + <node name="kernel"> + <properties> + <help>Redistribute kernel routes into BGP</help> + </properties> + <children> + #include <include/bgp/afi-redistribute-metric-route-map.xml.i> + </children> + </node> + <node name="ospf"> + <properties> + <help>Redistribute OSPF routes into BGP</help> + </properties> + <children> + #include <include/bgp/afi-redistribute-metric-route-map.xml.i> + </children> + </node> + <node name="rip"> + <properties> + <help>Redistribute RIP routes into BGP</help> + </properties> + <children> + #include <include/bgp/afi-redistribute-metric-route-map.xml.i> + </children> + </node> + <node name="static"> + <properties> + <help>Redistribute static routes into BGP</help> + </properties> + <children> + #include <include/bgp/afi-redistribute-metric-route-map.xml.i> + </children> + </node> + <leafNode name="table"> + <properties> + <help>Redistribute non-main Kernel Routing Table</help> + </properties> + </leafNode> + </children> + </node> + </children> + </node> + <node name="ipv4-multicast"> + <properties> + <help>Multicast IPv4 BGP settings</help> + </properties> + <children> + <tagNode name="aggregate-address"> + <properties> + <help>BGP aggregate network/prefix</help> + <valueHelp> + <format>ipv4net</format> + <description>BGP aggregate network/prefix</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + <children> + #include <include/bgp/afi-aggregate-address.xml.i> + </children> + </tagNode> + <node name="distance"> + <properties> + <help>Administrative distances for BGP routes</help> + </properties> + <children> + <leafNode name="external"> + <properties> + <help>eBGP routes administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>eBGP routes administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="internal"> + <properties> + <help>iBGP routes administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>iBGP routes administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="local"> + <properties> + <help>Locally originated BGP routes administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>Locally originated BGP routes administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <tagNode name="prefix"> + <properties> + <help>Administrative distance for a specific BGP prefix</help> + <valueHelp> + <format>ipv4net</format> + <description>Administrative distance for a specific BGP prefix</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="distance"> + <properties> + <help>Administrative distance for prefix</help> + <valueHelp> + <format>u32:1-255</format> + <description>Administrative distance for external BGP routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </node> + <tagNode name="network"> + <properties> + <help>Import BGP network/prefix into multicast IPv4 RIB</help> + <valueHelp> + <format>ipv4net</format> + <description>Multicast IPv4 BGP network/prefix</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="backdoor"> + <properties> + <help>Use BGP network/prefix as a backdoor route</help> + <valueless/> + </properties> + </leafNode> + #include <include/route-map.xml.i> + </children> + </tagNode> + </children> + </node> + <node name="ipv4-labeled-unicast"> + <properties> + <help>Labeled Unicast IPv4 BGP settings</help> + </properties> + <children> + <tagNode name="aggregate-address"> + <properties> + <help>BGP aggregate network/prefix</help> + <valueHelp> + <format>ipv4net</format> + <description>BGP aggregate network/prefix</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + <children> + #include <include/bgp/afi-aggregate-address.xml.i> + </children> + </tagNode> + <tagNode name="network"> + <properties> + <help>Import BGP network/prefix into labeled unicast IPv4 RIB</help> + <valueHelp> + <format>ipv4net</format> + <description>Labeled Unicast IPv4 BGP network/prefix</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="backdoor"> + <properties> + <help>Use BGP network/prefix as a backdoor route</help> + <valueless/> + </properties> + </leafNode> + #include <include/route-map.xml.i> + </children> + </tagNode> + </children> + </node> + <node name="ipv4-flowspec"> + <properties> + <help>Flowspec IPv4 BGP settings</help> + </properties> + <children> + <node name="local-install"> + <properties> + <help>Apply local policy routing to interface</help> + </properties> + <children> + <leafNode name="interface"> + <properties> + <help>Interface</help> + <completionHelp> + <script>${vyos_completion_dir}/list_interfaces.py</script> + </completionHelp> + <multi/> + </properties> + </leafNode> + </children> + </node> + </children> + </node> + <node name="ipv4-vpn"> + <properties> + <help>Unicast VPN IPv4 BGP settings</help> + </properties> + <children> + <tagNode name="network"> + <properties> + <help>Import BGP network/prefix into unicast VPN IPv4 RIB</help> + <valueHelp> + <format>ipv4net</format> + <description>Unicast VPN IPv4 BGP network/prefix</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="rd"> + <properties> + <help>Route Distinguisher</help> + <valueHelp> + <format>txt</format> + <description>Route Distinguisher, asn:xxx</description> + </valueHelp> + <constraint> + <regex>^[0-9]{1,10}:[0-9]{1,5}$</regex> + </constraint> + </properties> + </leafNode> + <leafNode name="label"> + <properties> + <help>MPLS label value assigned to route</help> + <valueHelp> + <format>u32:0-1048575</format> + <description>MPLS label value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-1048575"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </node> + <node name="ipv6-unicast"> + <properties> + <help>IPv6 BGP settings</help> + </properties> + <children> + <tagNode name="aggregate-address"> + <properties> + <help>BGP aggregate network</help> + <valueHelp> + <format>ipv6net</format> + <description>Aggregate network</description> + </valueHelp> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + <children> + #include <include/bgp/afi-aggregate-address.xml.i> + </children> + </tagNode> + <node name="distance"> + <properties> + <help>Administrative distances for BGP routes</help> + </properties> + <children> + <leafNode name="external"> + <properties> + <help>eBGP routes administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>eBGP routes administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="internal"> + <properties> + <help>iBGP routes administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>iBGP routes administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="local"> + <properties> + <help>Locally originated BGP routes administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>Locally originated BGP routes administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <tagNode name="prefix"> + <properties> + <help>Administrative distance for a specific BGP prefix</help> + <valueHelp> + <format>ipv6net</format> + <description>Administrative distance for a specific BGP prefix</description> + </valueHelp> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="distance"> + <properties> + <help>Administrative distance for prefix</help> + <valueHelp> + <format>u32:1-255</format> + <description>Administrative distance for external BGP routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </node> + <tagNode name="network"> + <properties> + <help>BGP network</help> + <valueHelp> + <format>ipv6net</format> + <description>Aggregate network</description> + </valueHelp> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="path-limit"> + <properties> + <help>AS-path hopcount limit</help> + <valueHelp> + <format>u32:0-255</format> + <description>AS path hop count limit</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-255"/> + </constraint> + </properties> + </leafNode> + #include <include/route-map.xml.i> + </children> + </tagNode> + #include <include/bgp/afi-maximum-paths.xml.i> + <node name="redistribute"> + <properties> + <help>Redistribute routes from other protocols into BGP</help> + </properties> + <children> + <node name="connected"> + <properties> + <help>Redistribute connected routes into BGP</help> + </properties> + <children> + #include <include/bgp/afi-redistribute-metric-route-map.xml.i> + </children> + </node> + <node name="kernel"> + <properties> + <help>Redistribute kernel routes into BGP</help> + </properties> + <children> + #include <include/bgp/afi-redistribute-metric-route-map.xml.i> + </children> + </node> + <node name="ospfv3"> + <properties> + <help>Redistribute OSPFv3 routes into BGP</help> + </properties> + <children> + #include <include/bgp/afi-redistribute-metric-route-map.xml.i> + </children> + </node> + <node name="ripng"> + <properties> + <help>Redistribute RIPng routes into BGP</help> + </properties> + <children> + #include <include/bgp/afi-redistribute-metric-route-map.xml.i> + </children> + </node> + <node name="static"> + <properties> + <help>Redistribute static routes into BGP</help> + </properties> + <children> + #include <include/bgp/afi-redistribute-metric-route-map.xml.i> + </children> + </node> + <leafNode name="table"> + <properties> + <help>Redistribute non-main Kernel Routing Table</help> + </properties> + </leafNode> + </children> + </node> + </children> + </node> + <node name="ipv6-multicast"> + <properties> + <help>Multicast IPv6 BGP settings</help> + </properties> + <children> + <tagNode name="aggregate-address"> + <properties> + <help>BGP aggregate network/prefix</help> + <valueHelp> + <format>ipv6net</format> + <description>BGP aggregate network/prefix</description> + </valueHelp> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + <children> + #include <include/bgp/afi-aggregate-address.xml.i> + </children> + </tagNode> + <node name="distance"> + <properties> + <help>Administrative distances for BGP routes</help> + </properties> + <children> + <leafNode name="external"> + <properties> + <help>eBGP routes administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>eBGP routes administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="internal"> + <properties> + <help>iBGP routes administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>iBGP routes administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="local"> + <properties> + <help>Locally originated BGP routes administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>Locally originated BGP routes administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <tagNode name="prefix"> + <properties> + <help>Administrative distance for a specific BGP prefix</help> + <valueHelp> + <format>ipv6net</format> + <description>Administrative distance for a specific BGP prefix</description> + </valueHelp> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="distance"> + <properties> + <help>Administrative distance for prefix</help> + <valueHelp> + <format>u32:1-255</format> + <description>Administrative distance for external BGP routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </node> + <tagNode name="network"> + <properties> + <help>Import BGP network/prefix into multicast IPv6 RIB</help> + <valueHelp> + <format>ipv6net</format> + <description>Multicast IPv6 BGP network/prefix</description> + </valueHelp> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="path-limit"> + <properties> + <help>AS-path hopcount limit</help> + <valueHelp> + <format>u32:0-255</format> + <description>AS path hop count limit</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-255"/> + </constraint> + </properties> + </leafNode> + #include <include/route-map.xml.i> + </children> + </tagNode> + </children> + </node> + <node name="ipv6-labeled-unicast"> + <properties> + <help>Labeled Unicast IPv6 BGP settings</help> + </properties> + <children> + <tagNode name="aggregate-address"> + <properties> + <help>BGP aggregate network/prefix</help> + <valueHelp> + <format>ipv6net</format> + <description>BGP aggregate network/prefix</description> + </valueHelp> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + <children> + #include <include/bgp/afi-aggregate-address.xml.i> + </children> + </tagNode> + <tagNode name="network"> + <properties> + <help>Import BGP network/prefix into labeled unicast IPv6 RIB</help> + <valueHelp> + <format>ipv6net</format> + <description>Labeled Unicast IPv6 BGP network/prefix</description> + </valueHelp> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="backdoor"> + <properties> + <help>Use BGP network/prefix as a backdoor route</help> + <valueless/> + </properties> + </leafNode> + #include <include/route-map.xml.i> + </children> + </tagNode> + </children> + </node> + <node name="ipv6-flowspec"> + <properties> + <help>Flowspec IPv6 BGP settings</help> + </properties> + <children> + <node name="local-install"> + <properties> + <help>Apply local policy routing to interface</help> + </properties> + <children> + <leafNode name="interface"> + <properties> + <help>Interface</help> + <completionHelp> + <script>${vyos_completion_dir}/list_interfaces.py</script> + </completionHelp> + <multi/> + </properties> + </leafNode> + </children> + </node> + </children> + </node> + <node name="ipv6-vpn"> + <properties> + <help>Unicast VPN IPv6 BGP settings</help> + </properties> + <children> + <tagNode name="network"> + <properties> + <help>Import BGP network/prefix into unicast VPN IPv6 RIB</help> + <valueHelp> + <format>ipv6net</format> + <description>Unicast VPN IPv6 BGP network/prefix</description> + </valueHelp> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="rd"> + <properties> + <help>Route Distinguisher</help> + <valueHelp> + <format>txt</format> + <description>Route Distinguisher, asn:xxx</description> + </valueHelp> + <constraint> + <regex>^[0-9]{1,10}:[0-9]{1,5}$</regex> + </constraint> + </properties> + </leafNode> + <leafNode name="label"> + <properties> + <help>MPLS label value assigned to route</help> + <valueHelp> + <format>u32:0-1048575</format> + <description>MPLS label value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-1048575"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </node> + <node name="l2vpn-evpn"> + <properties> + <help>L2VPN EVPN BGP settings</help> + </properties> + <children> + <node name="advertise"> + <properties> + <help>Advertise prefix routes</help> + </properties> + <children> + <node name="ipv4"> + <properties> + <help>IPv4 address family</help> + </properties> + <children> + #include <include/bgp/afi-l2vpn-advertise.xml.i> + </children> + </node> + <node name="ipv6"> + <properties> + <help>IPv6 address family</help> + </properties> + <children> + #include <include/bgp/afi-l2vpn-advertise.xml.i> + </children> + </node> + </children> + </node> + <leafNode name="advertise-all-vni"> + <properties> + <help>Advertise All local VNIs</help> + <valueless/> + </properties> + </leafNode> + #include <include/bgp/afi-l2vpn-common.xml.i> + <leafNode name="advertise-pip"> + <properties> + <help>EVPN system primary IP</help> + <valueHelp> + <format>ipv4</format> + <description>IP address</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + </leafNode> + <leafNode name="rt-auto-derive"> + <properties> + <help>Auto derivation of Route Target (RFC8365)</help> + <valueless/> + </properties> + </leafNode> + <node name="flooding"> + <properties> + <help>Specify handling for BUM packets</help> + </properties> + <children> + <leafNode name="disable"> + <properties> + <help>Do not flood any BUM packets</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="head-end-replication"> + <properties> + <help>Flood BUM packets using head-end replication</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + <tagNode name="vni"> + <properties> + <help>VXLAN Network Identifier</help> + <valueHelp> + <format>u32:1-16777215</format> + <description>VNI number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-16777215"/> + </constraint> + </properties> + <children> + #include <include/bgp/afi-l2vpn-common.xml.i> + </children> + </tagNode> + </children> + </node> + </children> +</node> +<node name="listen"> + <properties> + <help>Listen for and accept BGP dynamic neighbors from range</help> + </properties> + <children> + <leafNode name="limit"> + <properties> + <help>Maximum number of dynamic neighbors that can be created</help> + <valueHelp> + <format>u32:1-5000</format> + <description>BGP neighbor limit</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-5000"/> + </constraint> + </properties> + </leafNode> + <tagNode name="range"> + <properties> + <help>BGP dynamic neighbors listen range</help> + <valueHelp> + <format>ipv4net</format> + <description>IPv4 dynamic neighbors listen range</description> + </valueHelp> + <valueHelp> + <format>ipv6net</format> + <description>IPv6 dynamic neighbors listen range</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + <children> + #include <include/bgp/peer-group.xml.i> + </children> + </tagNode> + </children> +</node> +<leafNode name="local-as"> + <properties> + <help>Autonomous System Number (ASN)</help> + <valueHelp> + <format>u32:1-4294967294</format> + <description>Autonomous System Number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-4294967294"/> + </constraint> + </properties> +</leafNode> +<tagNode name="neighbor"> + <properties> + <help>BGP neighbor</help> + <valueHelp> + <format>ipv4</format> + <description>BGP neighbor IP address</description> + </valueHelp> + <valueHelp> + <format>ipv6</format> + <description>BGP neighbor IPv6 address</description> + </valueHelp> + <valueHelp> + <format>txt</format> + <description>Interface name</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + <validator name="ipv6-address"/> + <validator name="interface-name"/> + </constraint> + </properties> + <children> + <node name="address-family"> + <properties> + <help>Parameters relating to IPv4 or IPv6 routes</help> + </properties> + <children> + #include <include/bgp/neighbor-afi-ipv4-unicast.xml.i> + #include <include/bgp/neighbor-afi-ipv6-unicast.xml.i> + #include <include/bgp/neighbor-afi-ipv4-labeled-unicast.xml.i> + #include <include/bgp/neighbor-afi-ipv6-labeled-unicast.xml.i> + #include <include/bgp/neighbor-afi-ipv4-vpn.xml.i> + #include <include/bgp/neighbor-afi-ipv6-vpn.xml.i> + #include <include/bgp/neighbor-afi-ipv4-flowspec.xml.i> + #include <include/bgp/neighbor-afi-ipv6-flowspec.xml.i> + #include <include/bgp/neighbor-afi-ipv4-multicast.xml.i> + #include <include/bgp/neighbor-afi-ipv6-multicast.xml.i> + #include <include/bgp/neighbor-afi-l2vpn-evpn.xml.i> + </children> + </node> + <leafNode name="advertisement-interval"> + <properties> + <help>Minimum interval for sending routing updates</help> + <valueHelp> + <format>u32:0-600</format> + <description>Advertisement interval in seconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-600"/> + </constraint> + </properties> + </leafNode> + #include <include/bgp/neighbor-bfd.xml.i> + #include <include/bgp/neighbor-capability.xml.i> + #include <include/bgp/neighbor-description.xml.i> + #include <include/bgp/neighbor-disable-capability-negotiation.xml.i> + #include <include/bgp/neighbor-disable-connected-check.xml.i> + #include <include/bgp/neighbor-ebgp-multihop.xml.i> + #include <include/bgp/neighbor-graceful-restart.xml.i> + <node name="interface"> + <properties> + <help>Interface parameters</help> + </properties> + <children> + #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> + #include <include/bgp/peer-group.xml.i> + #include <include/bgp/remote-as.xml.i> + </children> + </node> + </children> + </node> + #include <include/bgp/neighbor-local-as.xml.i> + #include <include/bgp/neighbor-override-capability.xml.i> + #include <include/bgp/neighbor-passive.xml.i> + #include <include/bgp/neighbor-password.xml.i> + #include <include/bgp/peer-group.xml.i> + <leafNode name="port"> + <properties> + <help>Neighbor BGP port</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Neighbor BGP port number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + </leafNode> + #include <include/bgp/remote-as.xml.i> + #include <include/bgp/neighbor-shutdown.xml.i> + <leafNode name="strict-capability-match"> + <properties> + <help>Enable strict capability negotiation</help> + <valueless/> + </properties> + </leafNode> + <node name="timers"> + <properties> + <help>Neighbor timers</help> + </properties> + <children> + <leafNode name="connect"> + <properties> + <help>BGP connect timer for this neighbor</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Connect timer in seconds</description> + </valueHelp> + <valueHelp> + <format>0</format> + <description>Disable connect timer</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-65535"/> + </constraint> + </properties> + </leafNode> + #include <include/bgp/timers-holdtime.xml.i> + #include <include/bgp/timers-keepalive.xml.i> + </children> + </node> + #include <include/bgp/neighbor-ttl-security.xml.i> + #include <include/bgp/neighbor-update-source.xml.i> + </children> +</tagNode> +<node name="parameters"> + <properties> + <help>BGP parameters</help> + </properties> + <children> + <leafNode name="always-compare-med"> + <properties> + <help>Always compare MEDs from different neighbors</help> + <valueless/> + </properties> + </leafNode> + <node name="bestpath"> + <properties> + <help>Default bestpath selection mechanism</help> + </properties> + <children> + <node name="as-path"> + <properties> + <help>AS-path attribute comparison parameters</help> + </properties> + <children> + <leafNode name="confed"> + <properties> + <help>Compare AS-path lengths including confederation sets and sequences</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="ignore"> + <properties> + <help>Ignore AS-path length in selecting a route</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="multipath-relax"> + <properties> + <help>Allow load sharing across routes that have different AS paths (but same length)</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + <leafNode name="compare-routerid"> + <properties> + <help>Compare the router-id for identical EBGP paths</help> + <valueless/> + </properties> + </leafNode> + <node name="med"> + <properties> + <help>MED attribute comparison parameters</help> + </properties> + <children> + <leafNode name="confed"> + <properties> + <help>Compare MEDs among confederation paths</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="missing-as-worst"> + <properties> + <help>Treat missing route as a MED as the least preferred one</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + </children> + </node> + <leafNode name="cluster-id"> + <properties> + <help>Route-reflector cluster-id</help> + <valueHelp> + <format>ipv4</format> + <description>Route-reflector cluster-id</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + </leafNode> + <node name="confederation"> + <properties> + <help>AS confederation parameters</help> + </properties> + <children> + <leafNode name="identifier"> + <properties> + <help>Confederation AS identifier [REQUIRED]</help> + <valueHelp> + <format>u32:1-4294967294</format> + <description>Confederation AS id</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-4294967294"/> + </constraint> + </properties> + </leafNode> + <leafNode name="peers"> + <properties> + <help>Peer ASs in the BGP confederation</help> + <valueHelp> + <format>u32:1-4294967294</format> + <description>Peer AS number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-4294967294"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + <node name="dampening"> + <properties> + <help>Enable route-flap dampening</help> + </properties> + <children> + <leafNode name="half-life"> + <properties> + <help>Half-life time for dampening [REQUIRED]</help> + <valueHelp> + <format>u32:1-45</format> + <description>Half-life penalty in minutes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-45"/> + </constraint> + </properties> + </leafNode> + <leafNode name="max-suppress-time"> + <properties> + <help>Maximum duration to suppress a stable route [REQUIRED]</help> + <valueHelp> + <format>u32:1-255</format> + <description>Maximum suppress duration in minutes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="re-use"> + <properties> + <help>Threshold to start reusing a route [REQUIRED]</help> + <valueHelp> + <format>u32:1-20000</format> + <description>Re-use penalty points</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-20000"/> + </constraint> + </properties> + </leafNode> + <leafNode name="start-suppress-time"> + <properties> + <help>When to start suppressing a route [REQUIRED]</help> + <valueHelp> + <format>u32:1-20000</format> + <description>Start-suppress penalty points</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-20000"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + <node name="default"> + <properties> + <help>BGP defaults</help> + </properties> + <children> + <leafNode name="local-pref"> + <properties> + <help>Default local preference</help> + <valueHelp> + <format>u32</format> + <description>Local preference</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-4294967295"/> + </constraint> + </properties> + </leafNode> + <leafNode name="no-ipv4-unicast"> + <properties> + <help>Deactivate IPv4 unicast for a peer by default</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + <leafNode name="deterministic-med"> + <properties> + <help>Compare MEDs between different peers in the same AS</help> + <valueless/> + </properties> + </leafNode> + <node name="distance"> + <properties> + <help>Administratives distances for BGP routes</help> + </properties> + <children> + <node name="global"> + <properties> + <help>Global administratives distances for BGP routes</help> + </properties> + <children> + <leafNode name="external"> + <properties> + <help>Administrative distance for external BGP routes</help> + <valueHelp> + <format>u32:1-255</format> + <description>Administrative distance for external BGP routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="internal"> + <properties> + <help>Administrative distance for internal BGP routes</help> + <valueHelp> + <format>u32:1-255</format> + <description>Administrative distance for internal BGP routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="local"> + <properties> + <help>Administrative distance for local BGP routes</help> + <valueHelp> + <format>u32:1-255</format> + <description>Administrative distance for internal BGP routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + <tagNode name="prefix"> + <properties> + <help>Administrative distance for a specific BGP prefix</help> + <valueHelp> + <format>ipv4net</format> + <description>Administrative distance for a specific BGP prefix</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="distance"> + <properties> + <help>Administrative distance for prefix</help> + <valueHelp> + <format>u32:1-255</format> + <description>Administrative distance for external BGP routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </node> + <leafNode name="ebgp-requires-policy"> + <properties> + <help>Require in and out policy for eBGP peers (RFC8212)</help> + <valueless/> + </properties> + </leafNode> + <node name="graceful-restart"> + <properties> + <help>Graceful restart capability parameters</help> + </properties> + <children> + <leafNode name="stalepath-time"> + <properties> + <help>Maximum time to hold onto restarting neighbors stale paths</help> + <valueHelp> + <format>u32:1-3600</format> + <description>Hold time in seconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-3600"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + <leafNode name="graceful-shutdown"> + <properties> + <help>Graceful shutdown</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="log-neighbor-changes"> + <properties> + <help>Log neighbor up/down changes and reset reason</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="network-import-check"> + <properties> + <help>Enable IGP route check for network statements</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="no-client-to-client-reflection"> + <properties> + <help>Disable client to client route reflection</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="no-fast-external-failover"> + <properties> + <help>Disable immediate session reset on peer link down event</help> + <valueless/> + </properties> + </leafNode> + #include <include/router-id.xml.i> + </children> +</node> +<tagNode name="peer-group"> + <properties> + <help>BGP peer-group</help> + </properties> + <children> + <node name="address-family"> + <properties> + <help>BGP peer-group address-family parameters</help> + </properties> + <children> + #include <include/bgp/neighbor-afi-ipv4-unicast.xml.i> + #include <include/bgp/neighbor-afi-ipv6-unicast.xml.i> + #include <include/bgp/neighbor-afi-l2vpn-evpn.xml.i> + </children> + </node> + #include <include/bgp/neighbor-bfd.xml.i> + #include <include/bgp/neighbor-capability.xml.i> + #include <include/bgp/neighbor-description.xml.i> + #include <include/bgp/neighbor-disable-capability-negotiation.xml.i> + #include <include/bgp/neighbor-disable-connected-check.xml.i> + #include <include/bgp/neighbor-ebgp-multihop.xml.i> + #include <include/bgp/neighbor-graceful-restart.xml.i> + #include <include/bgp/neighbor-graceful-restart.xml.i> + #include <include/bgp/neighbor-local-as.xml.i> + #include <include/bgp/neighbor-override-capability.xml.i> + #include <include/bgp/neighbor-passive.xml.i> + #include <include/bgp/neighbor-password.xml.i> + #include <include/bgp/remote-as.xml.i> + #include <include/bgp/neighbor-shutdown.xml.i> + #include <include/bgp/neighbor-ttl-security.xml.i> + #include <include/bgp/neighbor-update-source.xml.i> + </children> +</tagNode> +#include <include/route-map.xml.i> +<node name="timers"> + <properties> + <help>BGP protocol timers</help> + </properties> + <children> + #include <include/bgp/timers-holdtime.xml.i> + #include <include/bgp/timers-keepalive.xml.i> + </children> +</node> +<!-- include end -->
\ No newline at end of file diff --git a/interface-definitions/include/bgp-remote-as.xml.i b/interface-definitions/include/bgp/remote-as.xml.i index de3f4d2ad..11eb7c256 100644 --- a/interface-definitions/include/bgp-remote-as.xml.i +++ b/interface-definitions/include/bgp/remote-as.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-remote-as.xml.i --> +<!-- include start from bgp/remote-as.xml.i --> <leafNode name="remote-as"> <properties> <help>Neighbor BGP AS number [REQUIRED]</help> @@ -24,4 +24,4 @@ <constraintErrorMessage>Invalid AS number</constraintErrorMessage> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-route-target.xml.i b/interface-definitions/include/bgp/route-target.xml.i index c3df56a74..674b6db15 100644 --- a/interface-definitions/include/bgp-route-target.xml.i +++ b/interface-definitions/include/bgp/route-target.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-route-target.xml.i --> +<!-- include start from bgp/route-target.xml.i --> <node name="route-target"> <properties> <help>Route Target</help> @@ -42,4 +42,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-timers-holdtime.xml.i b/interface-definitions/include/bgp/timers-holdtime.xml.i index 09924574b..9e86ab13d 100644 --- a/interface-definitions/include/bgp-timers-holdtime.xml.i +++ b/interface-definitions/include/bgp/timers-holdtime.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-timers-holdtime.xml.i --> +<!-- include start from bgp/timers-holdtime.xml.i --> <leafNode name="holdtime"> <properties> <help>BGP hold timer for this neighbor</help> @@ -15,4 +15,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/bgp-timers-keepalive.xml.i b/interface-definitions/include/bgp/timers-keepalive.xml.i index 7d294c9d6..b2771e326 100644 --- a/interface-definitions/include/bgp-timers-keepalive.xml.i +++ b/interface-definitions/include/bgp/timers-keepalive.xml.i @@ -1,4 +1,4 @@ -<!-- included start from bgp-timers-keepalive.xml.i --> +<!-- include start from bgp/timers-keepalive.xml.i --> <leafNode name="keepalive"> <properties> <help>BGP keepalive interval for this neighbor</help> @@ -11,4 +11,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/certificate-ca.xml.i b/interface-definitions/include/certificate-ca.xml.i index df12746aa..b97378658 100644 --- a/interface-definitions/include/certificate-ca.xml.i +++ b/interface-definitions/include/certificate-ca.xml.i @@ -1,4 +1,4 @@ -<!-- included start from certificate-ca.xml.i --> +<!-- include start from certificate-ca.xml.i --> <leafNode name="ca-cert-file"> <properties> <help>Certificate Authority in x509 PEM format</help> @@ -11,4 +11,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/certificate-key.xml.i b/interface-definitions/include/certificate-key.xml.i index 924823c76..1db9dd069 100644 --- a/interface-definitions/include/certificate-key.xml.i +++ b/interface-definitions/include/certificate-key.xml.i @@ -1,4 +1,4 @@ -<!-- included start from certificate-key.xml.i --> +<!-- include start from certificate-key.xml.i --> <leafNode name="key-file"> <properties> <help>Certificate private key in x509 PEM format</help> @@ -11,4 +11,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/certificate.xml.i b/interface-definitions/include/certificate.xml.i index 724a8a27f..fb5be45cc 100644 --- a/interface-definitions/include/certificate.xml.i +++ b/interface-definitions/include/certificate.xml.i @@ -1,4 +1,4 @@ -<!-- included start from certificate.xml.i --> +<!-- include start from certificate.xml.i --> <leafNode name="cert-file"> <properties> <help>Certificate public key in x509 PEM format</help> @@ -11,4 +11,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/dhcp-server-domain-search.xml.i b/interface-definitions/include/dhcp-server-domain-search.xml.i index 9b3568b72..4fc55097b 100644 --- a/interface-definitions/include/dhcp-server-domain-search.xml.i +++ b/interface-definitions/include/dhcp-server-domain-search.xml.i @@ -1,4 +1,4 @@ -<!-- included start from dhcp-server-domain-search.xml.i --> +<!-- include start from dhcp-server-domain-search.xml.i --> <leafNode name="domain-search"> <properties> <help>Client Domain Name search list</help> @@ -9,4 +9,4 @@ <multi/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/generic-disable-node.xml.i b/interface-definitions/include/generic-disable-node.xml.i index 520383afb..bb4fa5c4b 100644 --- a/interface-definitions/include/generic-disable-node.xml.i +++ b/interface-definitions/include/generic-disable-node.xml.i @@ -1,8 +1,8 @@ -<!-- included start from generic-disable-node.xml.i --> +<!-- include start from generic-disable-node.xml.i --> <leafNode name="disable"> <properties> <help>Temporary disable</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-ipv4-options.xml.i b/interface-definitions/include/interface-ipv4-options.xml.i deleted file mode 100644 index c63f89890..000000000 --- a/interface-definitions/include/interface-ipv4-options.xml.i +++ /dev/null @@ -1,18 +0,0 @@ -<!-- included start from interface-ipv4-options.xml.i --> -<node name="ip"> - <properties> - <help>IPv4 routing parameters</help> - </properties> - <children> - #include <include/interface-arp-cache-timeout.xml.i> - #include <include/interface-disable-arp-filter.xml.i> - #include <include/interface-disable-forwarding.xml.i> - #include <include/interface-enable-arp-accept.xml.i> - #include <include/interface-enable-arp-announce.xml.i> - #include <include/interface-enable-arp-ignore.xml.i> - #include <include/interface-enable-proxy-arp.xml.i> - #include <include/interface-proxy-arp-pvlan.xml.i> - #include <include/interface-source-validation.xml.i> - </children> -</node> -<!-- included end --> diff --git a/interface-definitions/include/interface-ipv6-options.xml.i b/interface-definitions/include/interface-ipv6-options.xml.i deleted file mode 100644 index a94c6572b..000000000 --- a/interface-definitions/include/interface-ipv6-options.xml.i +++ /dev/null @@ -1,12 +0,0 @@ -<!-- included start from interface-ipv6-options.xml.i --> -<node name="ipv6"> - <properties> - <help>IPv6 routing parameters</help> - </properties> - <children> - #include <include/ipv6-address.xml.i> - #include <include/ipv6-disable-forwarding.xml.i> - #include <include/ipv6-dup-addr-detect-transmits.xml.i> - </children> -</node> -<!-- included end --> diff --git a/interface-definitions/include/address-ipv4-ipv6-dhcp.xml.i b/interface-definitions/include/interface/address-ipv4-ipv6-dhcp.xml.i index 7805110bc..123590c08 100644 --- a/interface-definitions/include/address-ipv4-ipv6-dhcp.xml.i +++ b/interface-definitions/include/interface/address-ipv4-ipv6-dhcp.xml.i @@ -1,4 +1,4 @@ -<!-- included start from address-ipv4-ipv6-dhcp.xml.i --> +<!-- include start from address-ipv4-ipv6-dhcp.xml.i --> <leafNode name="address"> <properties> <help>IP address</help> @@ -23,9 +23,9 @@ </valueHelp> <constraint> <validator name="ip-host"/> - <regex>(dhcp|dhcpv6)</regex> + <regex>^(dhcp|dhcpv6)$</regex> </constraint> <multi/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/address-ipv4-ipv6.xml.i b/interface-definitions/include/interface/address-ipv4-ipv6.xml.i index b11610104..519622050 100644 --- a/interface-definitions/include/address-ipv4-ipv6.xml.i +++ b/interface-definitions/include/interface/address-ipv4-ipv6.xml.i @@ -1,4 +1,4 @@ -<!-- included start from address-ipv4-ipv6.xml.i --> +<!-- include start from address-ipv4-ipv6.xml.i --> <leafNode name="address"> <properties> <help>IP address</help> @@ -16,4 +16,4 @@ <multi/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/dhcp-options.xml.i b/interface-definitions/include/interface/dhcp-options.xml.i index 774714251..b65b0802a 100644 --- a/interface-definitions/include/dhcp-options.xml.i +++ b/interface-definitions/include/interface/dhcp-options.xml.i @@ -1,4 +1,4 @@ -<!-- included start from dhcp-options.xml.i --> +<!-- include start from interface/dhcp-options.xml.i --> <node name="dhcp-options"> <properties> <help>DHCP client settings/options</help> @@ -37,6 +37,24 @@ </constraint> </properties> </leafNode> + <leafNode name="reject"> + <properties> + <help>IP addresses or subnets from which to reject DHCP leases</help> + <valueHelp> + <format>ipv4</format> + <description>IPv4 address to match</description> + </valueHelp> + <valueHelp> + <format>ipv4net</format> + <description>IPv4 prefix to match</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + <validator name="ipv4-prefix"/> + </constraint> + <multi/> + </properties> + </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/dhcpv6-options.xml.i b/interface-definitions/include/interface/dhcpv6-options.xml.i index 33ba39592..ca478a3eb 100644 --- a/interface-definitions/include/dhcpv6-options.xml.i +++ b/interface-definitions/include/interface/dhcpv6-options.xml.i @@ -1,4 +1,4 @@ -<!-- included start from dhcpv6-options.xml.i --> +<!-- include start from interface/dhcpv6-options.xml.i --> <node name="dhcpv6-options"> <properties> <help>DHCPv6 client settings/options</help> @@ -97,4 +97,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-arp-cache-timeout.xml.i b/interface-definitions/include/interface/interface-arp-cache-timeout.xml.i index 6dfebfee4..b269fecd8 100644 --- a/interface-definitions/include/interface-arp-cache-timeout.xml.i +++ b/interface-definitions/include/interface/interface-arp-cache-timeout.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-arp-cache-timeout.xml.i --> +<!-- include start from interface/interface-arp-cache-timeout.xml.i --> <leafNode name="arp-cache-timeout"> <properties> <help>ARP cache entry timeout in seconds</help> @@ -13,4 +13,4 @@ </properties> <defaultValue>30</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-description.xml.i b/interface-definitions/include/interface/interface-description.xml.i index daf09d8bc..d618b50d2 100644 --- a/interface-definitions/include/interface-description.xml.i +++ b/interface-definitions/include/interface/interface-description.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-description.xml.i --> +<!-- include start from interface/interface-description.xml.i --> <leafNode name="description"> <properties> <help>Interface specific description</help> @@ -8,4 +8,4 @@ <constraintErrorMessage>Description too long (limit 256 characters)</constraintErrorMessage> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-dial-on-demand.xml.i b/interface-definitions/include/interface/interface-dial-on-demand.xml.i index 8fba8099d..66edd9678 100644 --- a/interface-definitions/include/interface-dial-on-demand.xml.i +++ b/interface-definitions/include/interface/interface-dial-on-demand.xml.i @@ -1,8 +1,8 @@ -<!-- included start from interface-dial-on-demand.xml.i --> +<!-- include start from interface/interface-dial-on-demand.xml.i --> <leafNode name="connect-on-demand"> <properties> <help>Establishment connection automatically when traffic is sent</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-disable-arp-filter.xml.i b/interface-definitions/include/interface/interface-disable-arp-filter.xml.i index 4de3ca893..49cddaf76 100644 --- a/interface-definitions/include/interface-disable-arp-filter.xml.i +++ b/interface-definitions/include/interface/interface-disable-arp-filter.xml.i @@ -1,8 +1,8 @@ -<!-- included start from interface-disable-arp-filter.xml.i --> +<!-- include start from interface/interface-disable-arp-filter.xml.i --> <leafNode name="disable-arp-filter"> <properties> <help>Disable ARP filter on this interface</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-disable-forwarding.xml.i b/interface-definitions/include/interface/interface-disable-forwarding.xml.i index 7cbb726ec..cb6ef0475 100644 --- a/interface-definitions/include/interface-disable-forwarding.xml.i +++ b/interface-definitions/include/interface/interface-disable-forwarding.xml.i @@ -1,8 +1,8 @@ -<!-- included start from interface-disable-forwarding.xml.i --> +<!-- include start from interface/interface-disable-forwarding.xml.i --> <leafNode name="disable-forwarding"> <properties> <help>Disable IPv4 forwarding on this interface</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-disable-link-detect.xml.i b/interface-definitions/include/interface/interface-disable-link-detect.xml.i index 4298b4b5d..c528885b2 100644 --- a/interface-definitions/include/interface-disable-link-detect.xml.i +++ b/interface-definitions/include/interface/interface-disable-link-detect.xml.i @@ -1,8 +1,8 @@ -<!-- included start from interface-disable-link-detect.xml.i --> +<!-- include start from interface/interface-disable-link-detect.xml.i --> <leafNode name="disable-link-detect"> <properties> <help>Ignore link state changes</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-disable.xml.i b/interface-definitions/include/interface/interface-disable.xml.i index 5d73d54ba..d90e6395b 100644 --- a/interface-definitions/include/interface-disable.xml.i +++ b/interface-definitions/include/interface/interface-disable.xml.i @@ -1,8 +1,8 @@ -<!-- included start from interface-disable.xml.i --> +<!-- include start from interface/interface-disable.xml.i --> <leafNode name="disable"> <properties> <help>Administratively disable interface</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-eapol.xml.i b/interface-definitions/include/interface/interface-eapol.xml.i index 8b33b4acf..92b7a3f35 100644 --- a/interface-definitions/include/interface-eapol.xml.i +++ b/interface-definitions/include/interface/interface-eapol.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-eapol.xml.i --> +<!-- include start from interface/interface-eapol.xml.i --> <node name="eapol"> <properties> <help>Extensible Authentication Protocol over Local Area Network</help> @@ -9,4 +9,4 @@ #include <include/certificate-key.xml.i> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-enable-arp-accept.xml.i b/interface-definitions/include/interface/interface-enable-arp-accept.xml.i index 688b3572e..7c5d51857 100644 --- a/interface-definitions/include/interface-enable-arp-accept.xml.i +++ b/interface-definitions/include/interface/interface-enable-arp-accept.xml.i @@ -1,8 +1,8 @@ -<!-- included start from interface-enable-arp-accept.xml.i --> +<!-- include start from interface/interface-enable-arp-accept.xml.i --> <leafNode name="enable-arp-accept"> <properties> <help>Enable ARP accept on this interface</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-enable-arp-announce.xml.i b/interface-definitions/include/interface/interface-enable-arp-announce.xml.i index c84bb7ea9..f44599c54 100644 --- a/interface-definitions/include/interface-enable-arp-announce.xml.i +++ b/interface-definitions/include/interface/interface-enable-arp-announce.xml.i @@ -1,8 +1,8 @@ -<!-- included start from interface-enable-arp-announce.xml.i --> +<!-- include start from interface/interface-enable-arp-announce.xml.i --> <leafNode name="enable-arp-announce"> <properties> <help>Enable ARP announce on this interface</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-enable-arp-ignore.xml.i b/interface-definitions/include/interface/interface-enable-arp-ignore.xml.i index 741771a89..3ea39613c 100644 --- a/interface-definitions/include/interface-enable-arp-ignore.xml.i +++ b/interface-definitions/include/interface/interface-enable-arp-ignore.xml.i @@ -1,8 +1,8 @@ -<!-- included start from interface-enable-arp-ignore.xml.i --> +<!-- include start from interface/interface-enable-arp-ignore.xml.i --> <leafNode name="enable-arp-ignore"> <properties> <help>Enable ARP ignore on this interface</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-enable-proxy-arp.xml.i b/interface-definitions/include/interface/interface-enable-proxy-arp.xml.i index 08351e673..dbdeeb7a7 100644 --- a/interface-definitions/include/interface-enable-proxy-arp.xml.i +++ b/interface-definitions/include/interface/interface-enable-proxy-arp.xml.i @@ -1,8 +1,8 @@ -<!-- included start from interface-enable-proxy-arp.xml.i --> +<!-- include start from interface/interface-enable-proxy-arp.xml.i --> <leafNode name="enable-proxy-arp"> <properties> <help>Enable proxy-arp on this interface</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-hw-id.xml.i b/interface-definitions/include/interface/interface-hw-id.xml.i index 55ef55add..989cd9cb7 100644 --- a/interface-definitions/include/interface-hw-id.xml.i +++ b/interface-definitions/include/interface/interface-hw-id.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-hw-id.xml.i --> +<!-- include start from interface/interface-hw-id.xml.i --> <leafNode name="hw-id"> <properties> <help>Associate Ethernet Interface with given Media Access Control (MAC) address</help> @@ -11,4 +11,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-ipv4-options.xml.i b/interface-definitions/include/interface/interface-ipv4-options.xml.i new file mode 100644 index 000000000..c2d0677b7 --- /dev/null +++ b/interface-definitions/include/interface/interface-ipv4-options.xml.i @@ -0,0 +1,18 @@ +<!-- include start from interface/interface-ipv4-options.xml.i --> +<node name="ip"> + <properties> + <help>IPv4 routing parameters</help> + </properties> + <children> + #include <include/interface/interface-arp-cache-timeout.xml.i> + #include <include/interface/interface-disable-arp-filter.xml.i> + #include <include/interface/interface-disable-forwarding.xml.i> + #include <include/interface/interface-enable-arp-accept.xml.i> + #include <include/interface/interface-enable-arp-announce.xml.i> + #include <include/interface/interface-enable-arp-ignore.xml.i> + #include <include/interface/interface-enable-proxy-arp.xml.i> + #include <include/interface/interface-proxy-arp-pvlan.xml.i> + #include <include/interface/interface-source-validation.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/interface/interface-ipv6-options.xml.i b/interface-definitions/include/interface/interface-ipv6-options.xml.i new file mode 100644 index 000000000..dcd5a8710 --- /dev/null +++ b/interface-definitions/include/interface/interface-ipv6-options.xml.i @@ -0,0 +1,12 @@ +<!-- include start from interface/interface-ipv6-options.xml.i --> +<node name="ipv6"> + <properties> + <help>IPv6 routing parameters</help> + </properties> + <children> + #include <include/interface/ipv6-address.xml.i> + #include <include/interface/ipv6-disable-forwarding.xml.i> + #include <include/interface/ipv6-dup-addr-detect-transmits.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/interface-mac.xml.i b/interface-definitions/include/interface/interface-mac.xml.i index 87dc5fb60..d7107ad23 100644 --- a/interface-definitions/include/interface-mac.xml.i +++ b/interface-definitions/include/interface/interface-mac.xml.i @@ -1,4 +1,4 @@ -<!-- included start from mac.xml.i --> +<!-- include start from interface/interface-mac.xml.i --> <leafNode name="mac"> <properties> <help>Media Access Control (MAC) address</help> @@ -11,4 +11,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-mirror.xml.i b/interface-definitions/include/interface/interface-mirror.xml.i index d34132a9c..b3b45fb43 100644 --- a/interface-definitions/include/interface-mirror.xml.i +++ b/interface-definitions/include/interface/interface-mirror.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-mirror.xml.i --> +<!-- include start from interface/interface-mirror.xml.i --> <node name="mirror"> <properties> <help>Incoming/outgoing packet mirroring destination</help> @@ -22,4 +22,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-mtu-1200-16000.xml.i b/interface-definitions/include/interface/interface-mtu-1200-16000.xml.i index 04b5ec8ac..3241ba912 100644 --- a/interface-definitions/include/interface-mtu-1200-16000.xml.i +++ b/interface-definitions/include/interface/interface-mtu-1200-16000.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-mtu-1200-16000.xml.i --> +<!-- include start from interface/interface-mtu-1200-16000.xml.i --> <leafNode name="mtu"> <properties> <help>Maximum Transmission Unit (MTU)</help> @@ -13,4 +13,4 @@ </properties> <defaultValue>1500</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-mtu-1450-16000.xml.i b/interface-definitions/include/interface/interface-mtu-1450-16000.xml.i index 41dd5fb00..0a35bbbaa 100644 --- a/interface-definitions/include/interface-mtu-1450-16000.xml.i +++ b/interface-definitions/include/interface/interface-mtu-1450-16000.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-mtu-1450-16000.xml.i --> +<!-- include start from interface/interface-mtu-1450-16000.xml.i --> <leafNode name="mtu"> <properties> <help>Maximum Transmission Unit (MTU)</help> @@ -13,4 +13,4 @@ </properties> <defaultValue>1500</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-mtu-64-8024.xml.i b/interface-definitions/include/interface/interface-mtu-64-8024.xml.i index 0a455bc64..f75de02ba 100644 --- a/interface-definitions/include/interface-mtu-64-8024.xml.i +++ b/interface-definitions/include/interface/interface-mtu-64-8024.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-mtu-68-8024.xml.i --> +<!-- include start from interface/interface-mtu-68-8024.xml.i --> <leafNode name="mtu"> <properties> <help>Maximum Transmission Unit (MTU)</help> @@ -13,4 +13,4 @@ </properties> <defaultValue>1500</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-mtu-68-1500.xml.i b/interface-definitions/include/interface/interface-mtu-68-1500.xml.i index 78c2c6920..9e6fe8760 100644 --- a/interface-definitions/include/interface-mtu-68-1500.xml.i +++ b/interface-definitions/include/interface/interface-mtu-68-1500.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-mtu-68-1500.xml.i --> +<!-- include start from interface/interface-mtu-68-1500.xml.i --> <leafNode name="mtu"> <properties> <help>Maximum Transmission Unit (MTU)</help> @@ -13,4 +13,4 @@ </properties> <defaultValue>1500</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-mtu-68-16000.xml.i b/interface-definitions/include/interface/interface-mtu-68-16000.xml.i index 9f18464bf..83af7bbd4 100644 --- a/interface-definitions/include/interface-mtu-68-16000.xml.i +++ b/interface-definitions/include/interface/interface-mtu-68-16000.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-mtu-68-16000.xml.i --> +<!-- include start from interface/interface-mtu-68-16000.xml.i --> <leafNode name="mtu"> <properties> <help>Maximum Transmission Unit (MTU)</help> @@ -13,4 +13,4 @@ </properties> <defaultValue>1500</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-parameters-dont-fragment.xml.i b/interface-definitions/include/interface/interface-parameters-dont-fragment.xml.i index a16cc5dee..166c31115 100644 --- a/interface-definitions/include/interface-parameters-dont-fragment.xml.i +++ b/interface-definitions/include/interface/interface-parameters-dont-fragment.xml.i @@ -1,8 +1,8 @@ -<!-- included start from interface-parameters-df.xml.i --> +<!-- include start from interface/interface-parameters-df.xml.i --> <leafNode name="dont-fragment"> <properties> <help>Specifies the usage of the dont fragment (DF) bit</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-parameters-flowlabel.xml.i b/interface-definitions/include/interface/interface-parameters-flowlabel.xml.i index 0723c4b47..ed075e40d 100644 --- a/interface-definitions/include/interface-parameters-flowlabel.xml.i +++ b/interface-definitions/include/interface/interface-parameters-flowlabel.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-parameters-flowlabel.xml.i --> +<!-- include start from interface/interface-parameters-flowlabel.xml.i --> <leafNode name="flowlabel"> <properties> <help>Specifies the flow label to use in outgoing packets</help> @@ -12,4 +12,4 @@ <constraintErrorMessage>Must be 'inherit' or a number</constraintErrorMessage> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-parameters-key.xml.i b/interface-definitions/include/interface/interface-parameters-key.xml.i index e918ff0e8..1b1d67174 100644 --- a/interface-definitions/include/interface-parameters-key.xml.i +++ b/interface-definitions/include/interface/interface-parameters-key.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-parameters-key.xml.i --> +<!-- include start from interface/interface-parameters-key.xml.i --> <leafNode name="key"> <properties> <help>Tunnel key</help> @@ -12,4 +12,4 @@ <constraintErrorMessage>key must be between 0-4294967295</constraintErrorMessage> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-parameters-tos.xml.i b/interface-definitions/include/interface/interface-parameters-tos.xml.i index ebb537bed..83b4e0671 100644 --- a/interface-definitions/include/interface-parameters-tos.xml.i +++ b/interface-definitions/include/interface/interface-parameters-tos.xml.i @@ -1,4 +1,4 @@ -<!-- included start from tunnel-parameters-tos.xml.i --> +<!-- include start from interface/tunnel-parameters-tos.xml.i --> <leafNode name="tos"> <properties> <help>Specifies TOS value to use in outgoing packets</help> @@ -13,4 +13,4 @@ </properties> <defaultValue>inherit</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-parameters-ttl.xml.i b/interface-definitions/include/interface/interface-parameters-ttl.xml.i index 83563ecb1..df193cf24 100644 --- a/interface-definitions/include/interface-parameters-ttl.xml.i +++ b/interface-definitions/include/interface/interface-parameters-ttl.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-parameters-ttl.xml.i --> +<!-- include start from interface/interface-parameters-ttl.xml.i --> <leafNode name="ttl"> <properties> <help>Specifies TTL value to use in outgoing packets</help> @@ -17,4 +17,4 @@ </properties> <defaultValue>0</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-proxy-arp-pvlan.xml.i b/interface-definitions/include/interface/interface-proxy-arp-pvlan.xml.i index 02b96e353..153dfc072 100644 --- a/interface-definitions/include/interface-proxy-arp-pvlan.xml.i +++ b/interface-definitions/include/interface/interface-proxy-arp-pvlan.xml.i @@ -1,8 +1,8 @@ -<!-- included start from interface-proxy-arp-pvlan.xml.i --> +<!-- include start from interface/interface-proxy-arp-pvlan.xml.i --> <leafNode name="proxy-arp-pvlan"> <properties> <help>Enable private VLAN proxy ARP on this interface</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-source-validation.xml.i b/interface-definitions/include/interface/interface-source-validation.xml.i index 32cec464e..70914f2e9 100644 --- a/interface-definitions/include/interface-source-validation.xml.i +++ b/interface-definitions/include/interface/interface-source-validation.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-source-validation.xml.i --> +<!-- include start from interface/interface-source-validation.xml.i --> <leafNode name="source-validation"> <properties> <help>Source validation by reversed path (RFC3704)</help> @@ -22,4 +22,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-vrf.xml.i b/interface-definitions/include/interface/interface-vrf.xml.i index e3d6b53e0..ef6ca1241 100644 --- a/interface-definitions/include/interface-vrf.xml.i +++ b/interface-definitions/include/interface/interface-vrf.xml.i @@ -1,4 +1,4 @@ -<!-- included start from interface-vrf.xml.i --> +<!-- include start from interface/interface-vrf.xml.i --> <leafNode name="vrf"> <properties> <help>VRF instance name</help> @@ -11,4 +11,4 @@ </completionHelp> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface-xdp.xml.i b/interface-definitions/include/interface/interface-xdp.xml.i index d224c177f..0253f6dad 100644 --- a/interface-definitions/include/interface-xdp.xml.i +++ b/interface-definitions/include/interface/interface-xdp.xml.i @@ -1,8 +1,8 @@ -<!-- included start from interface-vrf.xml.i --> +<!-- include start from interface/interface-xdp.xml.i --> <leafNode name="xdp"> <properties> <help>Enable eXpress Data Path</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/ipv6-address-autoconf.xml.i b/interface-definitions/include/interface/ipv6-address-autoconf.xml.i index 580f060d7..cd1483bc1 100644 --- a/interface-definitions/include/ipv6-address-autoconf.xml.i +++ b/interface-definitions/include/interface/ipv6-address-autoconf.xml.i @@ -1,8 +1,8 @@ -<!-- included start from ipv6-address-autoconf.xml.i --> +<!-- include start from interface/ipv6-address-autoconf.xml.i --> <leafNode name="autoconf"> <properties> <help>Enable acquisition of IPv6 address using stateless autoconfig (SLAAC)</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface/ipv6-address-eui64.xml.i b/interface-definitions/include/interface/ipv6-address-eui64.xml.i new file mode 100644 index 000000000..fe1f43df4 --- /dev/null +++ b/interface-definitions/include/interface/ipv6-address-eui64.xml.i @@ -0,0 +1,16 @@ +<!-- include start from interface/ipv6-address-eui64.xml.i --> +<leafNode name="eui64"> + <properties> + <help>Prefix for IPv6 address with MAC-based EUI-64</help> + <valueHelp> + <format><h:h:h:h:h:h:h:h/64></format> + <description>IPv6 /64 network</description> + </valueHelp> + <constraint> + <validator name="ipv6-eui64-prefix"/> + </constraint> + <constraintErrorMessage>EUI64 prefix length must be 64</constraintErrorMessage> + <multi/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/ipv6-address-no-default-link-local.xml.i b/interface-definitions/include/interface/ipv6-address-no-default-link-local.xml.i index 1c9e832dc..012490edc 100644 --- a/interface-definitions/include/ipv6-address-no-default-link-local.xml.i +++ b/interface-definitions/include/interface/ipv6-address-no-default-link-local.xml.i @@ -1,8 +1,8 @@ -<!-- included start from ipv6-address-no-default-link-local.xml.i --> +<!-- include start from interface/ipv6-address-no-default-link-local.xml.i --> <leafNode name="no-default-link-local"> <properties> <help>Remove the default link-local address from the interface</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/interface/ipv6-address.xml.i b/interface-definitions/include/interface/ipv6-address.xml.i new file mode 100644 index 000000000..e1bdf02fd --- /dev/null +++ b/interface-definitions/include/interface/ipv6-address.xml.i @@ -0,0 +1,12 @@ +<!-- include start from interface/ipv6-address.xml.i --> +<node name="address"> + <properties> + <help>IPv6 address configuration modes</help> + </properties> + <children> + #include <include/interface/ipv6-address-autoconf.xml.i> + #include <include/interface/ipv6-address-eui64.xml.i> + #include <include/interface/ipv6-address-no-default-link-local.xml.i> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/ipv6-disable-forwarding.xml.i b/interface-definitions/include/interface/ipv6-disable-forwarding.xml.i index 14d9eada9..4adb77d1b 100644 --- a/interface-definitions/include/ipv6-disable-forwarding.xml.i +++ b/interface-definitions/include/interface/ipv6-disable-forwarding.xml.i @@ -1,8 +1,8 @@ -<!-- included start from ipv6-disable-forwarding.xml.i --> +<!-- include start from interface/ipv6-disable-forwarding.xml.i --> <leafNode name="disable-forwarding"> <properties> <help>Disable IPv6 forwarding on this interface</help> <valueless/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/ipv6-dup-addr-detect-transmits.xml.i b/interface-definitions/include/interface/ipv6-dup-addr-detect-transmits.xml.i index 61e6669c4..2b5ec0281 100644 --- a/interface-definitions/include/ipv6-dup-addr-detect-transmits.xml.i +++ b/interface-definitions/include/interface/ipv6-dup-addr-detect-transmits.xml.i @@ -1,4 +1,4 @@ -<!-- included start from ipv6-dup-addr-detect-transmits.xml.i --> +<!-- include start from interface/ipv6-dup-addr-detect-transmits.xml.i --> <leafNode name="dup-addr-detect-transmits"> <properties> <help>Number of NS messages to send while performing DAD (default: 1)</help> @@ -15,4 +15,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/tunnel-remote.xml.i b/interface-definitions/include/interface/tunnel-remote.xml.i index d5b50d3f6..1ba9b0382 100644 --- a/interface-definitions/include/tunnel-remote.xml.i +++ b/interface-definitions/include/interface/tunnel-remote.xml.i @@ -1,4 +1,4 @@ -<!-- included start from tunnel-remote.xml.i --> +<!-- include start from rip/tunnel-remote.xml.i --> <leafNode name="remote"> <properties> <help>Tunnel remote address</help> @@ -15,4 +15,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/vif-s.xml.i b/interface-definitions/include/interface/vif-s.xml.i index 01cb59efc..17d1746be 100644 --- a/interface-definitions/include/vif-s.xml.i +++ b/interface-definitions/include/interface/vif-s.xml.i @@ -1,4 +1,4 @@ -<!-- included start from vif-s.xml.i --> +<!-- include start from interface/vif-s.xml.i --> <tagNode name="vif-s"> <properties> <help>QinQ TAG-S Virtual Local Area Network (VLAN) ID</help> @@ -8,12 +8,12 @@ <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage> </properties> <children> - #include <include/address-ipv4-ipv6-dhcp.xml.i> - #include <include/interface-description.xml.i> - #include <include/dhcp-options.xml.i> - #include <include/dhcpv6-options.xml.i> - #include <include/interface-disable-link-detect.xml.i> - #include <include/interface-disable.xml.i> + #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/dhcp-options.xml.i> + #include <include/interface/dhcpv6-options.xml.i> + #include <include/interface/interface-disable-link-detect.xml.i> + #include <include/interface/interface-disable.xml.i> <leafNode name="protocol"> <properties> <help>Protocol used for service VLAN (default: 802.1ad)</help> @@ -29,16 +29,16 @@ <description>VLAN-tagged frame (IEEE 802.1q), ethertype 0x8100</description> </valueHelp> <constraint> - <regex>(802.1q|802.1ad)</regex> + <regex>^(802.1q|802.1ad)$</regex> </constraint> <constraintErrorMessage>Ethertype must be 802.1ad or 802.1q</constraintErrorMessage> </properties> <defaultValue>802.1ad</defaultValue> </leafNode> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> - #include <include/interface-mac.xml.i> - #include <include/interface-mtu-68-16000.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> + #include <include/interface/interface-mac.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> <tagNode name="vif-c"> <properties> <help>QinQ TAG-C Virtual Local Area Network (VLAN) ID</help> @@ -48,20 +48,20 @@ <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage> </properties> <children> - #include <include/address-ipv4-ipv6-dhcp.xml.i> - #include <include/interface-description.xml.i> - #include <include/dhcp-options.xml.i> - #include <include/dhcpv6-options.xml.i> - #include <include/interface-disable-link-detect.xml.i> - #include <include/interface-disable.xml.i> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> - #include <include/interface-mac.xml.i> - #include <include/interface-mtu-68-16000.xml.i> - #include <include/interface-vrf.xml.i> + #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/dhcp-options.xml.i> + #include <include/interface/dhcpv6-options.xml.i> + #include <include/interface/interface-disable-link-detect.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> + #include <include/interface/interface-mac.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> + #include <include/interface/interface-vrf.xml.i> </children> </tagNode> - #include <include/interface-vrf.xml.i> + #include <include/interface/interface-vrf.xml.i> </children> </tagNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/vif.xml.i b/interface-definitions/include/interface/vif.xml.i index bc60dd04d..0355054a4 100644 --- a/interface-definitions/include/vif.xml.i +++ b/interface-definitions/include/interface/vif.xml.i @@ -1,4 +1,4 @@ -<!-- included start from vif.xml.i --> +<!-- include start from interface/vif.xml.i --> <tagNode name="vif"> <properties> <help>Virtual Local Area Network (VLAN) ID</help> @@ -12,13 +12,13 @@ <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage> </properties> <children> - #include <include/address-ipv4-ipv6-dhcp.xml.i> - #include <include/interface-description.xml.i> - #include <include/dhcp-options.xml.i> - #include <include/dhcpv6-options.xml.i> - #include <include/interface-disable-link-detect.xml.i> - #include <include/interface-disable.xml.i> - #include <include/interface-vrf.xml.i> + #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/dhcp-options.xml.i> + #include <include/interface/dhcpv6-options.xml.i> + #include <include/interface/interface-disable-link-detect.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-vrf.xml.i> <leafNode name="egress-qos"> <properties> <help>VLAN egress QoS</help> @@ -43,10 +43,10 @@ <constraintErrorMessage>QoS mapping should be in the format of '0:7 2:3' with numbers 0-9</constraintErrorMessage> </properties> </leafNode> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> - #include <include/interface-mac.xml.i> - #include <include/interface-mtu-68-16000.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> + #include <include/interface/interface-mac.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> </children> </tagNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/ipv6-address-eui64.xml.i b/interface-definitions/include/ipv6-address-eui64.xml.i deleted file mode 100644 index 093a1dc79..000000000 --- a/interface-definitions/include/ipv6-address-eui64.xml.i +++ /dev/null @@ -1,15 +0,0 @@ -<!-- included start from ipv6-address-eui64.xml.i --> -<leafNode name="eui64"> - <properties> - <help>Prefix for IPv6 address with MAC-based EUI-64</help> - <valueHelp> - <format>ipv6net</format> - <description>IPv6 network and prefix length</description> - </valueHelp> - <constraint> - <validator name="ipv6-prefix"/> - </constraint> - <multi/> - </properties> -</leafNode> -<!-- included end --> diff --git a/interface-definitions/include/ipv6-address.xml.i b/interface-definitions/include/ipv6-address.xml.i deleted file mode 100644 index 276456248..000000000 --- a/interface-definitions/include/ipv6-address.xml.i +++ /dev/null @@ -1,12 +0,0 @@ -<!-- included start from ipv6-address.xml.i --> -<node name="address"> - <properties> - <help>IPv6 address configuration modes</help> - </properties> - <children> - #include <include/ipv6-address-autoconf.xml.i> - #include <include/ipv6-address-eui64.xml.i> - #include <include/ipv6-address-no-default-link-local.xml.i> - </children> -</node> -<!-- included end --> diff --git a/interface-definitions/include/isis/isis-common-config.xml.i b/interface-definitions/include/isis/isis-common-config.xml.i new file mode 100644 index 000000000..929835fce --- /dev/null +++ b/interface-definitions/include/isis/isis-common-config.xml.i @@ -0,0 +1,756 @@ +<!-- include start from isis/isis-common-config.xml.i --> +<node name="area-password"> + <properties> + <help>Configure the authentication password for an area</help> + </properties> + <children> + <leafNode name="plaintext-password"> + <properties> + <help>Plain-text authentication type</help> + <valueHelp> + <format>txt</format> + <description>Level-wide password</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="md5"> + <properties> + <help>MD5 authentication type</help> + <valueHelp> + <format>txt</format> + <description>Level-wide password</description> + </valueHelp> + </properties> + </leafNode> + </children> +</node> +<node name="default-information"> + <properties> + <help>Control distribution of default information</help> + </properties> + <children> + <node name="originate"> + <properties> + <help>Distribute a default route</help> + </properties> + <children> + <node name="ipv4"> + <properties> + <help>Distribute default route for IPv4</help> + </properties> + <children> + <leafNode name="level-1"> + <properties> + <help>Distribute default route into level-1</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="level-2"> + <properties> + <help>Distribute default route into level-2</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + <node name="ipv6"> + <properties> + <help>Distribute default route for IPv6</help> + </properties> + <children> + <leafNode name="level-1"> + <properties> + <help>Distribute default route into level-1</help> + <completionHelp> + <list>always</list> + </completionHelp> + <valueHelp> + <format>always</format> + <description>Always advertise default route</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="level-2"> + <properties> + <help>Distribute default route into level-2</help> + <completionHelp> + <list>always</list> + </completionHelp> + <valueHelp> + <format>always</format> + <description>Always advertise default route</description> + </valueHelp> + </properties> + </leafNode> + </children> + </node> + </children> + </node> + </children> +</node> +<node name="domain-password"> + <properties> + <help>Set the authentication password for a routing domain</help> + </properties> + <children> + <leafNode name="plaintext-password"> + <properties> + <help>Plain-text authentication type</help> + <valueHelp> + <format>txt</format> + <description>Level-wide password</description> + </valueHelp> + </properties> + </leafNode> +<!-- + <leafNode name="md5"> + <properties> + <help>MD5 authentication type</help> + <valueHelp> + <format>txt</format> + <description>Level-wide password</description> + </valueHelp> + </properties> + </leafNode> +--> + </children> +</node> +<leafNode name="dynamic-hostname"> + <properties> + <help>Dynamic hostname for IS-IS</help> + <valueless/> + </properties> +</leafNode> +<leafNode name="level"> + <properties> + <help>IS-IS level number</help> + <completionHelp> + <list>level-1 level-1-2 level-2</list> + </completionHelp> + <valueHelp> + <format>level-1</format> + <description>Act as a station router</description> + </valueHelp> + <valueHelp> + <format>level-1-2</format> + <description>Act as both a station and an area router</description> + </valueHelp> + <valueHelp> + <format>level-2</format> + <description>Act as an area router</description> + </valueHelp> + <constraint> + <regex>^(level-1|level-1-2|level-2)$</regex> + </constraint> + </properties> +</leafNode> +<leafNode name="lsp-gen-interval"> + <properties> + <help>Minimum interval between regenerating same LSP</help> + <valueHelp> + <format>u32:1-120</format> + <description>Minimum interval in seconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-120"/> + </constraint> + </properties> +</leafNode> +<leafNode name="lsp-mtu"> + <properties> + <help>Configure the maximum size of generated LSPs</help> + <valueHelp> + <format>u32:128-4352</format> + <description>Maximum size of generated LSPs</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 128-4352"/> + </constraint> + </properties> + <defaultValue>1497</defaultValue> +</leafNode> +<leafNode name="lsp-refresh-interval"> + <properties> + <help>LSP refresh interval</help> + <valueHelp> + <format>u32:1-65235</format> + <description>LSP refresh interval in seconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65235"/> + </constraint> + </properties> +</leafNode> +<leafNode name="max-lsp-lifetime"> + <properties> + <help>Maximum LSP lifetime</help> + <valueHelp> + <format>u32:350-65535</format> + <description>LSP lifetime in seconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> +</leafNode> +<leafNode name="metric-style"> + <properties> + <help>Use old-style (ISO 10589) or new-style packet formats</help> + <completionHelp> + <list>narrow transition wide</list> + </completionHelp> + <valueHelp> + <format>narrow</format> + <description>Use old style of TLVs with narrow metric</description> + </valueHelp> + <valueHelp> + <format>transition</format> + <description>Send and accept both styles of TLVs during transition</description> + </valueHelp> + <valueHelp> + <format>wide</format> + <description>Use new style of TLVs to carry wider metric</description> + </valueHelp> + <constraint> + <regex>^(narrow|transition|wide)$</regex> + </constraint> + </properties> +</leafNode> +<leafNode name="net"> + <properties> + <help>A Network Entity Title for this process (ISO only)</help> + <valueHelp> + <format>XX.XXXX. ... .XXX.XX</format> + <description>Network entity title (NET)</description> + </valueHelp> + <constraint> + <regex>[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){3,9}\.[a-fA-F0-9]{2}</regex> + </constraint> + </properties> +</leafNode> +<leafNode name="purge-originator"> + <properties> + <help>Use the RFC 6232 purge-originator</help> + <valueless/> + </properties> +</leafNode> +<node name="traffic-engineering"> + <properties> + <help>Show IS-IS neighbor adjacencies</help> + </properties> + <children> + <leafNode name="enable"> + <properties> + <help>Enable MPLS traffic engineering extensions</help> + <valueless/> + </properties> + </leafNode> +<!-- + <node name="inter-as"> + <properties> + <help>MPLS traffic engineering inter-AS support</help> + </properties> + <children> + <leafNode name="level-1"> + <properties> + <help>Area native mode self originate inter-AS LSP with L1 only flooding scope</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="level-1-2"> + <properties> + <help>Area native mode self originate inter-AS LSP with L1 and L2 flooding scope</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="level-2"> + <properties> + <help>Area native mode self originate inter-AS LSP with L2 only flooding scope</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + <leafNode name="inter-as"> + <properties> + <help>MPLS traffic engineering inter-AS support</help> + <valueless/> + </properties> + </leafNode> +--> + <leafNode name="address"> + <properties> + <help>MPLS traffic engineering router ID</help> + <valueHelp> + <format>ipv4</format> + <description>IPv4 address</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + </leafNode> + </children> +</node> +<node name="segment-routing"> + <properties> + <help>Segment-Routing (SPRING) settings</help> + </properties> + <children> + <leafNode name="enable"> + <properties> + <help>Enable segment-routing functionality</help> + <valueless/> + </properties> + </leafNode> + <node name="global-block"> + <properties> + <help>Global block label range</help> + </properties> + <children> + <leafNode name="low-label-value"> + <properties> + <help>The lower bound of the global block</help> + <valueHelp> + <format>u32:16-1048575</format> + <description>MPLS label value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 16-1048575"/> + </constraint> + </properties> + </leafNode> + <leafNode name="high-label-value"> + <properties> + <help>The upper bound of the global block</help> + <valueHelp> + <format>u32:16-1048575</format> + <description>MPLS label value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 16-1048575"/> + </constraint> + </properties> + </leafNode> + </children> + </node> +<!-- + <node name="local-block"> + <properties> + <help>Local Block label range</help> + </properties> + <children> + <leafNode name="low-label-value"> + <properties> + <help>The lower bound of the local block</help> + <valueHelp> + <format>u32:16-1048575</format> + <description>MPLS label value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument=" range 16-1048575"/> + </constraint> + </properties> + </leafNode> + <leafNode name="high-label-value"> + <properties> + <help>The upper bound of the local block</help> + <valueHelp> + <format>u32:16-1048575</format> + <description>MPLS label value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument=" range 16-1048575"/> + </constraint> + </properties> + </leafNode> + </children> + </node> +--> + <leafNode name="maximum-label-depth"> + <properties> + <help>Maximum MPLS labels allowed for this router</help> + <valueHelp> + <format>u32:1-16</format> + <description>MPLS label depth</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-16"/> + </constraint> + </properties> + </leafNode> + <tagNode name="prefix"> + <properties> + <help>Static IPv4/IPv6 prefix segment/label mapping</help> + <valueHelp> + <format>ipv4net</format> + <description>IPv4 prefix segment</description> + </valueHelp> + <valueHelp> + <format>ipv6net</format> + <description>IPv6 prefix segment</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + <children> + <node name="absolute"> + <properties> + <help>Specify the absolute value of prefix segment/label ID</help> + </properties> + <children> + <leafNode name="value"> + <properties> + <help>Specify the absolute value of prefix segment/label ID</help> + <valueHelp> + <format>u32:16-1048575</format> + <description>The absolute segment/label ID value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 16-1048575"/> + </constraint> + </properties> + </leafNode> + <leafNode name="explicit-null"> + <properties> + <help>Request upstream neighbor to replace segment/label with explicit null label</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="no-php-flag"> + <properties> + <help>Do not request penultimate hop popping for segment/label</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + <node name="index"> + <properties> + <help>Specify the index value of prefix segment/label ID</help> + </properties> + <children> + <leafNode name="value"> + <properties> + <help>Specify the index value of prefix segment/label ID</help> + <valueHelp> + <format>u32:0-65535</format> + <description>The index segment/label ID value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-65535"/> + </constraint> + </properties> + </leafNode> + <leafNode name="explicit-null"> + <properties> + <help>Request upstream neighbor to replace segment/label with explicit null label</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="no-php-flag"> + <properties> + <help>Do not request penultimate hop popping for segment/label</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + </children> + </tagNode> + </children> +</node> +<node name="redistribute"> + <properties> + <help>Redistribute information from another routing protocol</help> + </properties> + <children> + <node name="ipv4"> + <properties> + <help>Redistribute IPv4 routes</help> + </properties> + <children> + <node name="bgp"> + <properties> + <help>Border Gateway Protocol (BGP)</help> + </properties> + <children> + #include <include/isis/isis-redistribute-ipv4.xml.i> + </children> + </node> + <node name="connected"> + <properties> + <help>Redistribute connected routes into IS-IS</help> + </properties> + <children> + #include <include/isis/isis-redistribute-ipv4.xml.i> + </children> + </node> + <node name="kernel"> + <properties> + <help>Redistribute kernel routes into IS-IS</help> + </properties> + <children> + #include <include/isis/isis-redistribute-ipv4.xml.i> + </children> + </node> + <node name="ospf"> + <properties> + <help>Redistribute OSPF routes into IS-IS</help> + </properties> + <children> + #include <include/isis/isis-redistribute-ipv4.xml.i> + </children> + </node> + <node name="rip"> + <properties> + <help>Redistribute RIP routes into IS-IS</help> + </properties> + <children> + #include <include/isis/isis-redistribute-ipv4.xml.i> + </children> + </node> + <node name="static"> + <properties> + <help>Redistribute static routes into IS-IS</help> + </properties> + <children> + #include <include/isis/isis-redistribute-ipv4.xml.i> + </children> + </node> + </children> + </node> + </children> +</node> +<leafNode name="set-attached-bit"> + <properties> + <help>Set attached bit to identify as L1/L2 router for inter-area traffic</help> + <valueless/> + </properties> +</leafNode> +<leafNode name="set-overload-bit"> + <properties> + <help>Set overload bit to avoid any transit traffic</help> + <valueless/> + </properties> +</leafNode> +<node name="spf-delay-ietf"> + <properties> + <help>IETF SPF delay algorithm</help> + </properties> + <children> + <leafNode name="init-delay"> + <properties> + <help>Delay used while in QUIET state</help> + <valueHelp> + <format>u32:0-60000</format> + <description>Delay used while in QUIET state (in ms)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-60000"/> + </constraint> + </properties> + </leafNode> + <leafNode name="short-delay"> + <properties> + <help>Delay used while in SHORT_WAIT state</help> + <valueHelp> + <format>u32:0-60000</format> + <description>Delay used while in SHORT_WAIT state (in ms)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-60000"/> + </constraint> + </properties> + </leafNode> + <leafNode name="long-delay"> + <properties> + <help>Delay used while in LONG_WAIT</help> + <valueHelp> + <format>u32:0-60000</format> + <description>Delay used while in LONG_WAIT state (in ms)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-60000"/> + </constraint> + </properties> + </leafNode> + <leafNode name="holddown"> + <properties> + <help>Time with no received IGP events before considering IGP stable</help> + <valueHelp> + <format>u32:0-60000</format> + <description>Time with no received IGP events before considering IGP stable (in ms)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-60000"/> + </constraint> + </properties> + </leafNode> + <leafNode name="time-to-learn"> + <properties> + <help>Maximum duration needed to learn all the events related to a single failure</help> + <valueHelp> + <format>u32:0-60000</format> + <description>Maximum duration needed to learn all the events related to a single failure (in ms)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-60000"/> + </constraint> + </properties> + </leafNode> + </children> +</node> +<leafNode name="spf-interval"> + <properties> + <help>Minimum interval between SPF calculations</help> + <valueHelp> + <format>u32:1-120</format> + <description>Minimum interval between consecutive SPFs in seconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-120"/> + </constraint> + </properties> +</leafNode> +<tagNode name="interface"> + <!-- (config-if)# ip router isis WORD (same as name of IS-IS process) + if any section of "interface" pesent --> + <properties> + <help>Interface params</help> + <completionHelp> + <script>${vyos_completion_dir}/list_interfaces.py</script> + </completionHelp> + </properties> + <children> + #include <include/bfd.xml.i> + <leafNode name="circuit-type"> + <properties> + <help>Configure circuit type for interface</help> + <completionHelp> + <list>level-1 level-1-2 level-2-only</list> + </completionHelp> + <valueHelp> + <format>level-1</format> + <description>Level-1 only adjacencies are formed</description> + </valueHelp> + <valueHelp> + <format>level-1-2</format> + <description>Level-1-2 adjacencies are formed</description> + </valueHelp> + <valueHelp> + <format>level-2-only</format> + <description>Level-2 only adjacencies are formed</description> + </valueHelp> + <constraint> + <regex>^(level-1|level-1-2|level-2-only)$</regex> + </constraint> + </properties> + </leafNode> + <leafNode name="hello-padding"> + <properties> + <help>Add padding to IS-IS hello packets</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="hello-interval"> + <properties> + <help>Set Hello interval</help> + <valueHelp> + <format>u32:1-600</format> + <description>Set Hello interval</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-600"/> + </constraint> + </properties> + </leafNode> + <leafNode name="hello-multiplier"> + <properties> + <help>Set Hello interval</help> + <valueHelp> + <format>u32:2-100</format> + <description>Set multiplier for Hello holding time</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 2-100"/> + </constraint> + </properties> + </leafNode> + <leafNode name="metric"> + <properties> + <help>Set default metric for circuit</help> + <valueHelp> + <format>u32:0-16777215</format> + <description>Default metric value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-16777215"/> + </constraint> + </properties> + </leafNode> + <node name="network"> + <properties> + <help>Set network type</help> + </properties> + <children> + <leafNode name="point-to-point"> + <properties> + <help>point-to-point network type</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + #include <include/isis/passive.xml.i> + <node name="password"> + <properties> + <help>Configure the authentication password for a circuit</help> + </properties> + <children> + <leafNode name="plaintext-password"> + <properties> + <help>Plain-text authentication type</help> + <valueHelp> + <format>txt</format> + <description>Circuit password</description> + </valueHelp> + </properties> + </leafNode> + </children> + </node> + <leafNode name="priority"> + <properties> + <help>Set priority for Designated Router election</help> + <valueHelp> + <format>u32:0-127</format> + <description>Priority value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-127"/> + </constraint> + </properties> + </leafNode> + <leafNode name="psnp-interval"> + <properties> + <help>Set PSNP interval in seconds</help> + <valueHelp> + <format>u32:0-127</format> + <description>Priority value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-127"/> + </constraint> + </properties> + </leafNode> + <leafNode name="no-three-way-handshake"> + <properties> + <help>Disable three-way handshake</help> + <valueless/> + </properties> + </leafNode> + </children> +</tagNode> +<!-- include end --> diff --git a/interface-definitions/include/isis-redistribute-ipv4.xml.i b/interface-definitions/include/isis/isis-redistribute-ipv4.xml.i index 97ab64250..15c8c0b0b 100644 --- a/interface-definitions/include/isis-redistribute-ipv4.xml.i +++ b/interface-definitions/include/isis/isis-redistribute-ipv4.xml.i @@ -1,4 +1,4 @@ -<!-- included start from isis-redistribute-ipv4.xml.i --> +<!-- include start from isis/isis-redistribute-ipv4.xml.i --> <node name="level-1"> <properties> <help>Redistribute into level-1</help> @@ -16,14 +16,7 @@ </constraint> </properties> </leafNode> - <leafNode name="route-map"> - <properties> - <help>Route map reference</help> - <completionHelp> - <path>policy route-map</path> - </completionHelp> - </properties> - </leafNode> + #include <include/route-map.xml.i> </children> </node> <node name="level-2"> @@ -43,14 +36,7 @@ </constraint> </properties> </leafNode> - <leafNode name="route-map"> - <properties> - <help>Route map reference</help> - <completionHelp> - <path>policy route-map</path> - </completionHelp> - </properties> - </leafNode> + #include <include/route-map.xml.i> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/isis/passive.xml.i b/interface-definitions/include/isis/passive.xml.i new file mode 100644 index 000000000..6d05f8cc7 --- /dev/null +++ b/interface-definitions/include/isis/passive.xml.i @@ -0,0 +1,8 @@ +<!-- include start from isis/passive.xml.i --> +<leafNode name="passive"> + <properties> + <help>Configure passive mode for interface</help> + <valueless/> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/listen-address-ipv4.xml.i b/interface-definitions/include/listen-address-ipv4.xml.i index 530dbf619..ee52cebe8 100644 --- a/interface-definitions/include/listen-address-ipv4.xml.i +++ b/interface-definitions/include/listen-address-ipv4.xml.i @@ -1,4 +1,4 @@ -<!-- included start from listen-address-ipv4.xml.i --> +<!-- include start from listen-address-ipv4.xml.i --> <leafNode name="listen-address"> <properties> <help>Local IPv4 addresses for service to listen on</help> @@ -15,4 +15,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/listen-address.xml.i b/interface-definitions/include/listen-address.xml.i index 5bfb7eb38..9b86851c7 100644 --- a/interface-definitions/include/listen-address.xml.i +++ b/interface-definitions/include/listen-address.xml.i @@ -1,4 +1,4 @@ -<!-- included start from listen-address.xml.i --> +<!-- include start from listen-address.xml.i --> <leafNode name="listen-address"> <properties> <help>Local IP addresses for service to listen on</help> @@ -20,4 +20,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/nat-address.xml.i b/interface-definitions/include/nat-address.xml.i index 846ef3dec..a6460ac0f 100644 --- a/interface-definitions/include/nat-address.xml.i +++ b/interface-definitions/include/nat-address.xml.i @@ -1,4 +1,4 @@ -<!-- included start from nat-address.xml.i --> +<!-- include start from nat-address.xml.i --> <leafNode name="address"> <properties> <help>IP address, subnet, or range</help> @@ -36,4 +36,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/nat-interface.xml.i b/interface-definitions/include/nat-interface.xml.i index e42003530..68969472f 100644 --- a/interface-definitions/include/nat-interface.xml.i +++ b/interface-definitions/include/nat-interface.xml.i @@ -1,4 +1,4 @@ -<!-- included start from nat-interface.xml.i --> +<!-- include start from nat-interface.xml.i --> <leafNode name="outbound-interface"> <properties> <help>Outbound interface of NAT traffic</help> @@ -8,4 +8,4 @@ </completionHelp> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/nat-port.xml.i b/interface-definitions/include/nat-port.xml.i index 6465c00e9..ebba43712 100644 --- a/interface-definitions/include/nat-port.xml.i +++ b/interface-definitions/include/nat-port.xml.i @@ -1,4 +1,4 @@ -<!-- included start from nat-port.xml.i --> +<!-- include start from nat-port.xml.i --> <leafNode name="port"> <properties> <help>Port number</help> @@ -16,4 +16,4 @@ </valueHelp> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/nat-rule.xml.i b/interface-definitions/include/nat-rule.xml.i index 7ef90f07e..579d19bdd 100644 --- a/interface-definitions/include/nat-rule.xml.i +++ b/interface-definitions/include/nat-rule.xml.i @@ -1,4 +1,4 @@ -<!-- included start from nat-rule.xml.i --> +<!-- include start from nat-rule.xml.i --> <tagNode name="rule"> <properties> <help>Rule number for NAT</help> @@ -298,4 +298,4 @@ </node> </children> </tagNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/nat-translation-port.xml.i b/interface-definitions/include/nat-translation-port.xml.i index a3e05316f..6e507353c 100644 --- a/interface-definitions/include/nat-translation-port.xml.i +++ b/interface-definitions/include/nat-translation-port.xml.i @@ -1,4 +1,4 @@ -<!-- included start from nat-translation-port.xml.i --> +<!-- include start from nat-translation-port.xml.i --> <leafNode name="port"> <properties> <help>Port number</help> @@ -12,4 +12,4 @@ </valueHelp> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/ospf-route-map.xml.i b/interface-definitions/include/ospf-route-map.xml.i deleted file mode 100644 index 943a477c0..000000000 --- a/interface-definitions/include/ospf-route-map.xml.i +++ /dev/null @@ -1,14 +0,0 @@ -<!-- included start from ospf-route-map.xml.i --> -<leafNode name="route-map"> - <properties> - <help>Route map reference</help> - <valueHelp> - <format>txt</format> - <description>Route map reference</description> - </valueHelp> - <completionHelp> - <path>policy route-map</path> - </completionHelp> - </properties> -</leafNode> -<!-- included end --> diff --git a/interface-definitions/include/ospf-authentication.xml.i b/interface-definitions/include/ospf/authentication.xml.i index efb29c1f0..1e6050b97 100644 --- a/interface-definitions/include/ospf-authentication.xml.i +++ b/interface-definitions/include/ospf/authentication.xml.i @@ -1,4 +1,4 @@ -<!-- included start from ospf-authentication.xml.i --> +<!-- include start from ospf/authentication.xml.i --> <node name="authentication"> <properties> <help>Authentication</help> @@ -53,4 +53,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/ospf/distance-global.xml.i b/interface-definitions/include/ospf/distance-global.xml.i new file mode 100644 index 000000000..31809cb70 --- /dev/null +++ b/interface-definitions/include/ospf/distance-global.xml.i @@ -0,0 +1,14 @@ +<!-- include start from ospf/distance-global.xml.i --> +<leafNode name="global"> + <properties> + <help>Administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>Administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/ospf/distance-per-protocol.xml.i b/interface-definitions/include/ospf/distance-per-protocol.xml.i new file mode 100644 index 000000000..da3f16c06 --- /dev/null +++ b/interface-definitions/include/ospf/distance-per-protocol.xml.i @@ -0,0 +1,38 @@ +<!-- include start from ospf/distance-per-protocol.xml.i --> +<leafNode name="external"> + <properties> + <help>Distance for external routes</help> + <valueHelp> + <format>u32:1-255</format> + <description>Distance for external routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> +</leafNode> +<leafNode name="inter-area"> + <properties> + <help>Distance for inter-area routes</help> + <valueHelp> + <format>u32:1-255</format> + <description>Distance for inter-area routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> +</leafNode> +<leafNode name="intra-area"> + <properties> + <help>Distance for intra-area routes</help> + <valueHelp> + <format>u32:1-255</format> + <description>Distance for intra-area routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/ospf-interface-common.xml.i b/interface-definitions/include/ospf/interface-common.xml.i index c3493faa3..4b0aef380 100644 --- a/interface-definitions/include/ospf-interface-common.xml.i +++ b/interface-definitions/include/ospf/interface-common.xml.i @@ -1,10 +1,5 @@ -<!-- included start from ospf-interface-common.xml.i --> -<leafNode name="bfd"> - <properties> - <help>Enable Bidirectional Forwarding Detection (BFD) support</help> - <valueless/> - </properties> -</leafNode> +<!-- include start from ospf/interface-common.xml.i --> +#include <include/bfd.xml.i> <leafNode name="cost"> <properties> <help>Interface cost</help> @@ -36,4 +31,4 @@ </properties> <defaultValue>1</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/ospf-intervals.xml.i b/interface-definitions/include/ospf/intervals.xml.i index e532bd14b..fad1a6305 100644 --- a/interface-definitions/include/ospf-intervals.xml.i +++ b/interface-definitions/include/ospf/intervals.xml.i @@ -1,4 +1,4 @@ -<!-- included start from ospf-intervals.xml.i --> +<!-- include start from ospf/intervals.xml.i --> <leafNode name="dead-interval"> <properties> <help>Interval after which a neighbor is declared dead (default: 40)</help> @@ -51,4 +51,4 @@ </properties> <defaultValue>1</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/ospf-metric-type.xml.i b/interface-definitions/include/ospf/metric-type.xml.i index 50f11960c..83dc24909 100644 --- a/interface-definitions/include/ospf-metric-type.xml.i +++ b/interface-definitions/include/ospf/metric-type.xml.i @@ -1,4 +1,4 @@ -<!-- included start from ospf-metric-type.xml.i --> +<!-- include start from ospf/metric-type.xml.i --> <leafNode name="metric-type"> <properties> <help>OSPF metric type for default routes (default: 2)</help> @@ -12,4 +12,4 @@ </properties> <defaultValue>2</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/ospf-metric.xml.i b/interface-definitions/include/ospf/metric.xml.i index 3ce12e877..64b455b00 100644 --- a/interface-definitions/include/ospf-metric.xml.i +++ b/interface-definitions/include/ospf/metric.xml.i @@ -1,4 +1,4 @@ -<!-- included start from ospf-metric.xml.i --> +<!-- include start from ospf/metric.xml.i --> <leafNode name="metric"> <properties> <help>OSPF default metric</help> @@ -11,4 +11,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/ospf/protocol-common-config.xml.i b/interface-definitions/include/ospf/protocol-common-config.xml.i new file mode 100644 index 000000000..2993a3dfb --- /dev/null +++ b/interface-definitions/include/ospf/protocol-common-config.xml.i @@ -0,0 +1,760 @@ +<!-- include start from ospf/protocol-common-config.xml.i --> +<tagNode name="access-list"> + <properties> + <help>Access list to filter networks in routing updates</help> + <completionHelp> + <path>policy access-list</path> + </completionHelp> + <valueHelp> + <format>u32</format> + <description>Access-list number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-4294967295"/> + </constraint> + </properties> + <children> + <leafNode name="export"> + <properties> + <help>Filter for outgoing routing update [REQUIRED]</help> + <completionHelp> + <list>bgp connected kernel rip static</list> + </completionHelp> + <valueHelp> + <format>bgp</format> + <description>Filter BGP routes</description> + </valueHelp> + <valueHelp> + <format>connected</format> + <description>Filter connected routes</description> + </valueHelp> + <valueHelp> + <format>isis</format> + <description>Filter IS-IS routes</description> + </valueHelp> + <valueHelp> + <format>kernel</format> + <description>Filter Kernel routes</description> + </valueHelp> + <valueHelp> + <format>rip</format> + <description>Filter RIP routes</description> + </valueHelp> + <valueHelp> + <format>static</format> + <description>Filter static routes</description> + </valueHelp> + <constraint> + <regex>^(bgp|connected|isis|kernel|rip|static)$</regex> + </constraint> + <constraintErrorMessage>Must be bgp, connected, kernel, rip, or static</constraintErrorMessage> + <multi/> + </properties> + </leafNode> + </children> +</tagNode> +<tagNode name="area"> + <properties> + <help>OSPF area settings</help> + <valueHelp> + <format>u32</format> + <description>OSPF area number in decimal notation</description> + </valueHelp> + <valueHelp> + <format>ipv4</format> + <description>OSPF area number in dotted decimal notation</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-4294967295"/> + <validator name="ip-address"/> + </constraint> + </properties> + <children> + <node name="area-type"> + <properties> + <help>Area type</help> + </properties> + <children> + <leafNode name="normal"> + <properties> + <help>Normal OSPF area</help> + <valueless/> + </properties> + </leafNode> + <node name="nssa"> + <properties> + <help>Not-So-Stubby OSPF area</help> + </properties> + <children> + <leafNode name="default-cost"> + <properties> + <help>Summary-default cost of an NSSA area</help> + <valueHelp> + <format>u32:0-16777215</format> + <description>Summary default cost</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-16777215"/> + </constraint> + </properties> + </leafNode> + <leafNode name="no-summary"> + <properties> + <help>Do not inject inter-area routes into stub</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="translate"> + <properties> + <help>Configure NSSA-ABR (default: candidate)</help> + <completionHelp> + <list>always candidate never</list> + </completionHelp> + <valueHelp> + <format>always</format> + <description>Always translate LSA types</description> + </valueHelp> + <valueHelp> + <format>candidate</format> + <description>Translate for election (default)</description> + </valueHelp> + <valueHelp> + <format>never</format> + <description>Never translate LSA types</description> + </valueHelp> + <constraint> + <regex>^(always|candidate|never)$</regex> + </constraint> + </properties> + <defaultValue>candidate</defaultValue> + </leafNode> + </children> + </node> + <node name="stub"> + <properties> + <help>Stub OSPF area</help> + </properties> + <children> + <leafNode name="default-cost"> + <properties> + <help>Summary-default cost</help> + <valueHelp> + <format>u32:0-16777215</format> + <description>Summary default cost</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-16777215"/> + </constraint> + </properties> + </leafNode> + <leafNode name="no-summary"> + <properties> + <help>Do not inject inter-area routes into the stub</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + </children> + </node> + <leafNode name="authentication"> + <properties> + <help>OSPF area authentication type</help> + <completionHelp> + <list>plaintext-password md5</list> + </completionHelp> + <valueHelp> + <format>plaintext-password</format> + <description>Use plain-text authentication</description> + </valueHelp> + <valueHelp> + <format>md5</format> + <description>Use MD5 authentication</description> + </valueHelp> + <constraint> + <regex>^(plaintext-password|md5)$</regex> + </constraint> + </properties> + </leafNode> + <leafNode name="network"> + <properties> + <help>OSPF network [REQUIRED]</help> + <valueHelp> + <format>ipv4net</format> + <description>OSPF network [REQUIRED]</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + <multi/> + </properties> + </leafNode> + <tagNode name="range"> + <properties> + <help>Summarize routes matching a prefix (border routers only)</help> + <valueHelp> + <format>ipv4net</format> + <description>Area range prefix</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="cost"> + <properties> + <help>Metric for this range</help> + <valueHelp> + <format>u32:0-16777215</format> + <description>Metric for this range</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-16777215"/> + </constraint> + </properties> + </leafNode> + <leafNode name="not-advertise"> + <properties> + <help>Do not advertise this range</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="substitute"> + <properties> + <help>Advertise area range as another prefix</help> + <valueHelp> + <format>ipv4net</format> + <description>Advertise area range as another prefix</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + <leafNode name="shortcut"> + <properties> + <help>Area shortcut mode</help> + <completionHelp> + <list>default disable enable</list> + </completionHelp> + <valueHelp> + <format>default</format> + <description>Set default</description> + </valueHelp> + <valueHelp> + <format>disable</format> + <description>Disable shortcutting mode</description> + </valueHelp> + <valueHelp> + <format>enable</format> + <description>Enable shortcutting mode</description> + </valueHelp> + <constraint> + <regex>^(default|disable|enable)$</regex> + </constraint> + </properties> + </leafNode> + <tagNode name="virtual-link"> + <properties> + <help>Virtual link</help> + <valueHelp> + <format>ipv4</format> + <description>OSPF area in dotted decimal notation</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-4294967295"/> + <validator name="ip-address"/> + </constraint> + </properties> + <children> + #include <include/ospf/authentication.xml.i> + #include <include/ospf/intervals.xml.i> + </children> + </tagNode> + </children> +</tagNode> +<node name="auto-cost"> + <properties> + <help>Calculate OSPF interface cost according to bandwidth (default: 100)</help> + </properties> + <children> + <leafNode name="reference-bandwidth"> + <properties> + <help>Reference bandwidth method to assign OSPF cost</help> + <valueHelp> + <format>u32:1-4294967</format> + <description>Reference bandwidth cost in Mbits/sec</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-4294967"/> + </constraint> + </properties> + <defaultValue>100</defaultValue> + </leafNode> + </children> +</node> +<node name="default-information"> + <properties> + <help>Default route advertisment settings</help> + </properties> + <children> + <node name="originate"> + <properties> + <help>Distribute a default route</help> + </properties> + <children> + <leafNode name="always"> + <properties> + <help>Always advertise a default route</help> + <valueless/> + </properties> + </leafNode> + #include <include/ospf/metric.xml.i> + #include <include/ospf/metric-type.xml.i> + #include <include/route-map.xml.i> + </children> + </node> + </children> +</node> +<leafNode name="default-metric"> + <properties> + <help>Metric of redistributed routes</help> + <valueHelp> + <format>u32:0-16777214</format> + <description>Metric of redistributed routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-16777214"/> + </constraint> + </properties> +</leafNode> +<node name="distance"> + <properties> + <help>Administrative distance</help> + </properties> + <children> + #include <include/ospf/distance-global.xml.i> + <node name="ospf"> + <properties> + <help>OSPF administrative distance</help> + </properties> + <children> + #include <include/ospf/distance-per-protocol.xml.i> + </children> + </node> + </children> +</node> +<tagNode name="interface"> + <properties> + <help>Interface configuration</help> + <completionHelp> + <script>${vyos_completion_dir}/list_interfaces.py</script> + </completionHelp> + <valueHelp> + <format>txt</format> + <description>Interface name</description> + </valueHelp> + <constraint> + <validator name="interface-name"/> + </constraint> + </properties> + <children> + #include <include/ospf/authentication.xml.i> + #include <include/ospf/intervals.xml.i> + #include <include/ospf/interface-common.xml.i> + <leafNode name="bandwidth"> + <properties> + <help>Interface bandwidth (Mbit/s)</help> + <valueHelp> + <format>u32:1-100000</format> + <description>Bandwidth in Megabit/sec (for calculating OSPF cost)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-100000"/> + </constraint> + </properties> + </leafNode> + <leafNode name="hello-multiplier"> + <properties> + <help>Hello multiplier factor</help> + <valueHelp> + <format>u32:1-10</format> + <description>Number of Hellos to send each second</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-10"/> + </constraint> + </properties> + </leafNode> + <leafNode name="network"> + <properties> + <help>Network type</help> + <completionHelp> + <list>broadcast non-broadcast point-to-multipoint point-to-point</list> + </completionHelp> + <valueHelp> + <format>broadcast</format> + <description>Broadcast network type</description> + </valueHelp> + <valueHelp> + <format>non-broadcast</format> + <description>Non-broadcast network type</description> + </valueHelp> + <valueHelp> + <format>point-to-multipoint</format> + <description>Point-to-multipoint network type</description> + </valueHelp> + <valueHelp> + <format>point-to-point</format> + <description>Point-to-point network type</description> + </valueHelp> + <constraint> + <regex>^(broadcast|non-broadcast|point-to-multipoint|point-to-point)$</regex> + </constraint> + <constraintErrorMessage>Must be broadcast, non-broadcast, point-to-multipoint or point-to-point</constraintErrorMessage> + </properties> + </leafNode> + </children> +</tagNode> +<node name="log-adjacency-changes"> + <properties> + <help>Log adjacency state changes</help> + </properties> + <children> + <leafNode name="detail"> + <properties> + <help>Log all state changes</help> + <valueless/> + </properties> + </leafNode> + </children> +</node> +<node name="max-metric"> + <properties> + <help>OSPF maximum and infinite-distance metric</help> + </properties> + <children> + <node name="router-lsa"> + <properties> + <help>Advertise own Router-LSA with infinite distance (stub router)</help> + </properties> + <children> + <leafNode name="administrative"> + <properties> + <help>Administratively apply, for an indefinite period</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="on-shutdown"> + <properties> + <help>Advertise stub-router prior to full shutdown of OSPF</help> + <valueHelp> + <format>u32:5-100</format> + <description>Time (seconds) to advertise self as stub-router</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 5-100"/> + </constraint> + </properties> + </leafNode> + <leafNode name="on-startup"> + <properties> + <help>Automatically advertise stub Router-LSA on startup of OSPF</help> + <valueHelp> + <format>u32:5-86400</format> + <description>Time (seconds) to advertise self as stub-router</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 5-86400"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + </children> +</node> +<node name="mpls-te"> + <properties> + <help>MultiProtocol Label Switching-Traffic Engineering (MPLS-TE) parameters</help> + </properties> + <children> + <leafNode name="enable"> + <properties> + <help>Enable MPLS-TE functionality</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="router-address"> + <properties> + <help>Stable IP address of the advertising router</help> + <valueHelp> + <format>ipv4</format> + <description>Stable IP address of the advertising router</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + <defaultValue>0.0.0.0</defaultValue> + </leafNode> + </children> +</node> +<tagNode name="neighbor"> + <properties> + <help>Specify neighbor router</help> + <valueHelp> + <format>ipv4</format> + <description>Neighbor IP address</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + <children> + <leafNode name="poll-interval"> + <properties> + <help>Dead neighbor polling interval (default: 60)</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Seconds between dead neighbor polling interval</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + <defaultValue>60</defaultValue> + </leafNode> + <leafNode name="priority"> + <properties> + <help>Neighbor priority in seconds (default: 0)</help> + <valueHelp> + <format>u32:0-255</format> + <description>Neighbor priority</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-255"/> + </constraint> + </properties> + <defaultValue>0</defaultValue> + </leafNode> + </children> +</tagNode> +<node name="parameters"> + <properties> + <help>OSPF specific parameters</help> + </properties> + <children> + <leafNode name="abr-type"> + <properties> + <help>OSPF ABR type (default: cisco)</help> + <completionHelp> + <list>cisco ibm shortcut standard</list> + </completionHelp> + <valueHelp> + <format>cisco</format> + <description>Cisco ABR type (default)</description> + </valueHelp> + <valueHelp> + <format>ibm</format> + <description>IBM ABR type</description> + </valueHelp> + <valueHelp> + <format>shortcut</format> + <description>Shortcut ABR type</description> + </valueHelp> + <valueHelp> + <format>standard</format> + <description>Standard ABR type</description> + </valueHelp> + <constraint> + <regex>^(cisco|ibm|shortcut|standard)$</regex> + </constraint> + </properties> + <defaultValue>cisco</defaultValue> + </leafNode> + <leafNode name="opaque-lsa"> + <properties> + <help>Enable the Opaque-LSA capability (rfc2370)</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="rfc1583-compatibility"> + <properties> + <help>Enable RFC1583 criteria for handling AS external routes</help> + <valueless/> + </properties> + </leafNode> + #include <include/router-id.xml.i> + </children> +</node> +#include <include/routing-passive-interface-xml.i> +<leafNode name="passive-interface-exclude"> + <properties> + <help>Interface to exclude when using 'passive-interface default'</help> + <completionHelp> + <script>${vyos_completion_dir}/list_interfaces.py</script> + </completionHelp> + <valueHelp> + <format>txt</format> + <description>Interface to exclude when suppressing routing updates</description> + </valueHelp> + <valueHelp> + <format>vlinkN</format> + <description>Virtual-link interface to exclude when suppressing routing updates</description> + </valueHelp> + <constraint> + <validator name="interface-name"/> + <regex>^(vlink[0-9]+)$</regex> + </constraint> + <multi/> + </properties> +</leafNode> +<node name="redistribute"> + <properties> + <help>Redistribute information from another routing protocol</help> + </properties> + <children> + <node name="bgp"> + <properties> + <help>Redistribute BGP routes</help> + </properties> + <children> + #include <include/ospf/metric.xml.i> + #include <include/ospf/metric-type.xml.i> + #include <include/route-map.xml.i> + </children> + </node> + <node name="connected"> + <properties> + <help>Redistribute connected routes</help> + </properties> + <children> + #include <include/ospf/metric.xml.i> + #include <include/ospf/metric-type.xml.i> + #include <include/route-map.xml.i> + </children> + </node> + <node name="isis"> + <properties> + <help>Redistribute IS-IS routes</help> + </properties> + <children> + #include <include/ospf/metric.xml.i> + #include <include/ospf/metric-type.xml.i> + #include <include/route-map.xml.i> + </children> + </node> + <node name="kernel"> + <properties> + <help>Redistribute kernel routes</help> + </properties> + <children> + #include <include/ospf/metric.xml.i> + #include <include/ospf/metric-type.xml.i> + #include <include/route-map.xml.i> + </children> + </node> + <node name="rip"> + <properties> + <help>Redistribute RIP routes</help> + </properties> + <children> + #include <include/ospf/metric.xml.i> + #include <include/ospf/metric-type.xml.i> + #include <include/route-map.xml.i> + </children> + </node> + <node name="static"> + <properties> + <help>Redistribute static routes</help> + </properties> + <children> + #include <include/ospf/metric.xml.i> + #include <include/ospf/metric-type.xml.i> + #include <include/route-map.xml.i> + </children> + </node> + </children> +</node> +<node name="refresh"> + <properties> + <help>Adjust refresh parameters</help> + </properties> + <children> + <leafNode name="timers"> + <properties> + <help>Refresh timer</help> + <valueHelp> + <format>u32:10-1800</format> + <description>Timer value in seconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 10-1800"/> + </constraint> + </properties> + </leafNode> + </children> +</node> +<node name="timers"> + <properties> + <help>Adjust routing timers</help> + </properties> + <children> + <node name="throttle"> + <properties> + <help>Throttling adaptive timers</help> + </properties> + <children> + <node name="spf"> + <properties> + <help>OSPF SPF timers</help> + </properties> + <children> + <leafNode name="delay"> + <properties> + <help>Delay from the first change received to SPF calculation (default: 200)</help> + <valueHelp> + <format>u32:0-600000</format> + <description>Delay in milliseconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-600000"/> + </constraint> + </properties> + <defaultValue>200</defaultValue> + </leafNode> + <leafNode name="initial-holdtime"> + <properties> + <help>Initial hold time between consecutive SPF calculations (default: 1000)</help> + <valueHelp> + <format>u32:0-600000</format> + <description>Initial hold time in milliseconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-600000"/> + </constraint> + </properties> + <defaultValue>1000</defaultValue> + </leafNode> + <leafNode name="max-holdtime"> + <properties> + <help>Maximum hold time (default: 10000)</help> + <valueHelp> + <format>u32:0-600000</format> + <description>Max hold time in milliseconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-600000"/> + </constraint> + </properties> + <defaultValue>10000</defaultValue> + </leafNode> + </children> + </node> + </children> + </node> + </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/policy/action.xml.i b/interface-definitions/include/policy/action.xml.i new file mode 100644 index 000000000..fddbd5a98 --- /dev/null +++ b/interface-definitions/include/policy/action.xml.i @@ -0,0 +1,21 @@ +<!-- included start from policy-list-action.xml.i --> +<leafNode name="action"> + <properties> + <help>Action to take on entries matching this rule [REQUIRED]</help> + <completionHelp> + <list>permit deny</list> + </completionHelp> + <valueHelp> + <format>permit</format> + <description>Permit matching entries</description> + </valueHelp> + <valueHelp> + <format>deny</format> + <description>Deny matching entries</description> + </valueHelp> + <constraint> + <regex>^(permit|deny)$</regex> + </constraint> + </properties> +</leafNode> +<!-- included end --> diff --git a/interface-definitions/include/policy/description.xml.i b/interface-definitions/include/policy/description.xml.i new file mode 100644 index 000000000..15a77cd66 --- /dev/null +++ b/interface-definitions/include/policy/description.xml.i @@ -0,0 +1,11 @@ +<!-- included start from policy/description.xml.i --> +<leafNode name="description"> + <properties> + <help>Description</help> + <valueHelp> + <format>txt</format> + <description>Description</description> + </valueHelp> + </properties> +</leafNode> +<!-- included end --> diff --git a/interface-definitions/include/policy/host.xml.i b/interface-definitions/include/policy/host.xml.i new file mode 100644 index 000000000..ac017c630 --- /dev/null +++ b/interface-definitions/include/policy/host.xml.i @@ -0,0 +1,14 @@ +<!-- include start from policy/host.xml.i --> +<leafNode name="host"> + <properties> + <help>Single host IP address to match</help> + <valueHelp> + <format>ipv4</format> + <description>Host address to match</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/policy/inverse-mask.xml.i b/interface-definitions/include/policy/inverse-mask.xml.i new file mode 100644 index 000000000..cec69a81b --- /dev/null +++ b/interface-definitions/include/policy/inverse-mask.xml.i @@ -0,0 +1,14 @@ +<!-- include start from policy/inverse-mask.xml.i --> +<leafNode name="inverse-mask"> + <properties> + <help>Network/netmask to match (requires network be defined)</help> + <valueHelp> + <format>ipv4</format> + <description>Inverse-mask to match</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/policy/network.xml.i b/interface-definitions/include/policy/network.xml.i new file mode 100644 index 000000000..f2aea6be8 --- /dev/null +++ b/interface-definitions/include/policy/network.xml.i @@ -0,0 +1,14 @@ +<!-- include start from policy/network.xml.i --> +<leafNode name="network"> + <properties> + <help>Network/netmask to match (requires inverse-mask be defined)</help> + <valueHelp> + <format>ipv4net</format> + <description>Inverse-mask to match</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/port-number.xml.i b/interface-definitions/include/port-number.xml.i index 81c192628..b62aef32b 100644 --- a/interface-definitions/include/port-number.xml.i +++ b/interface-definitions/include/port-number.xml.i @@ -1,4 +1,4 @@ -<!-- included start from port-number.xml.i --> +<!-- include start from port-number.xml.i --> <leafNode name="port"> <properties> <help>Port number used by connection</help> @@ -11,4 +11,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/radius-server-ipv4-ipv6.xml.i b/interface-definitions/include/radius-server-ipv4-ipv6.xml.i index c57d39b6b..5b12bec62 100644 --- a/interface-definitions/include/radius-server-ipv4-ipv6.xml.i +++ b/interface-definitions/include/radius-server-ipv4-ipv6.xml.i @@ -1,4 +1,4 @@ -<!-- included start from radius-server-ipv4-ipv6.xml.i --> +<!-- include start from radius-server-ipv4-ipv6.xml.i --> <node name="radius"> <properties> <help>RADIUS based user authentication</help> @@ -49,4 +49,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/radius-server-ipv4.xml.i b/interface-definitions/include/radius-server-ipv4.xml.i index 15a421b9a..ab4c8e10e 100644 --- a/interface-definitions/include/radius-server-ipv4.xml.i +++ b/interface-definitions/include/radius-server-ipv4.xml.i @@ -1,4 +1,4 @@ -<!-- included start from radius-server-ipv4.xml.i --> +<!-- include start from radius-server-ipv4.xml.i --> <node name="radius"> <properties> <help>RADIUS based user authentication</help> @@ -24,4 +24,4 @@ </tagNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/radius-server-key.xml.i b/interface-definitions/include/radius-server-key.xml.i index 32a01b402..c6301646b 100644 --- a/interface-definitions/include/radius-server-key.xml.i +++ b/interface-definitions/include/radius-server-key.xml.i @@ -1,7 +1,7 @@ -<!-- included start from radius-server-key.xml.i --> +<!-- include start from radius-server-key.xml.i --> <leafNode name="key"> <properties> <help>Shared secret key</help> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/radius-server-port.xml.i b/interface-definitions/include/radius-server-port.xml.i index 71b6bddb7..4e5d906bc 100644 --- a/interface-definitions/include/radius-server-port.xml.i +++ b/interface-definitions/include/radius-server-port.xml.i @@ -1,4 +1,4 @@ -<!-- included start from radius-server-port.xml.i --> +<!-- include start from radius-server-port.xml.i --> <leafNode name="port"> <properties> <help>Authentication port</help> @@ -12,4 +12,4 @@ </properties> <defaultValue>1812</defaultValue> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/rip-access-list.xml.i b/interface-definitions/include/rip/rip-access-list.xml.i index 0db6863e5..00ee9b736 100644 --- a/interface-definitions/include/rip-access-list.xml.i +++ b/interface-definitions/include/rip/rip-access-list.xml.i @@ -1,4 +1,4 @@ -<!-- included start from rip-access-list.xml.i --> +<!-- include start from rip/rip-access-list.xml.i --> <node name="access-list"> <properties> <help>Access-list</help> @@ -36,4 +36,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/rip-access-list6.xml.i b/interface-definitions/include/rip/rip-access-list6.xml.i index 6a8a37607..9e4298bc0 100644 --- a/interface-definitions/include/rip-access-list6.xml.i +++ b/interface-definitions/include/rip/rip-access-list6.xml.i @@ -1,4 +1,4 @@ -<!-- included start from rip-access-list.xml.i --> +<!-- include start from rip/rip-access-list.xml.i --> <node name="access-list"> <properties> <help>Access-list</help> @@ -36,4 +36,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/rip-default-information.xml.i b/interface-definitions/include/rip/rip-default-information.xml.i index 22a2f6ac7..28c540c26 100644 --- a/interface-definitions/include/rip-default-information.xml.i +++ b/interface-definitions/include/rip/rip-default-information.xml.i @@ -1,4 +1,4 @@ -<!-- included start from rip-default-information.xml.i --> +<!-- include start from rip/rip-default-information.xml.i --> <node name="default-information"> <properties> <help>Control distribution of default route</help> @@ -12,4 +12,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/rip-default-metric.xml.i b/interface-definitions/include/rip/rip-default-metric.xml.i index a5e6016d6..297af5af8 100644 --- a/interface-definitions/include/rip-default-metric.xml.i +++ b/interface-definitions/include/rip/rip-default-metric.xml.i @@ -1,4 +1,4 @@ -<!-- included start from rip-default-metric.xml.i --> +<!-- include start from rip/rip-default-metric.xml.i --> <leafNode name="default-metric"> <properties> <help>Metric of redistributed routes</help> @@ -11,4 +11,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/rip-interface.xml.i b/interface-definitions/include/rip/rip-interface.xml.i index 6279c16c8..dd3bddd4f 100644 --- a/interface-definitions/include/rip-interface.xml.i +++ b/interface-definitions/include/rip/rip-interface.xml.i @@ -1,4 +1,4 @@ -<!-- included start from rip-interface.xml.i --> +<!-- include start from rip/rip-interface.xml.i --> <tagNode name="interface"> <properties> <help>Interface name</help> @@ -35,4 +35,4 @@ </node> </children> </tagNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/rip-prefix-list.xml.i b/interface-definitions/include/rip/rip-prefix-list.xml.i index 58969a86b..2569a2a09 100644 --- a/interface-definitions/include/rip-prefix-list.xml.i +++ b/interface-definitions/include/rip/rip-prefix-list.xml.i @@ -1,4 +1,4 @@ -<!-- included start from rip-prefix-list.xml.i --> +<!-- include start from rip/rip-prefix-list.xml.i --> <node name="prefix-list"> <properties> <help>Prefix-list</help> @@ -30,4 +30,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/rip-prefix-list6.xml.i b/interface-definitions/include/rip/rip-prefix-list6.xml.i index f73f77d05..fcf1499e0 100644 --- a/interface-definitions/include/rip-prefix-list6.xml.i +++ b/interface-definitions/include/rip/rip-prefix-list6.xml.i @@ -1,4 +1,4 @@ -<!-- included start from rip-prefix-list.xml.i --> +<!-- include start from rip/rip-prefix-list.xml.i --> <node name="prefix-list"> <properties> <help>Prefix-list</help> @@ -30,4 +30,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/rip-redistribute.xml.i b/interface-definitions/include/rip/rip-redistribute.xml.i index c7b9d2c09..d7a79b007 100644 --- a/interface-definitions/include/rip-redistribute.xml.i +++ b/interface-definitions/include/rip/rip-redistribute.xml.i @@ -1,4 +1,4 @@ -<!-- included start from rip-redistribute.xml.i --> +<!-- include start from rip/rip-redistribute.xml.i --> <leafNode name="metric"> <properties> <help>Metric for redistributed routes</help> @@ -11,5 +11,5 @@ </constraint> </properties> </leafNode> -#include <include/ospf-route-map.xml.i> -<!-- included end --> +#include <include/route-map.xml.i> +<!-- include end --> diff --git a/interface-definitions/include/rip-timers.xml.i b/interface-definitions/include/rip/rip-timers.xml.i index 5ba19bb06..3aaaf8e65 100644 --- a/interface-definitions/include/rip-timers.xml.i +++ b/interface-definitions/include/rip/rip-timers.xml.i @@ -1,4 +1,4 @@ -<!-- included start from rip-timers.xml.i --> +<!-- include start from rip/rip-timers.xml.i --> <node name="timers"> <properties> <help>RIPng timer values</help> @@ -45,4 +45,4 @@ </leafNode> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/route-map.xml.i b/interface-definitions/include/route-map.xml.i new file mode 100644 index 000000000..edbe76892 --- /dev/null +++ b/interface-definitions/include/route-map.xml.i @@ -0,0 +1,18 @@ +<!-- include start from route-map.xml.i --> +<leafNode name="route-map"> + <properties> + <help>Specify route-map name to use</help> + <completionHelp> + <path>policy route-map</path> + </completionHelp> + <valueHelp> + <format>txt</format> + <description>Route map name</description> + </valueHelp> + <constraint> + <regex>^[-a-zA-Z0-9.]+$</regex> + </constraint> + <constraintErrorMessage>Route-map name can only contain alpha-numeric letters and a hyphen</constraintErrorMessage> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/router-id.xml.i b/interface-definitions/include/router-id.xml.i new file mode 100644 index 000000000..272a8b678 --- /dev/null +++ b/interface-definitions/include/router-id.xml.i @@ -0,0 +1,14 @@ +<!-- include start from router-id.xml.i --> +<leafNode name="router-id"> + <properties> + <help>Override default router identifier</help> + <valueHelp> + <format>ipv4</format> + <description>Router-ID in IP address format</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/source-address-ipv4-ipv6.xml.i b/interface-definitions/include/source-address-ipv4-ipv6.xml.i index 93cfd7c63..af3f9bb68 100644 --- a/interface-definitions/include/source-address-ipv4-ipv6.xml.i +++ b/interface-definitions/include/source-address-ipv4-ipv6.xml.i @@ -1,4 +1,4 @@ -<!-- included start from source-address-ipv4-ipv6.xml.i --> +<!-- include start from source-address-ipv4-ipv6.xml.i --> <leafNode name="source-address"> <properties> <help>Source IP address used to initiate connection</help> @@ -18,4 +18,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/source-address-ipv4.xml.i b/interface-definitions/include/source-address-ipv4.xml.i index 2dff2c65e..86235df61 100644 --- a/interface-definitions/include/source-address-ipv4.xml.i +++ b/interface-definitions/include/source-address-ipv4.xml.i @@ -1,4 +1,4 @@ -<!-- included start from source-address-ipv4.xml.i --> +<!-- include start from source-address-ipv4.xml.i --> <leafNode name="source-address"> <properties> <help>IPv4 source address used to initiiate connection</help> @@ -14,4 +14,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/source-interface-ethernet.xml.i b/interface-definitions/include/source-interface-ethernet.xml.i index d641f3cb1..ee04f2cd5 100644 --- a/interface-definitions/include/source-interface-ethernet.xml.i +++ b/interface-definitions/include/source-interface-ethernet.xml.i @@ -1,4 +1,4 @@ -<!-- included start from source-interface-ethernet.xml.i --> +<!-- include start from source-interface-ethernet.xml.i --> <leafNode name="source-interface"> <properties> <help>Physical interface the traffic will go through</help> @@ -11,4 +11,4 @@ </completionHelp> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/source-interface.xml.i b/interface-definitions/include/source-interface.xml.i index 797206430..a9c2a0f9d 100644 --- a/interface-definitions/include/source-interface.xml.i +++ b/interface-definitions/include/source-interface.xml.i @@ -1,4 +1,4 @@ -<!-- included start from source-interface.xml.i --> +<!-- include start from source-interface.xml.i --> <leafNode name="source-interface"> <properties> <help>Interface used to establish connection</help> @@ -14,4 +14,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/static-route-map.xml.i b/interface-definitions/include/static-route-map.xml.i deleted file mode 100644 index 25542b8b1..000000000 --- a/interface-definitions/include/static-route-map.xml.i +++ /dev/null @@ -1,10 +0,0 @@ -<!-- included start from static-route-map.xml.i --> -<leafNode name="route-map"> - <properties> - <help>Filter routes installed in local route map</help> - <completionHelp> - <path>policy route-map</path> - </completionHelp> - </properties> -</leafNode> -<!-- included end --> diff --git a/interface-definitions/include/static-route-blackhole.xml.i b/interface-definitions/include/static/static-route-blackhole.xml.i index d0a0c2079..f2ad23e69 100644 --- a/interface-definitions/include/static-route-blackhole.xml.i +++ b/interface-definitions/include/static/static-route-blackhole.xml.i @@ -1,10 +1,10 @@ -<!-- included start from static-route-blackhole.xml.i --> +<!-- include start from static/static-route-blackhole.xml.i --> <node name="blackhole"> <properties> <help>Silently discard packets when matched</help> </properties> <children> - #include <include/static-route-distance.xml.i> + #include <include/static/static-route-distance.xml.i> </children> </node> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/static-route-distance.xml.i b/interface-definitions/include/static/static-route-distance.xml.i index d6c0d3d82..a651b98d7 100644 --- a/interface-definitions/include/static-route-distance.xml.i +++ b/interface-definitions/include/static/static-route-distance.xml.i @@ -1,4 +1,4 @@ -<!-- included start from static-route-distance.xml.i --> +<!-- include start from static/static-route-distance.xml.i --> <leafNode name="distance"> <properties> <help>Distance for this route</help> @@ -11,4 +11,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/static-route-interface.xml.i b/interface-definitions/include/static/static-route-interface.xml.i index 0f10837df..ed4f455e5 100644 --- a/interface-definitions/include/static-route-interface.xml.i +++ b/interface-definitions/include/static/static-route-interface.xml.i @@ -1,4 +1,4 @@ -<!-- included start from static-route-interface.xml.i --> +<!-- include start from static/static-route-interface.xml.i --> <leafNode name="interface"> <properties> <help>Gateway interface name</help> @@ -14,4 +14,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/static-route-vrf.xml.i b/interface-definitions/include/static/static-route-vrf.xml.i index 70f8b0be8..69aba253c 100644 --- a/interface-definitions/include/static-route-vrf.xml.i +++ b/interface-definitions/include/static/static-route-vrf.xml.i @@ -1,4 +1,4 @@ -<!-- included start from static-route-vrf.xml.i --> +<!-- include start from static/static-route-vrf.xml.i --> <leafNode name="vrf"> <properties> <help>VRF to leak route</help> @@ -16,4 +16,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/static-route.xml.i b/interface-definitions/include/static/static-route.xml.i index 21fcbcd3f..254ea3163 100644 --- a/interface-definitions/include/static-route.xml.i +++ b/interface-definitions/include/static/static-route.xml.i @@ -1,4 +1,4 @@ -<!-- included start from static-route.xml.i --> +<!-- include start from static/static-route.xml.i --> <tagNode name="route"> <properties> <help>VRF static IPv4 route</help> @@ -16,7 +16,7 @@ <help>Silently discard pkts when matched</help> </properties> <children> - #include <include/static-route-distance.xml.i> + #include <include/static/static-route-distance.xml.i> <leafNode name="tag"> <properties> <help>Tag value for this route</help> @@ -62,8 +62,8 @@ </properties> <children> #include <include/generic-disable-node.xml.i> - #include <include/static-route-distance.xml.i> - #include <include/static-route-vrf.xml.i> + #include <include/static/static-route-distance.xml.i> + #include <include/static/static-route-vrf.xml.i> </children> </tagNode> <tagNode name="next-hop"> @@ -79,12 +79,12 @@ </properties> <children> #include <include/generic-disable-node.xml.i> - #include <include/static-route-distance.xml.i> - #include <include/static-route-interface.xml.i> - #include <include/static-route-vrf.xml.i> + #include <include/static/static-route-distance.xml.i> + #include <include/static/static-route-interface.xml.i> + #include <include/static/static-route-vrf.xml.i> </children> </tagNode> </children> </tagNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/static-route6.xml.i b/interface-definitions/include/static/static-route6.xml.i index fcf97cd03..0ea995588 100644 --- a/interface-definitions/include/static-route6.xml.i +++ b/interface-definitions/include/static/static-route6.xml.i @@ -1,4 +1,4 @@ -<!-- included start from static-route6.xml.i --> +<!-- include start from static/static-route6.xml.i --> <tagNode name="route6"> <properties> <help>VRF static IPv6 route</help> @@ -16,7 +16,7 @@ <help>Silently discard pkts when matched</help> </properties> <children> - #include <include/static-route-distance.xml.i> + #include <include/static/static-route-distance.xml.i> <leafNode name="tag"> <properties> <help>Tag value for this route</help> @@ -47,8 +47,8 @@ </properties> <children> #include <include/generic-disable-node.xml.i> - #include <include/static-route-distance.xml.i> - #include <include/static-route-vrf.xml.i> + #include <include/static/static-route-distance.xml.i> + #include <include/static/static-route-vrf.xml.i> </children> </tagNode> <tagNode name="next-hop"> @@ -64,12 +64,12 @@ </properties> <children> #include <include/generic-disable-node.xml.i> - #include <include/static-route-distance.xml.i> - #include <include/static-route-interface.xml.i> - #include <include/static-route-vrf.xml.i> + #include <include/static/static-route-distance.xml.i> + #include <include/static/static-route-interface.xml.i> + #include <include/static/static-route-vrf.xml.i> </children> </tagNode> </children> </tagNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/vni.xml.i b/interface-definitions/include/vni.xml.i index faff4c3c3..be45c0c97 100644 --- a/interface-definitions/include/vni.xml.i +++ b/interface-definitions/include/vni.xml.i @@ -1,12 +1,14 @@ - <leafNode name="vni"> - <properties> - <help>Virtual Network Identifier</help> - <valueHelp> - <format>0-16777214</format> - <description>VXLAN virtual network identifier</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-16777214"/> - </constraint> - </properties> - </leafNode> +<!-- include start from vni.xml.i --> +<leafNode name="vni"> + <properties> + <help>Virtual Network Identifier</help> + <valueHelp> + <format>0-16777214</format> + <description>VXLAN virtual network identifier</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-16777214"/> + </constraint> + </properties> +</leafNode> +<!-- include end --> diff --git a/interface-definitions/include/vpn-ipsec-encryption.xml.i b/interface-definitions/include/vpn-ipsec-encryption.xml.i index 1c1d728fc..041ba9902 100644 --- a/interface-definitions/include/vpn-ipsec-encryption.xml.i +++ b/interface-definitions/include/vpn-ipsec-encryption.xml.i @@ -1,4 +1,4 @@ -<!-- included start from vpn-ipsec-encryption.xml.i --> +<!-- include start from vpn-ipsec-encryption.xml.i --> <leafNode name="encryption"> <properties> <help>Encryption algorithm</help> @@ -230,4 +230,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/vpn-ipsec-hash.xml.i b/interface-definitions/include/vpn-ipsec-hash.xml.i index ca5976d27..93d57b622 100644 --- a/interface-definitions/include/vpn-ipsec-hash.xml.i +++ b/interface-definitions/include/vpn-ipsec-hash.xml.i @@ -1,4 +1,4 @@ -<!-- included start from pn-ipsec-hash.xml.i --> +<!-- include start from pn-ipsec-hash.xml.i --> <leafNode name="hash"> <properties> <help>Hash algorithm</help> @@ -62,4 +62,4 @@ </constraint> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/include/webproxy-url-filtering.xml.i b/interface-definitions/include/webproxy-url-filtering.xml.i index 07db0948f..265bbff94 100644 --- a/interface-definitions/include/webproxy-url-filtering.xml.i +++ b/interface-definitions/include/webproxy-url-filtering.xml.i @@ -1,4 +1,4 @@ -<!-- included start from webproxy-url-filtering.xml.i --> +<!-- include start from webproxy-url-filtering.xml.i --> <leafNode name="allow-category"> <properties> <help>Category to allow</help> @@ -116,4 +116,4 @@ <multi/> </properties> </leafNode> -<!-- included end --> +<!-- include end --> diff --git a/interface-definitions/interfaces-bonding.xml.in b/interface-definitions/interfaces-bonding.xml.in index f6ceefcaa..846f6eb54 100644 --- a/interface-definitions/interfaces-bonding.xml.in +++ b/interface-definitions/interfaces-bonding.xml.in @@ -16,7 +16,7 @@ </valueHelp> </properties> <children> - #include <include/address-ipv4-ipv6-dhcp.xml.i> + #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> <node name="arp-monitor"> <properties> <help>ARP link monitoring parameters</help> @@ -49,13 +49,13 @@ </leafNode> </children> </node> - #include <include/interface-description.xml.i> - #include <include/dhcp-options.xml.i> - #include <include/dhcpv6-options.xml.i> - #include <include/interface-disable-link-detect.xml.i> - #include <include/interface-disable.xml.i> - #include <include/interface-vrf.xml.i> - #include <include/interface-mirror.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/dhcp-options.xml.i> + #include <include/interface/dhcpv6-options.xml.i> + #include <include/interface/interface-disable-link-detect.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-vrf.xml.i> + #include <include/interface/interface-mirror.xml.i> <leafNode name="hash-policy"> <properties> <help>Bonding transmit hash policy</help> @@ -75,15 +75,15 @@ <description>combine IP address and port to make hash</description> </valueHelp> <constraint> - <regex>(layer2\+3|layer3\+4|layer2)</regex> + <regex>^(layer2\+3|layer3\+4|layer2)$</regex> </constraint> <constraintErrorMessage>hash-policy must be layer2 layer2+3 or layer3+4</constraintErrorMessage> </properties> <defaultValue>layer2</defaultValue> </leafNode> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> - #include <include/interface-mac.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> + #include <include/interface/interface-mac.xml.i> <leafNode name="min-links"> <properties> <help>Minimum number of member interfaces required up before enabling bond</help> @@ -132,7 +132,7 @@ <description>Distribute based on MAC address</description> </valueHelp> <constraint> - <regex>(802.3ad|active-backup|broadcast|round-robin|transmit-load-balance|adaptive-load-balance|xor-hash)</regex> + <regex>^(802.3ad|active-backup|broadcast|round-robin|transmit-load-balance|adaptive-load-balance|xor-hash)$</regex> </constraint> <constraintErrorMessage>mode must be 802.3ad, active-backup, broadcast, round-robin, transmit-load-balance, adaptive-load-balance, or xor</constraintErrorMessage> </properties> @@ -154,7 +154,7 @@ </leafNode> </children> </node> - #include <include/interface-mtu-68-16000.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> <leafNode name="primary"> <properties> <help>Primary device interface</help> @@ -163,9 +163,9 @@ </completionHelp> </properties> </leafNode> - #include <include/vif-s.xml.i> - #include <include/vif.xml.i> - #include <include/interface-xdp.xml.i> + #include <include/interface/vif-s.xml.i> + #include <include/interface/vif.xml.i> + #include <include/interface/interface-xdp.xml.i> </children> </tagNode> </children> diff --git a/interface-definitions/interfaces-bridge.xml.in b/interface-definitions/interfaces-bridge.xml.in index 63c543f33..1af002142 100644 --- a/interface-definitions/interfaces-bridge.xml.in +++ b/interface-definitions/interfaces-bridge.xml.in @@ -16,7 +16,7 @@ </valueHelp> </properties> <children> - #include <include/address-ipv4-ipv6-dhcp.xml.i> + #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> <leafNode name="aging"> <properties> <help>MAC address aging interval</help> @@ -34,13 +34,13 @@ </properties> <defaultValue>300</defaultValue> </leafNode> - #include <include/interface-description.xml.i> - #include <include/dhcp-options.xml.i> - #include <include/dhcpv6-options.xml.i> - #include <include/interface-disable-link-detect.xml.i> - #include <include/interface-disable.xml.i> - #include <include/interface-vrf.xml.i> - #include <include/interface-mtu-68-16000.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/dhcp-options.xml.i> + #include <include/interface/dhcpv6-options.xml.i> + #include <include/interface/interface-disable-link-detect.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-vrf.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> <leafNode name="forwarding-delay"> <properties> <help>Forwarding delay</help> @@ -82,10 +82,10 @@ </leafNode> </children> </node> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> - #include <include/interface-mac.xml.i> - #include <include/interface-mirror.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> + #include <include/interface/interface-mac.xml.i> + #include <include/interface/interface-mirror.xml.i> <leafNode name="enable-vlan"> <properties> <help>Enable VLAN aware bridge</help> @@ -178,6 +178,12 @@ </properties> <defaultValue>32</defaultValue> </leafNode> + <leafNode name="isolated"> + <properties> + <help>Port is isolated (also known as Private-VLAN)</help> + <valueless/> + </properties> + </leafNode> </children> </tagNode> </children> @@ -202,7 +208,7 @@ <valueless/> </properties> </leafNode> - #include <include/vif.xml.i> + #include <include/interface/vif.xml.i> </children> </tagNode> </children> diff --git a/interface-definitions/interfaces-dummy.xml.in b/interface-definitions/interfaces-dummy.xml.in index 54de43c7a..84c6903c7 100644 --- a/interface-definitions/interfaces-dummy.xml.in +++ b/interface-definitions/interfaces-dummy.xml.in @@ -16,18 +16,18 @@ </valueHelp> </properties> <children> - #include <include/address-ipv4-ipv6.xml.i> - #include <include/interface-description.xml.i> - #include <include/interface-disable.xml.i> + #include <include/interface/address-ipv4-ipv6.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/interface-disable.xml.i> <node name="ip"> <properties> <help>IPv4 routing parameters</help> </properties> <children> - #include <include/interface-source-validation.xml.i> + #include <include/interface/interface-source-validation.xml.i> </children> </node> - #include <include/interface-vrf.xml.i> + #include <include/interface/interface-vrf.xml.i> </children> </tagNode> </children> diff --git a/interface-definitions/interfaces-erspan.xml.in b/interface-definitions/interfaces-erspan.xml.in deleted file mode 100644 index 2394d3534..000000000 --- a/interface-definitions/interfaces-erspan.xml.in +++ /dev/null @@ -1,114 +0,0 @@ -<?xml version="1.0"?> -<interfaceDefinition> - <node name="interfaces"> - <children> - <tagNode name="erspan" owner="${vyos_conf_scripts_dir}/interfaces-erspan.py"> - <properties> - <help>Encapsulated Remote SPAN over GRE and IPv4/IPv6 Tunnel Interface</help> - <priority>310</priority> - <constraint> - <regex>^ersp[0-9]+$</regex> - </constraint> - <constraintErrorMessage>ERSPAN tunnel interface must be named erspN</constraintErrorMessage> - <valueHelp> - <format>erspN</format> - <description>ERSPAN Tunnel interface name</description> - </valueHelp> - </properties> - <children> - #include <include/interface-description.xml.i> - #include <include/interface-disable.xml.i> - #include <include/interface-disable-link-detect.xml.i> - #include <include/interface-mtu-64-8024.xml.i> - #include <include/source-address-ipv4-ipv6.xml.i> - #include <include/tunnel-remote.xml.i> - <leafNode name="encapsulation"> - <properties> - <help>Encapsulation of this tunnel interface</help> - <completionHelp> - <list>erspan ip6erspan</list> - </completionHelp> - <valueHelp> - <format>erspan</format> - <description>Generic Routing Encapsulation</description> - </valueHelp> - <valueHelp> - <format>ip6erspan</format> - <description>Generic Routing Encapsulation bridge interface</description> - </valueHelp> - <constraint> - <regex>^(erspan|ip6erspan)$</regex> - </constraint> - <constraintErrorMessage>Invalid encapsulation, must be one of: erspan, ip6erspan</constraintErrorMessage> - </properties> - </leafNode> - <node name="parameters"> - <properties> - <help>ERSPAN Tunnel parameters</help> - </properties> - <children> - <node name="ip"> - <properties> - <help>IPv4 specific tunnel parameters</help> - </properties> - <children> - #include <include/interface-parameters-key.xml.i> - #include <include/interface-parameters-tos.xml.i> - #include <include/interface-parameters-ttl.xml.i> - </children> - </node> - <leafNode name="version"> - <properties> - <help>ERSPAN version number setting(default:1)</help> - <constraint> - <validator name="numeric" argument="--range 1-2"/> - </constraint> - <constraintErrorMessage>The version number of ERSPAN must be 1 or 2</constraintErrorMessage> - </properties> - <defaultValue>1</defaultValue> - </leafNode> - <leafNode name="direction"> - <properties> - <help>Specifies mirrored traffic direction</help> - <completionHelp> - <list>ingress egress</list> - </completionHelp> - <valueHelp> - <format>ingress</format> - <description>Mirror ingress direction</description> - </valueHelp> - <valueHelp> - <format>egress</format> - <description>Mirror egress direction</description> - </valueHelp> - <constraint> - <regex>^(ingress|egress)$</regex> - </constraint> - <constraintErrorMessage>The mirror direction of ERSPAN must be ingress or egress</constraintErrorMessage> - </properties> - </leafNode> - <leafNode name="hwid"> - <properties> - <help>an unique identifier of an ERSPAN v2 engine within a system</help> - <constraint> - <validator name="numeric" argument="--range 1-1048575"/> - </constraint> - <constraintErrorMessage>ERSPAN hwid must be a number(range:0-1048575)</constraintErrorMessage> - </properties> - </leafNode> - <leafNode name="idx"> - <properties> - <help>specifies the ERSPAN v1 index field</help> - <constraint> - <validator name="numeric" argument="--range 0-63"/> - </constraint> - <constraintErrorMessage>ERSPAN idx must be a number(range:0-63)</constraintErrorMessage> - </properties> - </leafNode> - </children> - </node> - </children> - </tagNode> - </children> - </node> -</interfaceDefinition> diff --git a/interface-definitions/interfaces-ethernet.xml.in b/interface-definitions/interfaces-ethernet.xml.in index be44072a6..fff8db2d1 100644 --- a/interface-definitions/interfaces-ethernet.xml.in +++ b/interface-definitions/interfaces-ethernet.xml.in @@ -1,6 +1,9 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> + <properties> + <help>Network interfaces</help> + </properties> <children> <tagNode name="ethernet" owner="${vyos_conf_scripts_dir}/interfaces-ethernet.py"> <properties> @@ -16,18 +19,18 @@ </valueHelp> </properties> <children> - #include <include/address-ipv4-ipv6-dhcp.xml.i> - #include <include/interface-description.xml.i> - #include <include/dhcp-options.xml.i> - #include <include/dhcpv6-options.xml.i> + #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/dhcp-options.xml.i> + #include <include/interface/dhcpv6-options.xml.i> <leafNode name="disable-flow-control"> <properties> <help>Disable Ethernet flow control (pause frames)</help> <valueless/> </properties> </leafNode> - #include <include/interface-disable-link-detect.xml.i> - #include <include/interface-disable.xml.i> + #include <include/interface/interface-disable-link-detect.xml.i> + #include <include/interface/interface-disable.xml.i> <leafNode name="duplex"> <properties> <help>Duplex mode</help> @@ -47,19 +50,19 @@ <description>Full duplex</description> </valueHelp> <constraint> - <regex>(auto|half|full)</regex> + <regex>^(auto|half|full)$</regex> </constraint> <constraintErrorMessage>duplex must be auto, half or full</constraintErrorMessage> </properties> <defaultValue>auto</defaultValue> </leafNode> - #include <include/interface-eapol.xml.i> - #include <include/interface-hw-id.xml.i> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> - #include <include/interface-mac.xml.i> - #include <include/interface-mtu-68-16000.xml.i> - #include <include/interface-mirror.xml.i> + #include <include/interface/interface-eapol.xml.i> + #include <include/interface/interface-hw-id.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> + #include <include/interface/interface-mac.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> + #include <include/interface/interface-mirror.xml.i> <node name="offload"> <properties> <help>Configurable offload options</help> @@ -154,7 +157,7 @@ <description>100 Gbit/sec</description> </valueHelp> <constraint> - <regex>(auto|10|100|1000|2500|5000|10000|25000|40000|50000|100000)</regex> + <regex>^(auto|10|100|1000|2500|5000|10000|25000|40000|50000|100000)$</regex> </constraint> <constraintErrorMessage>Speed must be auto, 10, 100, 1000, 2500, 5000, 10000, 25000, 40000, 50000 or 100000</constraintErrorMessage> </properties> @@ -191,10 +194,10 @@ </leafNode> </children> </node> - #include <include/vif-s.xml.i> - #include <include/vif.xml.i> - #include <include/interface-vrf.xml.i> - #include <include/interface-xdp.xml.i> + #include <include/interface/vif-s.xml.i> + #include <include/interface/vif.xml.i> + #include <include/interface/interface-vrf.xml.i> + #include <include/interface/interface-xdp.xml.i> </children> </tagNode> </children> diff --git a/interface-definitions/interfaces-geneve.xml.in b/interface-definitions/interfaces-geneve.xml.in index 25308c8ef..bdcbc3f5e 100644 --- a/interface-definitions/interfaces-geneve.xml.in +++ b/interface-definitions/interfaces-geneve.xml.in @@ -16,13 +16,13 @@ </valueHelp> </properties> <children> - #include <include/address-ipv4-ipv6.xml.i> - #include <include/interface-description.xml.i> - #include <include/interface-disable.xml.i> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> - #include <include/interface-mac.xml.i> - #include <include/interface-mtu-1450-16000.xml.i> + #include <include/interface/address-ipv4-ipv6.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> + #include <include/interface/interface-mac.xml.i> + #include <include/interface/interface-mtu-1450-16000.xml.i> <node name="parameters"> <properties> <help>GENEVE tunnel parameters</help> @@ -33,9 +33,9 @@ <help>IPv4 specific tunnel parameters</help> </properties> <children> - #include <include/interface-parameters-dont-fragment.xml.i> - #include <include/interface-parameters-tos.xml.i> - #include <include/interface-parameters-ttl.xml.i> + #include <include/interface/interface-parameters-dont-fragment.xml.i> + #include <include/interface/interface-parameters-tos.xml.i> + #include <include/interface/interface-parameters-ttl.xml.i> </children> </node> <node name="ipv6"> @@ -43,12 +43,12 @@ <help>IPv6 specific tunnel parameters</help> </properties> <children> - #include <include/interface-parameters-flowlabel.xml.i> + #include <include/interface/interface-parameters-flowlabel.xml.i> </children> </node> </children> </node> - #include <include/tunnel-remote.xml.i> + #include <include/interface/tunnel-remote.xml.i> #include <include/vni.xml.i> </children> </tagNode> diff --git a/interface-definitions/interfaces-l2tpv3.xml.in b/interface-definitions/interfaces-l2tpv3.xml.in index 68ac15861..ffb57203e 100644 --- a/interface-definitions/interfaces-l2tpv3.xml.in +++ b/interface-definitions/interfaces-l2tpv3.xml.in @@ -16,8 +16,8 @@ </valueHelp> </properties> <children> - #include <include/address-ipv4-ipv6.xml.i> - #include <include/interface-description.xml.i> + #include <include/interface/address-ipv4-ipv6.xml.i> + #include <include/interface/interface-description.xml.i> <leafNode name="destination-port"> <properties> <help>UDP destination port for L2TPv3 tunnel (default: 5000)</help> @@ -31,7 +31,7 @@ </properties> <defaultValue>5000</defaultValue> </leafNode> - #include <include/interface-disable.xml.i> + #include <include/interface/interface-disable.xml.i> <leafNode name="encapsulation"> <properties> <help>Encapsulation type (default: UDP)</help> @@ -47,16 +47,16 @@ <description>IP encapsulation</description> </valueHelp> <constraint> - <regex>(udp|ip)</regex> + <regex>^(udp|ip)$</regex> </constraint> <constraintErrorMessage>Encapsulation must be UDP or IP</constraintErrorMessage> </properties> <defaultValue>udp</defaultValue> </leafNode> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> #include <include/source-address-ipv4-ipv6.xml.i> - #include <include/interface-mtu-68-16000.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> <leafNode name="mtu"> <defaultValue>1488</defaultValue> </leafNode> @@ -84,8 +84,8 @@ </constraint> </properties> </leafNode> - #include <include/interface-mtu-68-16000.xml.i> - #include <include/tunnel-remote.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> + #include <include/interface/tunnel-remote.xml.i> <leafNode name="session-id"> <properties> <help>Session identifier</help> diff --git a/interface-definitions/interfaces-loopback.xml.in b/interface-definitions/interfaces-loopback.xml.in index 0fd74f302..5d0ca5b0a 100644 --- a/interface-definitions/interfaces-loopback.xml.in +++ b/interface-definitions/interfaces-loopback.xml.in @@ -16,14 +16,14 @@ </valueHelp> </properties> <children> - #include <include/address-ipv4-ipv6.xml.i> - #include <include/interface-description.xml.i> + #include <include/interface/address-ipv4-ipv6.xml.i> + #include <include/interface/interface-description.xml.i> <node name="ip"> <properties> <help>IPv4 routing parameters</help> </properties> <children> - #include <include/interface-source-validation.xml.i> + #include <include/interface/interface-source-validation.xml.i> </children> </node> </children> diff --git a/interface-definitions/interfaces-macsec.xml.in b/interface-definitions/interfaces-macsec.xml.in index 3f2e5bb69..fce88b21c 100644 --- a/interface-definitions/interfaces-macsec.xml.in +++ b/interface-definitions/interfaces-macsec.xml.in @@ -16,9 +16,9 @@ </valueHelp> </properties> <children> - #include <include/address-ipv4-ipv6.xml.i> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> + #include <include/interface/address-ipv4-ipv6.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> <node name="security"> <properties> <help>Security/Encryption Settings</help> @@ -111,14 +111,14 @@ </leafNode> </children> </node> - #include <include/interface-description.xml.i> - #include <include/interface-disable.xml.i> - #include <include/interface-mtu-68-16000.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> <leafNode name="mtu"> <defaultValue>1460</defaultValue> </leafNode> #include <include/source-interface-ethernet.xml.i> - #include <include/interface-vrf.xml.i> + #include <include/interface/interface-vrf.xml.i> </children> </tagNode> </children> diff --git a/interface-definitions/interfaces-openvpn.xml.in b/interface-definitions/interfaces-openvpn.xml.in index 527f7fd54..effbdd674 100644 --- a/interface-definitions/interfaces-openvpn.xml.in +++ b/interface-definitions/interfaces-openvpn.xml.in @@ -33,7 +33,7 @@ </leafNode> </children> </node> - #include <include/interface-description.xml.i> + #include <include/interface/interface-description.xml.i> <leafNode name="device-type"> <properties> <help>OpenVPN interface device-type (default: tun)</help> @@ -54,7 +54,7 @@ </properties> <defaultValue>tun</defaultValue> </leafNode> - #include <include/interface-disable.xml.i> + #include <include/interface/interface-disable.xml.i> <node name="encryption"> <properties> <help>Data Encryption settings</help> @@ -171,7 +171,7 @@ </leafNode> </children> </node> - #include <include/interface-ipv6-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> <leafNode name="hash"> <properties> <help>Hashing Algorithm</help> @@ -761,7 +761,7 @@ <valueless/> </properties> </leafNode> - #include <include/interface-vrf.xml.i> + #include <include/interface/interface-vrf.xml.i> </children> </tagNode> </children> diff --git a/interface-definitions/interfaces-pppoe.xml.in b/interface-definitions/interfaces-pppoe.xml.in index 9bbaae9ea..8c2b50eba 100644 --- a/interface-definitions/interfaces-pppoe.xml.in +++ b/interface-definitions/interfaces-pppoe.xml.in @@ -42,7 +42,7 @@ </leafNode> </children> </node> - #include <include/interface-dial-on-demand.xml.i> + #include <include/interface/interface-dial-on-demand.xml.i> <leafNode name="default-route"> <properties> <help>Default route insertion behaviour (default: auto)</help> @@ -50,7 +50,7 @@ <list>auto none force</list> </completionHelp> <constraint> - <regex>(auto|none|force)</regex> + <regex>^(auto|none|force)$</regex> </constraint> <constraintErrorMessage>PPPoE default-route option must be 'auto', 'none', or 'force'</constraintErrorMessage> <valueHelp> @@ -68,10 +68,10 @@ </properties> <defaultValue>auto</defaultValue> </leafNode> - #include <include/dhcpv6-options.xml.i> - #include <include/interface-description.xml.i> - #include <include/interface-disable.xml.i> - #include <include/interface-vrf.xml.i> + #include <include/interface/dhcpv6-options.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-vrf.xml.i> <leafNode name="idle-timeout"> <properties> <help>Delay before disconnecting idle session (in seconds)</help> @@ -86,7 +86,7 @@ <help>IPv4 routing parameters</help> </properties> <children> - #include <include/interface-source-validation.xml.i> + #include <include/interface/interface-source-validation.xml.i> </children> </node> <node name="ipv6"> @@ -99,7 +99,7 @@ <help>IPv6 address configuration modes</help> </properties> <children> - #include <include/ipv6-address-autoconf.xml.i> + #include <include/interface/ipv6-address-autoconf.xml.i> </children> </node> </children> @@ -124,7 +124,7 @@ </constraint> </properties> </leafNode> - #include <include/interface-mtu-68-1500.xml.i> + #include <include/interface/interface-mtu-68-1500.xml.i> <leafNode name="mtu"> <defaultValue>1492</defaultValue> </leafNode> diff --git a/interface-definitions/interfaces-pseudo-ethernet.xml.in b/interface-definitions/interfaces-pseudo-ethernet.xml.in index 32ba5ea01..136841290 100644 --- a/interface-definitions/interfaces-pseudo-ethernet.xml.in +++ b/interface-definitions/interfaces-pseudo-ethernet.xml.in @@ -16,17 +16,17 @@ </valueHelp> </properties> <children> - #include <include/address-ipv4-ipv6-dhcp.xml.i> - #include <include/interface-description.xml.i> - #include <include/dhcp-options.xml.i> - #include <include/dhcpv6-options.xml.i> - #include <include/interface-disable-link-detect.xml.i> - #include <include/interface-disable.xml.i> - #include <include/interface-vrf.xml.i> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> + #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/dhcp-options.xml.i> + #include <include/interface/dhcpv6-options.xml.i> + #include <include/interface/interface-disable-link-detect.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-vrf.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> #include <include/source-interface-ethernet.xml.i> - #include <include/interface-mac.xml.i> + #include <include/interface/interface-mac.xml.i> <leafNode name="mode"> <properties> <help>Receive mode (default: private)</help> @@ -50,15 +50,15 @@ <description>Promicious mode passthrough of underlying device</description> </valueHelp> <constraint> - <regex>(private|vepa|bridge|passthru)</regex> + <regex>^(private|vepa|bridge|passthru)$</regex> </constraint> <constraintErrorMessage>mode must be private, vepa, bridge or passthru</constraintErrorMessage> </properties> <defaultValue>private</defaultValue> </leafNode> - #include <include/interface-mtu-68-16000.xml.i> - #include <include/vif-s.xml.i> - #include <include/vif.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> + #include <include/interface/vif-s.xml.i> + #include <include/interface/vif.xml.i> </children> </tagNode> </children> diff --git a/interface-definitions/interfaces-tunnel.xml.in b/interface-definitions/interfaces-tunnel.xml.in index 047e06b86..536edcb99 100644 --- a/interface-definitions/interfaces-tunnel.xml.in +++ b/interface-definitions/interfaces-tunnel.xml.in @@ -16,19 +16,19 @@ </valueHelp> </properties> <children> - #include <include/interface-description.xml.i> - #include <include/address-ipv4-ipv6.xml.i> - #include <include/interface-disable.xml.i> - #include <include/interface-disable-link-detect.xml.i> - #include <include/interface-vrf.xml.i> - #include <include/interface-mtu-64-8024.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/address-ipv4-ipv6.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-disable-link-detect.xml.i> + #include <include/interface/interface-vrf.xml.i> + #include <include/interface/interface-mtu-64-8024.xml.i> <leafNode name="mtu"> <defaultValue>1476</defaultValue> </leafNode> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> #include <include/source-address-ipv4-ipv6.xml.i> - #include <include/tunnel-remote.xml.i> + #include <include/interface/tunnel-remote.xml.i> <leafNode name="source-interface"> <properties> <help>Physical Interface used for underlaying traffic</help> @@ -80,9 +80,13 @@ <properties> <help>Encapsulation of this tunnel interface</help> <completionHelp> - <list>gre gretap ip6gre ip6gretap ip6ip6 ipip ipip6 sit</list> + <list>erspan gre gretap ip6erspan ip6gre ip6gretap ip6ip6 ipip ipip6 sit</list> </completionHelp> <valueHelp> + <format>erspan</format> + <description>Encapsulated Remote Switched Port Analyzer</description> + </valueHelp> + <valueHelp> <format>gre</format> <description>Generic Routing Encapsulation</description> </valueHelp> @@ -91,6 +95,10 @@ <description>Generic Routing Encapsulation (virtual L2 tunnel)</description> </valueHelp> <valueHelp> + <format>ip6erspan</format> + <description>Encapsulated Remote Switched Port Analyzer over IPv6 network</description> + </valueHelp> + <valueHelp> <format>ip6gre</format> <description>GRE over IPv6 network</description> </valueHelp> @@ -115,9 +123,9 @@ <description>Simple Internet Transition encapsulation</description> </valueHelp> <constraint> - <regex>^(gre|gretap|ip6gre|ip6gretap|ip6ip6|ipip|ipip6|sit)$</regex> + <regex>^(erspan|gre|gretap|ip6erspan|ip6gre|ip6gretap|ip6ip6|ipip|ipip6|sit)$</regex> </constraint> - <constraintErrorMessage>Invalid encapsulation, must be one of: gre, gretap, ip6gre, ip6gretap, ipip, sit, ipip6 or ip6ip6</constraintErrorMessage> + <constraintErrorMessage>Invalid encapsulation, must be one of: erspan, gre, gretap, ip6erspan, ip6gre, ip6gretap, ipip, sit, ipip6 or ip6ip6</constraintErrorMessage> </properties> </leafNode> <leafNode name="multicast"> @@ -145,6 +153,73 @@ <help>Tunnel parameters</help> </properties> <children> + <node name="erspan"> + <properties> + <help>ERSPAN Tunnel parameters</help> + </properties> + <children> + <leafNode name="direction"> + <properties> + <help>Specifies mirrored traffic direction</help> + <completionHelp> + <list>ingress egress</list> + </completionHelp> + <valueHelp> + <format>ingress</format> + <description>Mirror ingress direction</description> + </valueHelp> + <valueHelp> + <format>egress</format> + <description>Mirror egress direction</description> + </valueHelp> + <constraint> + <regex>^(ingress|egress)$</regex> + </constraint> + </properties> + </leafNode> + <leafNode name="hw-id"> + <properties> + <help>Unique identifier of ERSPAN engine within a system</help> + <valueHelp> + <format>0-1048575</format> + <description>Unique identifier of ERSPAN engine</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-1048575"/> + </constraint> + </properties> + </leafNode> + <leafNode name="index"> + <properties> + <help>Specifify ERSPAN version 1 index field</help> + <valueHelp> + <format>0-63</format> + <description>Platform-depedent field for specifying port number and direction</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-63"/> + </constraint> + </properties> + </leafNode> + <leafNode name="version"> + <properties> + <help>Protocol version</help> + <valueHelp> + <format>1</format> + <description>ERSPAN Type II</description> + </valueHelp> + <valueHelp> + <format>2</format> + <description>ERSPAN Type III</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-2"/> + </constraint> + </properties> + <defaultValue>1</defaultValue> + </leafNode> + </children> + </node> <node name="ip"> <properties> <help>IPv4 specific tunnel parameters</help> @@ -156,9 +231,9 @@ <valueless/> </properties> </leafNode> - #include <include/interface-parameters-key.xml.i> - #include <include/interface-parameters-tos.xml.i> - #include <include/interface-parameters-ttl.xml.i> + #include <include/interface/interface-parameters-key.xml.i> + #include <include/interface/interface-parameters-tos.xml.i> + #include <include/interface/interface-parameters-ttl.xml.i> </children> </node> <node name="ipv6"> @@ -168,19 +243,27 @@ <children> <leafNode name="encaplimit"> <properties> - <help>Encaplimit field</help> + <help>Set fixed encapsulation limit</help> + <completionHelp> + <list>none</list> + </completionHelp> <valueHelp> <format>0-255</format> <description>Encaplimit (default: 4)</description> </valueHelp> + <valueHelp> + <format>none</format> + <description>Encaplimit disabled</description> + </valueHelp> <constraint> + <regex>^(none)$</regex> <validator name="numeric" argument="--range 0-255"/> </constraint> - <constraintErrorMessage>key must be between 0-255</constraintErrorMessage> + <constraintErrorMessage>Tunnel encaplimit must be 0-255 or none</constraintErrorMessage> </properties> <defaultValue>4</defaultValue> </leafNode> - #include <include/interface-parameters-flowlabel.xml.i> + #include <include/interface/interface-parameters-flowlabel.xml.i> <leafNode name="hoplimit"> <properties> <help>Hoplimit</help> diff --git a/interface-definitions/interfaces-vxlan.xml.in b/interface-definitions/interfaces-vxlan.xml.in index 97a40a9dc..7a286eaf2 100644 --- a/interface-definitions/interfaces-vxlan.xml.in +++ b/interface-definitions/interfaces-vxlan.xml.in @@ -16,9 +16,9 @@ </valueHelp> </properties> <children> - #include <include/address-ipv4-ipv6.xml.i> - #include <include/interface-description.xml.i> - #include <include/interface-disable.xml.i> + #include <include/interface/address-ipv4-ipv6.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/interface-disable.xml.i> <leafNode name="group"> <properties> <help>Multicast group address for VXLAN interface</help> @@ -35,10 +35,10 @@ </constraint> </properties> </leafNode> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> - #include <include/interface-mac.xml.i> - #include <include/interface-mtu-1200-16000.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> + #include <include/interface/interface-mac.xml.i> + #include <include/interface/interface-mtu-1200-16000.xml.i> <leafNode name="mtu"> <defaultValue>1450</defaultValue> </leafNode> @@ -52,9 +52,9 @@ <help>IPv4 specific tunnel parameters</help> </properties> <children> - #include <include/interface-parameters-dont-fragment.xml.i> - #include <include/interface-parameters-tos.xml.i> - #include <include/interface-parameters-ttl.xml.i> + #include <include/interface/interface-parameters-dont-fragment.xml.i> + #include <include/interface/interface-parameters-tos.xml.i> + #include <include/interface/interface-parameters-ttl.xml.i> <leafNode name="ttl"> <defaultValue>16</defaultValue> </leafNode> @@ -65,7 +65,7 @@ <help>IPv6 specific tunnel parameters</help> </properties> <children> - #include <include/interface-parameters-flowlabel.xml.i> + #include <include/interface/interface-parameters-flowlabel.xml.i> </children> </node> <leafNode name="nolearning"> @@ -91,7 +91,7 @@ </leafNode> #include <include/source-address-ipv4-ipv6.xml.i> #include <include/source-interface.xml.i> - #include <include/tunnel-remote.xml.i> + #include <include/interface/tunnel-remote.xml.i> #include <include/vni.xml.i> </children> </tagNode> diff --git a/interface-definitions/interfaces-wireguard.xml.in b/interface-definitions/interfaces-wireguard.xml.in index 3f56046c4..378251fed 100644 --- a/interface-definitions/interfaces-wireguard.xml.in +++ b/interface-definitions/interfaces-wireguard.xml.in @@ -16,17 +16,17 @@ </valueHelp> </properties> <children> - #include <include/address-ipv4-ipv6.xml.i> - #include <include/interface-description.xml.i> - #include <include/interface-disable.xml.i> - #include <include/interface-vrf.xml.i> + #include <include/interface/address-ipv4-ipv6.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-vrf.xml.i> #include <include/port-number.xml.i> - #include <include/interface-mtu-68-16000.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> <leafNode name="mtu"> <defaultValue>1420</defaultValue> </leafNode> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> <leafNode name="fwmark"> <properties> <help>A 32-bit fwmark value set on all outgoing packets</help> diff --git a/interface-definitions/interfaces-wireless.xml.in b/interface-definitions/interfaces-wireless.xml.in index f39e5618f..aaeb285f1 100644 --- a/interface-definitions/interfaces-wireless.xml.in +++ b/interface-definitions/interfaces-wireless.xml.in @@ -16,7 +16,7 @@ </valueHelp> </properties> <children> - #include <include/address-ipv4-ipv6-dhcp.xml.i> + #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> <node name="capabilities"> <properties> <help>HT and VHT capabilities for your card</help> @@ -464,34 +464,34 @@ <constraintErrorMessage>Invalid ISO/IEC 3166-1 Country Code</constraintErrorMessage> </properties> </leafNode> - #include <include/interface-description.xml.i> - #include <include/dhcp-options.xml.i> - #include <include/dhcpv6-options.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/dhcp-options.xml.i> + #include <include/interface/dhcpv6-options.xml.i> <leafNode name="disable-broadcast-ssid"> <properties> <help>Disable broadcast of SSID from access-point</help> <valueless/> </properties> </leafNode> - #include <include/interface-disable-link-detect.xml.i> - #include <include/interface-disable.xml.i> - #include <include/interface-vrf.xml.i> + #include <include/interface/interface-disable-link-detect.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-vrf.xml.i> <leafNode name="expunge-failing-stations"> <properties> <help>Disassociate stations based on excessive transmission failures</help> <valueless/> </properties> </leafNode> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> - #include <include/interface-hw-id.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> + #include <include/interface/interface-hw-id.xml.i> <leafNode name="isolate-stations"> <properties> <help>Isolate stations on the AP so they cannot see each other</help> <valueless/> </properties> </leafNode> - #include <include/interface-mac.xml.i> + #include <include/interface/interface-mac.xml.i> <leafNode name="max-stations"> <properties> <help>Maximum number of wireless radio stations. Excess stations will be rejected upon authentication request.</help> @@ -775,8 +775,8 @@ </properties> <defaultValue>monitor</defaultValue> </leafNode> - #include <include/vif.xml.i> - #include <include/vif-s.xml.i> + #include <include/interface/vif.xml.i> + #include <include/interface/vif-s.xml.i> </children> </tagNode> </children> diff --git a/interface-definitions/interfaces-wirelessmodem.xml.in b/interface-definitions/interfaces-wirelessmodem.xml.in index 969ff0014..25ac2d6e0 100644 --- a/interface-definitions/interfaces-wirelessmodem.xml.in +++ b/interface-definitions/interfaces-wirelessmodem.xml.in @@ -42,9 +42,9 @@ </leafNode> </children> </node> - #include <include/interface-description.xml.i> - #include <include/interface-disable.xml.i> - #include <include/interface-vrf.xml.i> + #include <include/interface/interface-description.xml.i> + #include <include/interface/interface-disable.xml.i> + #include <include/interface/interface-vrf.xml.i> <leafNode name="device"> <properties> <help>Serial device </help> @@ -65,17 +65,17 @@ </constraint> </properties> </leafNode> - #include <include/interface-disable-link-detect.xml.i> - #include <include/interface-mtu-68-16000.xml.i> - #include <include/interface-ipv4-options.xml.i> - #include <include/interface-ipv6-options.xml.i> + #include <include/interface/interface-disable-link-detect.xml.i> + #include <include/interface/interface-mtu-68-16000.xml.i> + #include <include/interface/interface-ipv4-options.xml.i> + #include <include/interface/interface-ipv6-options.xml.i> <leafNode name="no-peer-dns"> <properties> <help>Do not use peer supplied DNS server information</help> <valueless/> </properties> </leafNode> - #include <include/interface-dial-on-demand.xml.i> + #include <include/interface/interface-dial-on-demand.xml.i> </children> </tagNode> </children> diff --git a/interface-definitions/lldp.xml.in b/interface-definitions/lldp.xml.in index 9fdffcea1..e14abae14 100644 --- a/interface-definitions/lldp.xml.in +++ b/interface-definitions/lldp.xml.in @@ -152,6 +152,9 @@ <leafNode name="management-address"> <properties> <help>Management IP Address</help> + <completionHelp> + <script>${vyos_completion_dir}/list_local_ips.sh --both</script> + </completionHelp> <valueHelp> <format>ipv4</format> <description>IPv4 Management Address</description> diff --git a/interface-definitions/nat.xml.in b/interface-definitions/nat.xml.in index 3cff8abc9..9862f49b2 100644 --- a/interface-definitions/nat.xml.in +++ b/interface-definitions/nat.xml.in @@ -96,7 +96,7 @@ <validator name="ipv4-prefix"/> <validator name="ipv4-address"/> <validator name="ipv4-range"/> - <regex>(masquerade)</regex> + <regex>^(masquerade)$</regex> </constraint> </properties> </leafNode> diff --git a/interface-definitions/nat66.xml.in b/interface-definitions/nat66.xml.in index d5e1226f9..7b1ec3706 100644 --- a/interface-definitions/nat66.xml.in +++ b/interface-definitions/nat66.xml.in @@ -94,7 +94,7 @@ <constraint> <validator name="ipv6-address"/> <validator name="ipv6-prefix"/> - <regex>(masquerade)</regex> + <regex>^(masquerade)$</regex> </constraint> </properties> </leafNode> @@ -144,7 +144,7 @@ <help>Inbound interface of NAT66 traffic</help> <completionHelp> <list>any</list> - <script>${vyos_completion_dir}/list_interfaces.py</script> + <script>${vyos_completion_dir}/list_interfaces.py</script> </completionHelp> </properties> </leafNode> diff --git a/interface-definitions/ntp.xml.in b/interface-definitions/ntp.xml.in index d244b56bb..2bfac900b 100644 --- a/interface-definitions/ntp.xml.in +++ b/interface-definitions/ntp.xml.in @@ -82,7 +82,7 @@ </children> </node> #include <include/listen-address.xml.i> - #include <include/interface-vrf.xml.i> + #include <include/interface/interface-vrf.xml.i> </children> </node> </children> diff --git a/interface-definitions/policy.xml.in b/interface-definitions/policy.xml.in new file mode 100644 index 000000000..08e2ce2c6 --- /dev/null +++ b/interface-definitions/policy.xml.in @@ -0,0 +1,1218 @@ +<?xml version="1.0"?> +<interfaceDefinition> + <node name="policy" owner="${vyos_conf_scripts_dir}/policy.py"> + <properties> + <priority>200</priority> + <help>Routing policy</help> + </properties> + <children> + <tagNode name="access-list"> + <properties> + <help>IP access-list filter</help> + <valueHelp> + <format>u32:1-99</format> + <description>IP standard access list</description> + </valueHelp> + <valueHelp> + <format>u32:100-199</format> + <description>IP extended access list</description> + </valueHelp> + <valueHelp> + <format>u32:1300-1999</format> + <description>IP standard access list (expanded range)</description> + </valueHelp> + <valueHelp> + <format>u32:2000-2699</format> + <description>IP extended access list (expanded range)</description> + </valueHelp> + </properties> + <children> + #include <include/policy/description.xml.i> + <tagNode name="rule"> + <properties> + <help>Rule for this access-list</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Access-list rule number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + <children> + #include <include/policy/action.xml.i> + #include <include/policy/description.xml.i> + <node name="destination"> + <properties> + <help>Destination network or address</help> + </properties> + <children> + <leafNode name="any"> + <properties> + <help>Any IP address to match</help> + <valueless/> + </properties> + </leafNode> + #include <include/policy/host.xml.i> + #include <include/policy/inverse-mask.xml.i> + #include <include/policy/network.xml.i> + </children> + </node> + <node name="source"> + <properties> + <help>Source network or address to match</help> + </properties> + <children> + <leafNode name="any"> + <properties> + <help>Any IP address to match</help> + <valueless/> + </properties> + </leafNode> + #include <include/policy/host.xml.i> + #include <include/policy/inverse-mask.xml.i> + #include <include/policy/network.xml.i> + </children> + </node> + </children> + </tagNode> + </children> + </tagNode> + <tagNode name="access-list6"> + <properties> + <help>IPv6 access-list filter</help> + <valueHelp> + <format>txt</format> + <description>Name of IPv6 access-list</description> + </valueHelp> + </properties> + <children> + #include <include/policy/description.xml.i> + <tagNode name="rule"> + <properties> + <help>Rule for this access-list6</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Access-list6 rule number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + <children> + #include <include/policy/action.xml.i> + #include <include/policy/description.xml.i> + <node name="source"> + <properties> + <help>Source IPv6 network to match</help> + </properties> + <children> + <leafNode name="any"> + <properties> + <help>Any IP address to match</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="exact-match"> + <properties> + <help>Exact match of the network prefixes</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="network"> + <properties> + <help>Network/netmask to match</help> + <valueHelp> + <format>ipv6net</format> + <description>IPv6 address and prefix length</description> + </valueHelp> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + </children> + </tagNode> + </children> + </tagNode> + <tagNode name="as-path-list"> + <properties> + <help>Border Gateway Protocol (BGP) autonomous system path filter</help> + <valueHelp> + <format>txt</format> + <description>AS path list name</description> + </valueHelp> + </properties> + <children> + #include <include/policy/description.xml.i> + <tagNode name="rule"> + <properties> + <help>Rule for this as-path-list</help> + <valueHelp> + <format>u32:1-65535</format> + <description>AS path list rule number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + <children> + #include <include/policy/action.xml.i> + #include <include/policy/description.xml.i> + <leafNode name="regex"> + <properties> + <help>Regular expression to match against an AS path</help> + <valueHelp> + <format>txt</format> + <description>AS path regular expression (ex: "64501 64502")</description> + </valueHelp> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </tagNode> + <tagNode name="community-list"> + <properties> + <help>Border Gateway Protocol (BGP) autonomous system path filter</help> + <valueHelp> + <format>txt</format> + <description>Border Gateway Protocol (BGP) community-list filter</description> + </valueHelp> + </properties> + <children> + #include <include/policy/description.xml.i> + <tagNode name="rule"> + <properties> + <help>Rule for this BGP community list</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Community-list rule number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + <children> + #include <include/policy/action.xml.i> + #include <include/policy/description.xml.i> + <leafNode name="regex"> + <properties> + <help>Regular expression to match against a community-list</help> + <completionHelp> + <list>local-AS no-advertise no-export internet additive</list> + </completionHelp> + <valueHelp> + <format><aa:nn></format> + <description>Community number in AA:NN format</description> + </valueHelp> + <valueHelp> + <format>local-AS</format> + <description>Well-known communities value NO_EXPORT_SUBCONFED 0xFFFFFF03</description> + </valueHelp> + <valueHelp> + <format>no-advertise</format> + <description>Well-known communities value NO_ADVERTISE 0xFFFFFF02</description> + </valueHelp> + <valueHelp> + <format>no-export</format> + <description>Well-known communities value NO_EXPORT 0xFFFFFF01</description> + </valueHelp> + <valueHelp> + <format>internet</format> + <description>Well-known communities value 0</description> + </valueHelp> + <valueHelp> + <format>additive</format> + <description>New value is appended to the existing value</description> + </valueHelp> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </tagNode> + <tagNode name="extcommunity-list"> + <properties> + <help>Border Gateway Protocol (BGP) extended community-list filter</help> + <valueHelp> + <format>txt</format> + <description>Border Gateway Protocol (BGP) extended community-list filter</description> + </valueHelp> + </properties> + <children> + #include <include/policy/description.xml.i> + <tagNode name="rule"> + <properties> + <help>Rule for this BGP extended community list</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Extended community-list rule number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + <children> + #include <include/policy/action.xml.i> + #include <include/policy/description.xml.i> + <leafNode name="regex"> + <properties> + <help>Regular expression to match against an extended community list</help> + <valueHelp> + <format><aa:nn:nn></format> + <description>Extended community list regular expression</description> + </valueHelp> + <valueHelp> + <format><rt aa:nn:nn></format> + <description>Route Target regular expression</description> + </valueHelp> + <valueHelp> + <format><soo aa:nn:nn></format> + <description>Site of Origin regular expression</description> + </valueHelp> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </tagNode> + <tagNode name="large-community-list"> + <properties> + <help>Border Gateway Protocol (BGP) large-community-list filter</help> + <valueHelp> + <format>txt</format> + <description>Border Gateway Protocol (BGP) large-community-list filter</description> + </valueHelp> + </properties> + <children> + #include <include/policy/description.xml.i> + <tagNode name="rule"> + <properties> + <help>Rule for this BGP extended community list</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Large community-list rule number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + <children> + #include <include/policy/action.xml.i> + #include <include/policy/description.xml.i> + <leafNode name="regex"> + <properties> + <help>Regular expression to match against a large community list</help> + <valueHelp> + <format><aa:nn:nn></format> + <description>Large Community value</description> + </valueHelp> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </tagNode> + <tagNode name="prefix-list"> + <properties> + <help>IP prefix-list filter</help> + <valueHelp> + <format>txt</format> + <description>Prefix list name</description> + </valueHelp> + </properties> + <children> + #include <include/policy/description.xml.i> + <tagNode name="rule"> + <properties> + <help>Rule for this prefix-list</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Prefix-list rule number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + <children> + #include <include/policy/action.xml.i> + #include <include/policy/description.xml.i> + <leafNode name="ge"> + <properties> + <help>Prefix length to match a netmask greater than or equal to it</help> + <valueHelp> + <format>u32:0-32</format> + <description>Netmask greater than length</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-32"/> + </constraint> + </properties> + </leafNode> + <leafNode name="le"> + <properties> + <help>Prefix length to match a netmask less than or equal to it</help> + <valueHelp> + <format>u32:0-32</format> + <description>Netmask less than length</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-32"/> + </constraint> + </properties> + </leafNode> + <leafNode name="prefix"> + <properties> + <help>Prefix to match</help> + <valueHelp> + <format>ipv4net</format> + <description>Prefix to match against</description> + </valueHelp> + <constraint> + <validator name="ip-prefix"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </tagNode> + <tagNode name="prefix-list6"> + <properties> + <help>IPv6 prefix-list filter</help> + <valueHelp> + <format>txt</format> + <description>Prefix list name</description> + </valueHelp> + </properties> + <children> + #include <include/policy/description.xml.i> + <tagNode name="rule"> + <properties> + <help>Rule for this prefix-list6</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Prefix-list rule number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + <children> + #include <include/policy/action.xml.i> + #include <include/policy/description.xml.i> + <leafNode name="ge"> + <properties> + <help>Prefix length to match a netmask greater than or equal to it</help> + <valueHelp> + <format>u32:0-128</format> + <description>Netmask greater than length</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-128"/> + </constraint> + </properties> + </leafNode> + <leafNode name="le"> + <properties> + <help>Prefix length to match a netmask less than or equal to it</help> + <valueHelp> + <format>u32:0-128</format> + <description>Netmask less than length</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-128"/> + </constraint> + </properties> + </leafNode> + <leafNode name="prefix"> + <properties> + <help>Prefix to match</help> + <valueHelp> + <format>ipv6net</format> + <description>IPv6 prefix</description> + </valueHelp> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + </children> + </tagNode> + <tagNode name="route-map"> + <properties> + <help>IP route-map</help> + <valueHelp> + <format>txt</format> + <description>Route map name</description> + </valueHelp> + <constraint> + <regex>^[-a-zA-Z0-9.]+$</regex> + </constraint> + <constraintErrorMessage>Route-map name can only contain alpha-numeric letters and a hyphen</constraintErrorMessage> + </properties> + <children> + #include <include/policy/description.xml.i> + <tagNode name="rule"> + <properties> + <help>Rule for this route-map</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Route-map rule number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + <children> + #include <include/policy/action.xml.i> + <leafNode name="call"> + <properties> + <help>Call another route-map on match</help> + <valueHelp> + <format>txt</format> + <description>Route map name</description> + </valueHelp> + <completionHelp> + <path>policy route-map</path> + </completionHelp> + </properties> + </leafNode> + <leafNode name="continue"> + <properties> + <help>Jump to a different rule in this route-map on a match</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Rule number</description> + </valueHelp> + </properties> + </leafNode> + #include <include/policy/description.xml.i> + <node name="match"> + <properties> + <help>Route parameters to match</help> + </properties> + <children> + <leafNode name="as-path"> + <properties> + <help>BGP as-path-list to match</help> + <completionHelp> + <path>policy as-path-list</path> + </completionHelp> + </properties> + </leafNode> + <node name="community"> + <properties> + <help>BGP community-list to match</help> + </properties> + <children> + <leafNode name="community-list"> + <properties> + <help>BGP community-list to match</help> + <completionHelp> + <path>policy community-list</path> + </completionHelp> + </properties> + </leafNode> + <leafNode name="exact-match"> + <properties> + <help>Community-list to exactly match</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + <leafNode name="extcommunity"> + <properties> + <help>BGP extended community to match</help> + <completionHelp> + <path>policy extcommunity-list</path> + </completionHelp> + </properties> + </leafNode> + <leafNode name="interface"> + <properties> + <help>First hop interface of a route to match</help> + <completionHelp> + <script>${vyos_completion_dir}/list_interfaces.py</script> + </completionHelp> + </properties> + </leafNode> + <node name="ip"> + <properties> + <help>IP prefix parameters to match</help> + </properties> + <children> + <node name="address"> + <properties> + <help>IP address of route to match</help> + </properties> + <children> + <leafNode name="access-list"> + <properties> + <help>IP access-list to match</help> + <valueHelp> + <format>u32:1-99</format> + <description>IP standard access list</description> + </valueHelp> + <valueHelp> + <format>u32:100-199</format> + <description>IP extended access list</description> + </valueHelp> + <valueHelp> + <format>u32:1300-1999</format> + <description>IP standard access list (expanded range)</description> + </valueHelp> + <valueHelp> + <format>u32:2000-2699</format> + <description>IP extended access list (expanded range)</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="prefix-list"> + <properties> + <help>IP prefix-list to match</help> + <completionHelp> + <path>policy prefix-list</path> + </completionHelp> + </properties> + </leafNode> + </children> + </node> + <!-- T3304 but it overwrite node nexthop + <leafNode name="nexthop"> + <properties> + <help>IP next-hop of route to match</help> + <valueHelp> + <format>ipv4</format> + <description>Next-hop IPv4 router address</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + </leafNode> --> + <node name="nexthop"> + <properties> + <help>IP next-hop of route to match</help> + <valueHelp> + <format>ipv4</format> + <description>Next-hop IPv4 router address</description> + </valueHelp> + </properties> + <children> + <leafNode name="access-list"> + <properties> + <help>IP access-list to match</help> + <valueHelp> + <format>u32:1-99</format> + <description>IP standard access list</description> + </valueHelp> + <valueHelp> + <format>u32:100-199</format> + <description>IP extended access list</description> + </valueHelp> + <valueHelp> + <format>u32:1300-1999</format> + <description>IP standard access list (expanded range)</description> + </valueHelp> + <valueHelp> + <format>u32:2000-2699</format> + <description>IP extended access list (expanded range)</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="prefix-list"> + <properties> + <help>IP prefix-list to match</help> + <completionHelp> + <path>policy prefix-list</path> + </completionHelp> + </properties> + </leafNode> + </children> + </node> + <node name="route-source"> + <properties> + <help>test</help> + </properties> + <children> + <leafNode name="access-list"> + <properties> + <help>IP access-list to match</help> + <valueHelp> + <format>u32:1-99</format> + <description>IP standard access list</description> + </valueHelp> + <valueHelp> + <format>u32:100-199</format> + <description>IP extended access list</description> + </valueHelp> + <valueHelp> + <format>u32:1300-1999</format> + <description>IP standard access list (expanded range)</description> + </valueHelp> + <valueHelp> + <format>u32:2000-2699</format> + <description>IP extended access list (expanded range)</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="prefix-list"> + <properties> + <help>IP prefix-list to match</help> + <completionHelp> + <path>policy prefix-list</path> + </completionHelp> + </properties> + </leafNode> + </children> + </node> + </children> + </node> + <node name="ipv6"> + <properties> + <help>IPv6 prefix parameters to match</help> + </properties> + <children> + <node name="address"> + <properties> + <help>IPv6 address of route to match</help> + </properties> + <children> + <leafNode name="access-list"> + <properties> + <help>IPv6 access-list to match</help> + <valueHelp> + <format>txt</format> + <description>IPV6 access list name</description> + </valueHelp> + <completionHelp> + <path>policy access-list6</path> + </completionHelp> + </properties> + </leafNode> + <leafNode name="prefix-list"> + <properties> + <help>IPv6 prefix-list to match</help> + <completionHelp> + <path>policy prefix-list6</path> + </completionHelp> + </properties> + </leafNode> + </children> + </node> + <leafNode name="nexthop"> + <properties> + <help>IPv6 next-hop of route to match</help> + <valueHelp> + <format>ipv6</format> + <description>Nexthop IPv6 address</description> + </valueHelp> + <constraint> + <validator name="ipv6-address"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + <node name="large-community"> + <properties> + <help>Match BGP large communities</help> + </properties> + <children> + <leafNode name="large-community-list"> + <properties> + <help>BGP large-community-list to match</help> + <completionHelp> + <path>policy large-community-list</path> + </completionHelp> + </properties> + </leafNode> + </children> + </node> + <leafNode name="local-preference"> + <properties> + <help>local-preference_help</help> + <valueHelp> + <format>u32:0-4294967295</format> + <description>Local Preference</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-4294967295"/> + </constraint> + </properties> + </leafNode> + <leafNode name="metric"> + <properties> + <help>Metric of route to match</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Route metric</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + </leafNode> + <leafNode name="origin"> + <properties> + <help>Border Gateway Protocol (BGP) origin code to match</help> + <completionHelp> + <list>egp igp incomplete</list> + </completionHelp> + <valueHelp> + <format>egp</format> + <description>Exterior gateway protocol origin</description> + </valueHelp> + <valueHelp> + <format>igp</format> + <description>Interior gateway protocol origin</description> + </valueHelp> + <valueHelp> + <format>incomplete</format> + <description>Incomplete origin</description> + </valueHelp> + <constraint> + <regex>^(egp|igp|incomplete)$</regex> + </constraint> + </properties> + </leafNode> + <leafNode name="peer"> + <properties> + <help>Peer address to match</help> + <valueHelp> + <format>ipv4</format> + <description>Peer IP address</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + </leafNode> + <leafNode name="rpki"> + <properties> + <help>Match RPKI validation result</help> + <completionHelp> + <list>invalid notfound valid</list> + </completionHelp> + <valueHelp> + <format>invalid</format> + <description>Match invalid entries</description> + </valueHelp> + <valueHelp> + <format>notfound</format> + <description>Match notfound entries</description> + </valueHelp> + <valueHelp> + <format>valid</format> + <description>Match valid entries</description> + </valueHelp> + <constraint> + <regex>^(invalid|notfound|valid)$</regex> + </constraint> + </properties> + </leafNode> + <leafNode name="tag"> + <properties> + <help>Route tag to match</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Route tag</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + <node name="on-match"> + <properties> + <help>Exit policy on matches</help> + </properties> + <children> + <leafNode name="goto"> + <properties> + <help>Rule number to goto on match</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Rule number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + </leafNode> + <leafNode name="next"> + <properties> + <help>Next sequence number to goto on match</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + <node name="set"> + <properties> + <help>Route parameters</help> + </properties> + <children> + <node name="aggregator"> + <properties> + <help>Border Gateway Protocol (BGP) aggregator attribute</help> + </properties> + <children> + <leafNode name="as"> + <properties> + <help>AS number of an aggregation</help> + <valueHelp> + <format>u32:1-4294967295</format> + <description>Rule number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-4294967295"/> + </constraint> + </properties> + </leafNode> + <leafNode name="ip"> + <properties> + <help>IP address of an aggregation</help> + <valueHelp> + <format>ipv4</format> + <description>IP address</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + <leafNode name="as-path-exclude"> + <properties> + <help>Remove ASN(s) from a Border Gateway Protocol (BGP) AS-path attribute</help> + <valueHelp> + <format>txt</format> + <description>BGP AS path exclude string (ex: "456 64500 45001")</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="as-path-prepend"> + <properties> + <help>as-path-prepend_help</help> + <valueHelp> + <format>txt</format> + <description>BGP AS path prepend string (ex: "64501 64501")</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="atomic-aggregate"> + <properties> + <help>Border Gateway Protocol (BGP) atomic aggregate attribute</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="bgp-extcommunity-rt"> + <properties> + <help>Set route target value</help> + <valueHelp> + <format><aa:nn></format> + <description>ExtCommunity in format: asn:value</description> + </valueHelp> + </properties> + </leafNode> + <node name="comm-list"> + <properties> + <help>Border Gateway Protocol (BGP) communities matching a community-list</help> + </properties> + <children> + <leafNode name="comm-list"> + <properties> + <help>BGP communities with a community-list</help> + <completionHelp> + <path>policy community-list</path> + </completionHelp> + <valueHelp> + <format>txt</format> + <description>BGP communities with a community-list</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="delete"> + <properties> + <help>Delete BGP communities matching the community-list</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + <leafNode name="community"> + <properties> + <help>community_help</help> + <completionHelp> + <list>local-AS no-advertise no-export internet additive none</list> + </completionHelp> + <valueHelp> + <format><aa:nn></format> + <description>Community number in AA:NN format</description> + </valueHelp> + <valueHelp> + <format>local-AS</format> + <description>Well-known communities value NO_EXPORT_SUBCONFED 0xFFFFFF03</description> + </valueHelp> + <valueHelp> + <format>no-advertise</format> + <description>Well-known communities value NO_ADVERTISE 0xFFFFFF02</description> + </valueHelp> + <valueHelp> + <format>no-export</format> + <description>Well-known communities value NO_EXPORT 0xFFFFFF01</description> + </valueHelp> + <valueHelp> + <format>internet</format> + <description>Well-known communities value 0</description> + </valueHelp> + <valueHelp> + <format>additive</format> + <description>New value is appended to the existing value</description> + </valueHelp> + <valueHelp> + <format>none</format> + <description>No community attribute</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="distance"> + <properties> + <help>Locally significant administrative distance</help> + <valueHelp> + <format>u32:0-255</format> + <description>Distance value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="extcommunity-rt"> + <properties> + <help>Set route target value</help> + <valueHelp> + <format>txt</format> + <description>ASN:nn_or_IP_address:nn VPN extended community</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="extcommunity-soo"> + <properties> + <help>Set Site of Origin value</help> + <valueHelp> + <format>txt</format> + <description>ASN:nn_or_IP_address:nn VPN extended community</description> + </valueHelp> + </properties> + </leafNode> + <leafNode name="ip-next-hop"> + <properties> + <help>Nexthop IP address</help> + <valueHelp> + <format>ipv4</format> + <description>IP address</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + </leafNode> + <node name="ipv6-next-hop"> + <properties> + <help>Nexthop IPv6 address</help> + </properties> + <children> + <leafNode name="global"> + <properties> + <help>Nexthop IPv6 global address</help> + <valueHelp> + <format>ipv6</format> + <description>IPv6 address and prefix length</description> + </valueHelp> + <constraint> + <validator name="ipv6-address"/> + </constraint> + </properties> + </leafNode> + <leafNode name="local"> + <properties> + <help>Nexthop IPv6 local address</help> + <valueHelp> + <format>ipv6</format> + <description>IPv6 address and prefix length</description> + </valueHelp> + <constraint> + <validator name="ipv6-address"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + <leafNode name="large-community"> + <properties> + <help>Set BGP large community value</help> + <valueHelp> + <format>txt</format> + <description>ASN:nn:mm BGP large community</description> + </valueHelp> + <completionHelp> + <path>policy large-community-list</path> + </completionHelp> + </properties> + </leafNode> + <leafNode name="local-preference"> + <properties> + <help>Border Gateway Protocol (BGP) local preference attribute</help> + <valueHelp> + <format>u32:0-4294967295</format> + <description>Local preference value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-4294967295"/> + </constraint> + </properties> + </leafNode> + <leafNode name="metric"> + <properties> + <help>Destination routing protocol metric</help> + <valueHelp> + <format><+/-metric></format> + <description>Add or subtract metric</description> + </valueHelp> + <valueHelp> + <format>u32:0-4294967295</format> + <description>Metric value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-4294967295"/> + </constraint> + </properties> + </leafNode> + <leafNode name="metric-type"> + <properties> + <help>Open Shortest Path First (OSPF) external metric-type</help> + <completionHelp> + <list>type-1 type-2</list> + </completionHelp> + <valueHelp> + <format>type-1</format> + <description>OSPF external type 1 metric</description> + </valueHelp> + <valueHelp> + <format>type-2</format> + <description>OSPF external type 2 metric</description> + </valueHelp> + <constraint> + <regex>^(type-1|type-2)$</regex> + </constraint> + </properties> + </leafNode> + <leafNode name="origin"> + <properties> + <help>origin_help</help> + <completionHelp> + <list>igp egp incomplete</list> + </completionHelp> + <valueHelp> + <format>igp</format> + <description>Interior gateway protocol origin</description> + </valueHelp> + <valueHelp> + <format>egp</format> + <description>Exterior gateway protocol origin</description> + </valueHelp> + <valueHelp> + <format>incomplete</format> + <description>Incomplete origin</description> + </valueHelp> + <constraint> + <regex>^(igp|egp|incomplete)$</regex> + </constraint> + </properties> + </leafNode> + <leafNode name="originator-id"> + <properties> + <help>Border Gateway Protocol (BGP) originator ID attribute</help> + <valueHelp> + <format>ipv4</format> + <description>Orignator IP address</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + </leafNode> + <leafNode name="src"> + <properties> + <help>Source address for route</help> + <valueHelp> + <format>ipv4</format> + <description>IPv4 address</description> + </valueHelp> + <valueHelp> + <format>ipv6</format> + <description>IPv6 address</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + <validator name="ipv6-address"/> + </constraint> + </properties> + </leafNode> + <leafNode name="table"> + <properties> + <help>Set prefixes to table</help> + <valueHelp> + <format>u32:1-200</format> + <description>Table value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-200"/> + </constraint> + </properties> + </leafNode> + <leafNode name="tag"> + <properties> + <help>Tag value for routing protocol</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Tag value</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + </leafNode> + <leafNode name="weight"> + <properties> + <help>Border Gateway Protocol (BGP) weight attribute</help> + <valueHelp> + <format>u32:0-4294967295</format> + <description>BGP weight</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-4294967295"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + </children> + </tagNode> + </children> + </tagNode> + </children> + </node> +</interfaceDefinition> diff --git a/interface-definitions/protocols-bgp.xml.in b/interface-definitions/protocols-bgp.xml.in index afcd8f727..e1a822999 100644 --- a/interface-definitions/protocols-bgp.xml.in +++ b/interface-definitions/protocols-bgp.xml.in @@ -1,846 +1,16 @@ <?xml version="1.0"?> -<!-- Border Gateway Protocol (BGP) configuration --> <interfaceDefinition> <node name="protocols"> <children> - <tagNode name="bgp" owner="${vyos_conf_scripts_dir}/protocols_bgp.py"> + <node name="bgp" owner="${vyos_conf_scripts_dir}/protocols_bgp.py"> <properties> <help>Border Gateway Protocol (BGP)</help> - <valueHelp> - <format>u32:1-4294967294</format> - <description>AS number</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-4294967294"/> - </constraint> <priority>820</priority> </properties> <children> - <node name="address-family"> - <properties> - <help>BGP address-family parameters</help> - </properties> - <children> - <node name="ipv4-unicast"> - <properties> - <help>IPv4 BGP settings</help> - </properties> - <children> - <tagNode name="aggregate-address"> - <properties> - <help>BGP aggregate network</help> - <valueHelp> - <format>ipv4net</format> - <description>BGP aggregate network</description> - </valueHelp> - <constraint> - <validator name="ipv4-prefix"/> - </constraint> - </properties> - <children> - #include <include/bgp-afi-aggregate-address.xml.i> - </children> - </tagNode> - <tagNode name="network"> - <properties> - <help>BGP network</help> - <valueHelp> - <format>ipv4net</format> - <description>BGP network</description> - </valueHelp> - <constraint> - <validator name="ipv4-prefix"/> - </constraint> - </properties> - <children> - <leafNode name="backdoor"> - <properties> - <help>Network as a backdoor route</help> - <valueless/> - </properties> - </leafNode> - #include <include/bgp-route-map.xml.i> - </children> - </tagNode> - #include <include/bgp-afi-maximum-paths.xml.i> - <node name="redistribute"> - <properties> - <help>Redistribute routes from other protocols into BGP</help> - </properties> - <children> - <node name="connected"> - <properties> - <help>Redistribute connected routes into BGP</help> - </properties> - <children> - #include <include/bgp-afi-redistribute-metric-route-map.xml.i> - </children> - </node> - <node name="isis"> - <properties> - <help>Redistribute IS-IS routes into BGP</help> - </properties> - <children> - #include <include/bgp-afi-redistribute-metric-route-map.xml.i> - </children> - </node> - <node name="kernel"> - <properties> - <help>Redistribute kernel routes into BGP</help> - </properties> - <children> - #include <include/bgp-afi-redistribute-metric-route-map.xml.i> - </children> - </node> - <node name="ospf"> - <properties> - <help>Redistribute OSPF routes into BGP</help> - </properties> - <children> - #include <include/bgp-afi-redistribute-metric-route-map.xml.i> - </children> - </node> - <node name="rip"> - <properties> - <help>Redistribute RIP routes into BGP</help> - </properties> - <children> - #include <include/bgp-afi-redistribute-metric-route-map.xml.i> - </children> - </node> - <node name="static"> - <properties> - <help>Redistribute static routes into BGP</help> - </properties> - <children> - #include <include/bgp-afi-redistribute-metric-route-map.xml.i> - </children> - </node> - <leafNode name="table"> - <properties> - <help>Redistribute non-main Kernel Routing Table</help> - </properties> - </leafNode> - </children> - </node> - </children> - </node> - <node name="ipv6-unicast"> - <properties> - <help>IPv6 BGP settings</help> - </properties> - <children> - <tagNode name="aggregate-address"> - <properties> - <help>BGP aggregate network</help> - <valueHelp> - <format>ipv6net</format> - <description>Aggregate network</description> - </valueHelp> - <constraint> - <validator name="ipv6-prefix"/> - </constraint> - </properties> - <children> - #include <include/bgp-afi-aggregate-address.xml.i> - </children> - </tagNode> - <tagNode name="network"> - <properties> - <help>BGP network</help> - <valueHelp> - <format>ipv6net</format> - <description>Aggregate network</description> - </valueHelp> - <constraint> - <validator name="ipv6-prefix"/> - </constraint> - </properties> - <children> - <leafNode name="path-limit"> - <properties> - <help>AS-path hopcount limit</help> - <valueHelp> - <format>u32:0-255</format> - <description>AS path hop count limit</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-255"/> - </constraint> - </properties> - </leafNode> - #include <include/bgp-route-map.xml.i> - </children> - </tagNode> - #include <include/bgp-afi-maximum-paths.xml.i> - <node name="redistribute"> - <properties> - <help>Redistribute routes from other protocols into BGP</help> - </properties> - <children> - <node name="connected"> - <properties> - <help>Redistribute connected routes into BGP</help> - </properties> - <children> - #include <include/bgp-afi-redistribute-metric-route-map.xml.i> - </children> - </node> - <node name="kernel"> - <properties> - <help>Redistribute kernel routes into BGP</help> - </properties> - <children> - #include <include/bgp-afi-redistribute-metric-route-map.xml.i> - </children> - </node> - <node name="ospfv3"> - <properties> - <help>Redistribute OSPFv3 routes into BGP</help> - </properties> - <children> - #include <include/bgp-afi-redistribute-metric-route-map.xml.i> - </children> - </node> - <node name="ripng"> - <properties> - <help>Redistribute RIPng routes into BGP</help> - </properties> - <children> - #include <include/bgp-afi-redistribute-metric-route-map.xml.i> - </children> - </node> - <node name="static"> - <properties> - <help>Redistribute static routes into BGP</help> - </properties> - <children> - #include <include/bgp-afi-redistribute-metric-route-map.xml.i> - </children> - </node> - <leafNode name="table"> - <properties> - <help>Redistribute non-main Kernel Routing Table</help> - </properties> - </leafNode> - </children> - </node> - </children> - </node> - <node name="l2vpn-evpn"> - <properties> - <help>L2VPN EVPN BGP settings</help> - </properties> - <children> - <leafNode name="advertise-all-vni"> - <properties> - <help>Advertise All local VNIs</help> - <valueless/> - </properties> - </leafNode> - #include <include/bgp-afi-l2vpn-common.xml.i> - <leafNode name="advertise-pip"> - <properties> - <help>EVPN system primary IP</help> - <valueHelp> - <format>ipv4</format> - <description>IP address</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - </leafNode> - <leafNode name="rt-auto-derive"> - <properties> - <help>Auto derivation of Route Target (RFC8365)</help> - <valueless/> - </properties> - </leafNode> - <node name="flooding"> - <properties> - <help>Specify handling for BUM packets</help> - </properties> - <children> - <leafNode name="disable"> - <properties> - <help>Do not flood any BUM packets</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="head-end-replication"> - <properties> - <help>Flood BUM packets using head-end replication</help> - <valueless/> - </properties> - </leafNode> - </children> - </node> - <tagNode name="vni"> - <properties> - <help>VXLAN Network Identifier</help> - <valueHelp> - <format>u32:1-16777215</format> - <description>VNI number</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-16777215"/> - </constraint> - </properties> - <children> - #include <include/bgp-afi-l2vpn-common.xml.i> - </children> - </tagNode> - </children> - </node> - </children> - </node> - <node name="listen"> - <properties> - <help>Listen for and accept BGP dynamic neighbors from range</help> - </properties> - <children> - <leafNode name="limit"> - <properties> - <help>Maximum number of dynamic neighbors that can be created</help> - <valueHelp> - <format>u32:1-5000</format> - <description>BGP neighbor limit</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-5000"/> - </constraint> - </properties> - </leafNode> - <tagNode name="range"> - <properties> - <help>BGP dynamic neighbors listen range</help> - <valueHelp> - <format>ipv4net</format> - <description>IPv4 dynamic neighbors listen range</description> - </valueHelp> - <valueHelp> - <format>ipv6net</format> - <description>IPv6 dynamic neighbors listen range</description> - </valueHelp> - <constraint> - <validator name="ipv4-prefix"/> - <validator name="ipv6-prefix"/> - </constraint> - </properties> - <children> - #include <include/bgp-peer-group.xml.i> - </children> - </tagNode> - </children> - </node> - <tagNode name="neighbor"> - <properties> - <help>BGP neighbor</help> - <valueHelp> - <format>ipv4</format> - <description>BGP neighbor IP address</description> - </valueHelp> - <valueHelp> - <format>ipv6</format> - <description>BGP neighbor IPv6 address</description> - </valueHelp> - <valueHelp> - <format>txt</format> - <description>Interface name</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - <validator name="ipv6-address"/> - <validator name="interface-name"/> - </constraint> - </properties> - <children> - <node name="address-family"> - <properties> - <help>Parameters relating to IPv4 or IPv6 routes</help> - </properties> - <children> - #include <include/bgp-neighbor-afi-ipv4-unicast.xml.i> - #include <include/bgp-neighbor-afi-ipv6-unicast.xml.i> - #include <include/bgp-neighbor-afi-l2vpn-evpn.xml.i> - </children> - </node> - <leafNode name="advertisement-interval"> - <properties> - <help>Minimum interval for sending routing updates</help> - <valueHelp> - <format>u32:0-600</format> - <description>Advertisement interval in seconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-600"/> - </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> - <node name="interface"> - <properties> - <help>Interface parameters</help> - </properties> - <children> - #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> - #include <include/bgp-peer-group.xml.i> - #include <include/bgp-remote-as.xml.i> - </children> - </node> - </children> - </node> - #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> - <valueHelp> - <format>u32:1-65535</format> - <description>Neighbor BGP port number</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-65535"/> - </constraint> - </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> - <valueless/> - </properties> - </leafNode> - <node name="timers"> - <properties> - <help>Neighbor timers</help> - </properties> - <children> - <leafNode name="connect"> - <properties> - <help>BGP connect timer for this neighbor</help> - <valueHelp> - <format>u32:1-65535</format> - <description>Connect timer in seconds</description> - </valueHelp> - <valueHelp> - <format>0</format> - <description>Disable connect timer</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-65535"/> - </constraint> - </properties> - </leafNode> - #include <include/bgp-timers-holdtime.xml.i> - #include <include/bgp-timers-keepalive.xml.i> - </children> - </node> - #include <include/bgp-ttl-security.xml.i> - #include <include/bgp-update-source.xml.i> - </children> - </tagNode> - <node name="parameters"> - <properties> - <help>BGP parameters</help> - </properties> - <children> - <leafNode name="always-compare-med"> - <properties> - <help>Always compare MEDs from different neighbors</help> - <valueless/> - </properties> - </leafNode> - <node name="bestpath"> - <properties> - <help>Default bestpath selection mechanism</help> - </properties> - <children> - <node name="as-path"> - <properties> - <help>AS-path attribute comparison parameters</help> - </properties> - <children> - <leafNode name="confed"> - <properties> - <help>Compare AS-path lengths including confederation sets and sequences</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="ignore"> - <properties> - <help>Ignore AS-path length in selecting a route</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="multipath-relax"> - <properties> - <help>Allow load sharing across routes that have different AS paths (but same length)</help> - <valueless/> - </properties> - </leafNode> - </children> - </node> - <leafNode name="compare-routerid"> - <properties> - <help>Compare the router-id for identical EBGP paths</help> - <valueless/> - </properties> - </leafNode> - <node name="med"> - <properties> - <help>MED attribute comparison parameters</help> - </properties> - <children> - <leafNode name="confed"> - <properties> - <help>Compare MEDs among confederation paths</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="missing-as-worst"> - <properties> - <help>Treat missing route as a MED as the least preferred one</help> - <valueless/> - </properties> - </leafNode> - </children> - </node> - </children> - </node> - <leafNode name="cluster-id"> - <properties> - <help>Route-reflector cluster-id</help> - <valueHelp> - <format>ipv4</format> - <description>Route-reflector cluster-id</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - </leafNode> - <node name="confederation"> - <properties> - <help>AS confederation parameters</help> - </properties> - <children> - <leafNode name="identifier"> - <properties> - <help>Confederation AS identifier [REQUIRED]</help> - <valueHelp> - <format>u32:1-4294967294</format> - <description>Confederation AS id</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-4294967294"/> - </constraint> - </properties> - </leafNode> - <leafNode name="peers"> - <properties> - <help>Peer ASs in the BGP confederation</help> - <valueHelp> - <format>u32:1-4294967294</format> - <description>Peer AS number</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-4294967294"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - <node name="dampening"> - <properties> - <help>Enable route-flap dampening</help> - </properties> - <children> - <leafNode name="half-life"> - <properties> - <help>Half-life time for dampening [REQUIRED]</help> - <valueHelp> - <format>u32:1-45</format> - <description>Half-life penalty in minutes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-45"/> - </constraint> - </properties> - </leafNode> - <leafNode name="max-suppress-time"> - <properties> - <help>Maximum duration to suppress a stable route [REQUIRED]</help> - <valueHelp> - <format>u32:1-255</format> - <description>Maximum suppress duration in minutes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - <leafNode name="re-use"> - <properties> - <help>Threshold to start reusing a route [REQUIRED]</help> - <valueHelp> - <format>u32:1-20000</format> - <description>Re-use penalty points</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-20000"/> - </constraint> - </properties> - </leafNode> - <leafNode name="start-suppress-time"> - <properties> - <help>When to start suppressing a route [REQUIRED]</help> - <valueHelp> - <format>u32:1-20000</format> - <description>Start-suppress penalty points</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-20000"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - <node name="default"> - <properties> - <help>BGP defaults</help> - </properties> - <children> - <leafNode name="local-pref"> - <properties> - <help>Default local preference</help> - <valueHelp> - <format>u32</format> - <description>Local preference</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-4294967295"/> - </constraint> - </properties> - </leafNode> - <leafNode name="no-ipv4-unicast"> - <properties> - <help>Deactivate IPv4 unicast for a peer by default</help> - <valueless/> - </properties> - </leafNode> - </children> - </node> - <leafNode name="deterministic-med"> - <properties> - <help>Compare MEDs between different peers in the same AS</help> - <valueless/> - </properties> - </leafNode> - <node name="distance"> - <properties> - <help>Administratives distances for BGP routes</help> - </properties> - <children> - <node name="global"> - <properties> - <help>Global administratives distances for BGP routes</help> - </properties> - <children> - <leafNode name="external"> - <properties> - <help>Administrative distance for external BGP routes</help> - <valueHelp> - <format>u32:1-255</format> - <description>Administrative distance for external BGP routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - <leafNode name="internal"> - <properties> - <help>Administrative distance for internal BGP routes</help> - <valueHelp> - <format>u32:1-255</format> - <description>Administrative distance for internal BGP routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - <leafNode name="local"> - <properties> - <help>Administrative distance for local BGP routes</help> - <valueHelp> - <format>u32:1-255</format> - <description>Administrative distance for internal BGP routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - <tagNode name="prefix"> - <properties> - <help>Administrative distance for a specific BGP prefix</help> - <valueHelp> - <format>ipv4net</format> - <description>Administrative distance for a specific BGP prefix</description> - </valueHelp> - <constraint> - <validator name="ipv4-prefix"/> - </constraint> - </properties> - <children> - <leafNode name="distance"> - <properties> - <help>Administrative distance for prefix</help> - <valueHelp> - <format>u32:1-255</format> - <description>Administrative distance for external BGP routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - </children> - </tagNode> - </children> - </node> - <leafNode name="ebgp-requires-policy"> - <properties> - <help>Require in and out policy for eBGP peers (RFC8212)</help> - <valueless/> - </properties> - </leafNode> - <node name="graceful-restart"> - <properties> - <help>Graceful restart capability parameters</help> - </properties> - <children> - <leafNode name="stalepath-time"> - <properties> - <help>Maximum time to hold onto restarting neighbors stale paths</help> - <valueHelp> - <format>u32:1-3600</format> - <description>Hold time in seconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-3600"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - <leafNode name="graceful-shutdown"> - <properties> - <help>Graceful shutdown</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="log-neighbor-changes"> - <properties> - <help>Log neighbor up/down changes and reset reason</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="network-import-check"> - <properties> - <help>Enable IGP route check for network statements</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="no-client-to-client-reflection"> - <properties> - <help>Disable client to client route reflection</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="no-fast-external-failover"> - <properties> - <help>Disable immediate session reset on peer link down event</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="router-id"> - <properties> - <help>BGP router id</help> - <valueHelp> - <format>ipv4</format> - <description>BGP router id</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - <tagNode name="peer-group"> - <properties> - <help>BGP peer-group</help> - </properties> - <children> - <node name="address-family"> - <properties> - <help>BGP peer-group address-family parameters</help> - </properties> - <children> - #include <include/bgp-neighbor-afi-ipv4-unicast.xml.i> - #include <include/bgp-neighbor-afi-ipv6-unicast.xml.i> - #include <include/bgp-neighbor-afi-l2vpn-evpn.xml.i> - </children> - </node> - #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> - #include <include/bgp-route-map.xml.i> - <node name="timers"> - <properties> - <help>BGP protocol timers</help> - </properties> - <children> - #include <include/bgp-timers-holdtime.xml.i> - #include <include/bgp-timers-keepalive.xml.i> - </children> - </node> + #include <include/bgp/protocol-common-config.xml.i> </children> - </tagNode> + </node> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/protocols-isis.xml.in b/interface-definitions/protocols-isis.xml.in index 4ac378977..42d5049cc 100644 --- a/interface-definitions/protocols-isis.xml.in +++ b/interface-definitions/protocols-isis.xml.in @@ -1,782 +1,17 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- Protocol IS-IS configuration --> <interfaceDefinition> <node name="protocols"> <children> - <tagNode name="isis" owner="${vyos_conf_scripts_dir}/protocols_isis.py"> + <node name="isis" owner="${vyos_conf_scripts_dir}/protocols_isis.py"> <properties> <help>Intermediate System to Intermediate System (IS-IS)</help> - <valueHelp> - <format>text(TAG)</format> - <description>ISO Routing area tag</description> - </valueHelp> + <priority>610</priority> </properties> <children> - <node name="area-password"> - <properties> - <help>Configure the authentication password for an area</help> - </properties> - <children> - <leafNode name="plaintext-password"> - <properties> - <help>Plain-text authentication type</help> - <valueHelp> - <format>txt</format> - <description>Level-wide password</description> - </valueHelp> - </properties> - </leafNode> - <leafNode name="md5"> - <properties> - <help>MD5 authentication type</help> - <valueHelp> - <format>txt</format> - <description>Level-wide password</description> - </valueHelp> - </properties> - </leafNode> - </children> - </node> - <node name="default-information"> - <properties> - <help>Control distribution of default information</help> - </properties> - <children> - <node name="originate"> - <properties> - <help>Distribute a default route</help> - </properties> - <children> - <node name="ipv4"> - <properties> - <help>Distribute default route for IPv4</help> - </properties> - <children> - <leafNode name="level-1"> - <properties> - <help>Distribute default route into level-1</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="level-2"> - <properties> - <help>Distribute default route into level-2</help> - <valueless/> - </properties> - </leafNode> - </children> - </node> - <node name="ipv6"> - <properties> - <help>Distribute default route for IPv6</help> - </properties> - <children> - <leafNode name="level-1"> - <properties> - <help>Distribute default route into level-1</help> - <completionHelp> - <list>always</list> - </completionHelp> - <valueHelp> - <format>always</format> - <description>Always advertise default route</description> - </valueHelp> - </properties> - </leafNode> - <leafNode name="level-2"> - <properties> - <help>Distribute default route into level-2</help> - <completionHelp> - <list>always</list> - </completionHelp> - <valueHelp> - <format>always</format> - <description>Always advertise default route</description> - </valueHelp> - </properties> - </leafNode> - </children> - </node> - </children> - </node> - </children> - </node> - <node name="domain-password"> - <properties> - <help>Set the authentication password for a routing domain</help> - </properties> - <children> - <leafNode name="plaintext-password"> - <properties> - <help>Plain-text authentication type</help> - <valueHelp> - <format>txt</format> - <description>Level-wide password</description> - </valueHelp> - </properties> - </leafNode> -<!-- - <leafNode name="md5"> - <properties> - <help>MD5 authentication type</help> - <valueHelp> - <format>txt</format> - <description>Level-wide password</description> - </valueHelp> - </properties> - </leafNode> ---> - </children> - </node> - <leafNode name="dynamic-hostname"> - <properties> - <help>Dynamic hostname for IS-IS</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="level"> - <properties> - <help>IS-IS level number</help> - <completionHelp> - <list>level-1 level-1-2 level-2</list> - </completionHelp> - <valueHelp> - <format>level-1</format> - <description>Act as a station router</description> - </valueHelp> - <valueHelp> - <format>level-1-2</format> - <description>Act as both a station and an area router</description> - </valueHelp> - <valueHelp> - <format>level-2</format> - <description>Act as an area router</description> - </valueHelp> - <constraint> - <regex>(level-1|level-1-2|level-2)</regex> - </constraint> - </properties> - </leafNode> - <leafNode name="lsp-gen-interval"> - <properties> - <help>Minimum interval between regenerating same LSP</help> - <valueHelp> - <format>u32:1-120</format> - <description>Minimum interval in seconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-120"/> - </constraint> - </properties> - </leafNode> - <leafNode name="lsp-mtu"> - <properties> - <help>Configure the maximum size of generated LSPs</help> - <valueHelp> - <format>u32:128-4352</format> - <description>Maximum size of generated LSPs</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 128-4352"/> - </constraint> - </properties> - </leafNode> - <leafNode name="lsp-refresh-interval"> - <properties> - <help>LSP refresh interval</help> - <valueHelp> - <format>u32:1-65235</format> - <description>LSP refresh interval in seconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-65235"/> - </constraint> - </properties> - </leafNode> - <leafNode name="max-lsp-lifetime"> - <properties> - <help>Maximum LSP lifetime</help> - <valueHelp> - <format>u32:350-65535</format> - <description>LSP lifetime in seconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-65535"/> - </constraint> - </properties> - </leafNode> - <leafNode name="metric-style"> - <properties> - <help>Use old-style (ISO 10589) or new-style packet formats</help> - <completionHelp> - <list>narrow transition wide</list> - </completionHelp> - <valueHelp> - <format>narrow</format> - <description>Use old style of TLVs with narrow metric</description> - </valueHelp> - <valueHelp> - <format>transition</format> - <description>Send and accept both styles of TLVs during transition</description> - </valueHelp> - <valueHelp> - <format>wide</format> - <description>Use new style of TLVs to carry wider metric</description> - </valueHelp> - <constraint> - <regex>(narrow|transition|wide)</regex> - </constraint> - </properties> - </leafNode> - <leafNode name="net"> - <properties> - <help>A Network Entity Title for this process (ISO only)</help> - <valueHelp> - <format>XX.XXXX. ... .XXX.XX</format> - <description>Network entity title (NET)</description> - </valueHelp> - <constraint> - <regex>[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){3,9}\.[a-fA-F0-9]{2}</regex> - </constraint> - </properties> - </leafNode> - <leafNode name="purge-originator"> - <properties> - <help>Use the RFC 6232 purge-originator</help> - <valueless/> - </properties> - </leafNode> - <node name="traffic-engineering"> - <properties> - <help>Show IS-IS neighbor adjacencies</help> - </properties> - <children> - <leafNode name="enable"> - <properties> - <help>Enable MPLS traffic engineering extensions</help> - <valueless/> - </properties> - </leafNode> -<!-- - <node name="inter-as"> - <properties> - <help>MPLS traffic engineering inter-AS support</help> - </properties> - <children> - <leafNode name="level-1"> - <properties> - <help>Area native mode self originate inter-AS LSP with L1 only flooding scope</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="level-1-2"> - <properties> - <help>Area native mode self originate inter-AS LSP with L1 and L2 flooding scope</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="level-2"> - <properties> - <help>Area native mode self originate inter-AS LSP with L2 only flooding scope</help> - <valueless/> - </properties> - </leafNode> - </children> - </node> - <leafNode name="inter-as"> - <properties> - <help>MPLS traffic engineering inter-AS support</help> - <valueless/> - </properties> - </leafNode> ---> - <leafNode name="address"> - <properties> - <help>MPLS traffic engineering router ID</help> - <valueHelp> - <format>ipv4</format> - <description>IPv4 address</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - <node name="segment-routing"> - <properties> - <help>Segment-Routing (SPRING) settings</help> - </properties> - <children> - <leafNode name="enable"> - <properties> - <help>Enable segment-routing functionality</help> - <valueless/> - </properties> - </leafNode> - <node name="global-block"> - <properties> - <help>Global block label range</help> - </properties> - <children> - <leafNode name="low-label-value"> - <properties> - <help>The lower bound of the global block</help> - <valueHelp> - <format>u32:16-1048575</format> - <description>MPLS label value</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 16-1048575"/> - </constraint> - </properties> - </leafNode> - <leafNode name="high-label-value"> - <properties> - <help>The upper bound of the global block</help> - <valueHelp> - <format>u32:16-1048575</format> - <description>MPLS label value</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 16-1048575"/> - </constraint> - </properties> - </leafNode> - </children> - </node> -<!-- - <node name="local-block"> - <properties> - <help>Local Block label range</help> - </properties> - <children> - <leafNode name="low-label-value"> - <properties> - <help>The lower bound of the local block</help> - <valueHelp> - <format>u32:16-1048575</format> - <description>MPLS label value</description> - </valueHelp> - <constraint> - <validator name="numeric" argument=" range 16-1048575"/> - </constraint> - </properties> - </leafNode> - <leafNode name="high-label-value"> - <properties> - <help>The upper bound of the local block</help> - <valueHelp> - <format>u32:16-1048575</format> - <description>MPLS label value</description> - </valueHelp> - <constraint> - <validator name="numeric" argument=" range 16-1048575"/> - </constraint> - </properties> - </leafNode> - </children> - </node> ---> - <leafNode name="maximum-label-depth"> - <properties> - <help>Maximum MPLS labels allowed for this router</help> - <valueHelp> - <format>u32:1-16</format> - <description>MPLS label depth</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-16"/> - </constraint> - </properties> - </leafNode> - <tagNode name="prefix"> - <properties> - <help>Static IPv4/IPv6 prefix segment/label mapping</help> - <valueHelp> - <format>ipv4net</format> - <description>IPv4 prefix segment</description> - </valueHelp> - <valueHelp> - <format>ipv6net</format> - <description>IPv6 prefix segment</description> - </valueHelp> - <constraint> - <validator name="ipv4-prefix"/> - <validator name="ipv6-prefix"/> - </constraint> - </properties> - <children> - <node name="absolute"> - <properties> - <help>Specify the absolute value of prefix segment/label ID</help> - </properties> - <children> - <leafNode name="value"> - <properties> - <help>Specify the absolute value of prefix segment/label ID</help> - <valueHelp> - <format>u32:16-1048575</format> - <description>The absolute segment/label ID value</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 16-1048575"/> - </constraint> - </properties> - </leafNode> - <leafNode name="explicit-null"> - <properties> - <help>Request upstream neighbor to replace segment/label with explicit null label</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="no-php-flag"> - <properties> - <help>Do not request penultimate hop popping for segment/label</help> - <valueless/> - </properties> - </leafNode> - </children> - </node> - <node name="index"> - <properties> - <help>Specify the index value of prefix segment/label ID</help> - </properties> - <children> - <leafNode name="value"> - <properties> - <help>Specify the index value of prefix segment/label ID</help> - <valueHelp> - <format>u32:0-65535</format> - <description>The index segment/label ID value</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-65535"/> - </constraint> - </properties> - </leafNode> - <leafNode name="explicit-null"> - <properties> - <help>Request upstream neighbor to replace segment/label with explicit null label</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="no-php-flag"> - <properties> - <help>Do not request penultimate hop popping for segment/label</help> - <valueless/> - </properties> - </leafNode> - </children> - </node> - </children> - </tagNode> - </children> - </node> - <node name="redistribute"> - <properties> - <help>Redistribute information from another routing protocol</help> - </properties> - <children> - <node name="ipv4"> - <properties> - <help>Redistribute IPv4 routes</help> - </properties> - <children> - <node name="bgp"> - <properties> - <help>Border Gateway Protocol (BGP)</help> - </properties> - <children> - #include <include/isis-redistribute-ipv4.xml.i> - </children> - </node> - <node name="connected"> - <properties> - <help>Redistribute connected routes into IS-IS</help> - </properties> - <children> - #include <include/isis-redistribute-ipv4.xml.i> - </children> - </node> - <node name="kernel"> - <properties> - <help>Redistribute kernel routes into IS-IS</help> - </properties> - <children> - #include <include/isis-redistribute-ipv4.xml.i> - </children> - </node> - <node name="ospf"> - <properties> - <help>Redistribute OSPF routes into IS-IS</help> - </properties> - <children> - #include <include/isis-redistribute-ipv4.xml.i> - </children> - </node> - <node name="rip"> - <properties> - <help>Redistribute RIP routes into IS-IS</help> - </properties> - <children> - #include <include/isis-redistribute-ipv4.xml.i> - </children> - </node> - <node name="static"> - <properties> - <help>Redistribute static routes into IS-IS</help> - </properties> - <children> - #include <include/isis-redistribute-ipv4.xml.i> - </children> - </node> - </children> - </node> - </children> - </node> - <leafNode name="set-attached-bit"> - <properties> - <help>Set attached bit to identify as L1/L2 router for inter-area traffic</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="set-overload-bit"> - <properties> - <help>Set overload bit to avoid any transit traffic</help> - <valueless/> - </properties> - </leafNode> - <node name="spf-delay-ietf"> - <properties> - <help>IETF SPF delay algorithm</help> - </properties> - <children> - <leafNode name="init-delay"> - <properties> - <help>Delay used while in QUIET state</help> - <valueHelp> - <format>u32:0-60000</format> - <description>Delay used while in QUIET state (in ms)</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-60000"/> - </constraint> - </properties> - </leafNode> - <leafNode name="short-delay"> - <properties> - <help>Delay used while in SHORT_WAIT state</help> - <valueHelp> - <format>u32:0-60000</format> - <description>Delay used while in SHORT_WAIT state (in ms)</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-60000"/> - </constraint> - </properties> - </leafNode> - <leafNode name="long-delay"> - <properties> - <help>Delay used while in LONG_WAIT</help> - <valueHelp> - <format>u32:0-60000</format> - <description>Delay used while in LONG_WAIT state (in ms)</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-60000"/> - </constraint> - </properties> - </leafNode> - <leafNode name="holddown"> - <properties> - <help>Time with no received IGP events before considering IGP stable</help> - <valueHelp> - <format>u32:0-60000</format> - <description>Time with no received IGP events before considering IGP stable (in ms)</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-60000"/> - </constraint> - </properties> - </leafNode> - <leafNode name="time-to-learn"> - <properties> - <help>Maximum duration needed to learn all the events related to a single failure</help> - <valueHelp> - <format>u32:0-60000</format> - <description>Maximum duration needed to learn all the events related to a single failure (in ms)</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-60000"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - <leafNode name="spf-interval"> - <properties> - <help>Minimum interval between SPF calculations</help> - <valueHelp> - <format>u32:1-120</format> - <description>Minimum interval between consecutive SPFs in seconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-120"/> - </constraint> - </properties> - </leafNode> - <tagNode name="interface"> - <!-- (config-if)# ip router isis WORD (same as name of IS-IS process) - if any section of "interface" pesent --> - <properties> - <help>Interface params</help> - <completionHelp> - <script>${vyos_completion_dir}/list_interfaces.py</script> - </completionHelp> - </properties> - <children> - <leafNode name="bfd"> - <properties> - <help>Enable BFD support</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="circuit-type"> - <properties> - <help>Configure circuit type for interface</help> - <completionHelp> - <list>level-1 level-1-2 level-2-only</list> - </completionHelp> - <valueHelp> - <format>level-1</format> - <description>Level-1 only adjacencies are formed</description> - </valueHelp> - <valueHelp> - <format>level-1-2</format> - <description>Level-1-2 adjacencies are formed</description> - </valueHelp> - <valueHelp> - <format>level-2-only</format> - <description>Level-2 only adjacencies are formed</description> - </valueHelp> - <constraint> - <regex>(level-1|level-1-2|level-2-only)</regex> - </constraint> - </properties> - </leafNode> - <leafNode name="hello-padding"> - <properties> - <help>Add padding to IS-IS hello packets</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="hello-interval"> - <properties> - <help>Set Hello interval</help> - <valueHelp> - <format>u32:1-600</format> - <description>Set Hello interval</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-600"/> - </constraint> - </properties> - </leafNode> - <leafNode name="hello-multiplier"> - <properties> - <help>Set Hello interval</help> - <valueHelp> - <format>u32:2-100</format> - <description>Set multiplier for Hello holding time</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 2-100"/> - </constraint> - </properties> - </leafNode> - <leafNode name="metric"> - <properties> - <help>Set default metric for circuit</help> - <valueHelp> - <format>u32:0-16777215</format> - <description>Default metric value</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-16777215"/> - </constraint> - </properties> - </leafNode> - <node name="network"> - <properties> - <help>Set network type</help> - </properties> - <children> - <leafNode name="point-to-point"> - <properties> - <help>point-to-point network type</help> - <valueless/> - </properties> - </leafNode> - </children> - </node> - <leafNode name="passive"> - <properties> - <help>Configure the passive mode for interface</help> - <valueless/> - </properties> - </leafNode> - <node name="password"> - <properties> - <help>Configure the authentication password for a circuit</help> - </properties> - <children> - <leafNode name="plaintext-password"> - <properties> - <help>Plain-text authentication type</help> - <valueHelp> - <format>txt</format> - <description>Circuit password</description> - </valueHelp> - </properties> - </leafNode> - </children> - </node> - <leafNode name="priority"> - <properties> - <help>Set priority for Designated Router election</help> - <valueHelp> - <format>u32:0-127</format> - <description>Priority value</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-127"/> - </constraint> - </properties> - </leafNode> - <leafNode name="psnp-interval"> - <properties> - <help>Set PSNP interval in seconds</help> - <valueHelp> - <format>u32:0-127</format> - <description>Priority value</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-127"/> - </constraint> - </properties> - </leafNode> - <leafNode name="no-three-way-handshake"> - <properties> - <help>Disable three-way handshake</help> - <valueless/> - </properties> - </leafNode> - </children> - </tagNode> + #include <include/isis/isis-common-config.xml.i> + #include <include/route-map.xml.i> </children> - </tagNode> + </node> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/protocols-mpls.xml.in b/interface-definitions/protocols-mpls.xml.in index de1aa436d..e7646e625 100644 --- a/interface-definitions/protocols-mpls.xml.in +++ b/interface-definitions/protocols-mpls.xml.in @@ -14,18 +14,7 @@ <help>Label Distribution Protocol (LDP)</help> </properties> <children> - <leafNode name="router-id"> - <properties> - <help>Label Distribution Protocol router ID</help> - <valueHelp> - <format>ipv4</format> - <description>LDP IPv4 ID</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - </leafNode> + #include <include/router-id.xml.i> <node name="allocation"> <properties> <help>Forwarding equivalence class allocation from local routes</help> diff --git a/interface-definitions/protocols-ospf.xml.in b/interface-definitions/protocols-ospf.xml.in index b9c9fcc04..eae522893 100644 --- a/interface-definitions/protocols-ospf.xml.in +++ b/interface-definitions/protocols-ospf.xml.in @@ -1,5 +1,4 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- Protocol OSPF configuration --> <interfaceDefinition> <node name="protocols"> <children> @@ -9,822 +8,8 @@ <priority>620</priority> </properties> <children> - <tagNode name="access-list"> - <properties> - <help>Access list to filter networks in routing updates</help> - <completionHelp> - <path>policy access-list</path> - </completionHelp> - <valueHelp> - <format>u32</format> - <description>Access-list number</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-4294967295"/> - </constraint> - </properties> - <children> - <leafNode name="export"> - <properties> - <help>Filter for outgoing routing update [REQUIRED]</help> - <completionHelp> - <list>bgp connected kernel rip static</list> - </completionHelp> - <valueHelp> - <format>bgp</format> - <description>Filter BGP routes</description> - </valueHelp> - <valueHelp> - <format>connected</format> - <description>Filter connected routes</description> - </valueHelp> - <valueHelp> - <format>isis</format> - <description>Filter IS-IS routes</description> - </valueHelp> - <valueHelp> - <format>kernel</format> - <description>Filter Kernel routes</description> - </valueHelp> - <valueHelp> - <format>rip</format> - <description>Filter RIP routes</description> - </valueHelp> - <valueHelp> - <format>static</format> - <description>Filter static routes</description> - </valueHelp> - <constraint> - <regex>^(bgp|connected|isis|kernel|rip|static)$</regex> - </constraint> - <constraintErrorMessage>Must be bgp, connected, kernel, rip, or static</constraintErrorMessage> - <multi/> - </properties> - </leafNode> - </children> - </tagNode> - <tagNode name="area"> - <properties> - <help>OSPF Area</help> - <valueHelp> - <format>u32</format> - <description>OSPF area in decimal notation</description> - </valueHelp> - <valueHelp> - <format>ipv4</format> - <description>OSPF area in dotted decimal notation</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-4294967295"/> - <validator name="ip-address"/> - </constraint> - </properties> - <children> - <node name="area-type"> - <properties> - <help>Area type</help> - </properties> - <children> - <leafNode name="normal"> - <properties> - <help>Normal OSPF area</help> - <valueless/> - </properties> - </leafNode> - <node name="nssa"> - <properties> - <help>Nssa OSPF area</help> - </properties> - <children> - <leafNode name="default-cost"> - <properties> - <help>Summary-default cost of nssa area</help> - <valueHelp> - <format>u32:0-16777215</format> - <description>Summary default cost</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-16777215"/> - </constraint> - </properties> - </leafNode> - <leafNode name="no-summary"> - <properties> - <help>Do not inject inter-area routes into stub</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="translate"> - <properties> - <help>Configure NSSA-ABR (default: candidate)</help> - <completionHelp> - <list>always candidate never</list> - </completionHelp> - <valueHelp> - <format>always</format> - <description>NSSA-ABR to always translate</description> - </valueHelp> - <valueHelp> - <format>candidate</format> - <description>NSSA-ABR for translate election (default)</description> - </valueHelp> - <valueHelp> - <format>never</format> - <description>NSSA-ABR to never translate</description> - </valueHelp> - <constraint> - <regex>^(always|candidate|never)$</regex> - </constraint> - </properties> - <defaultValue>candidate</defaultValue> - </leafNode> - </children> - </node> - <node name="stub"> - <properties> - <help>Stub OSPF area</help> - </properties> - <children> - <leafNode name="default-cost"> - <properties> - <help>Summary-default cost of nssa area</help> - <valueHelp> - <format>u32:0-16777215</format> - <description>Summary default cost</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-16777215"/> - </constraint> - </properties> - </leafNode> - <leafNode name="no-summary"> - <properties> - <help>Do not inject inter-area routes into stub</help> - <valueless/> - </properties> - </leafNode> - </children> - </node> - </children> - </node> - <leafNode name="authentication"> - <properties> - <help>OSPF area authentication type</help> - <completionHelp> - <list>plaintext-password md5</list> - </completionHelp> - <valueHelp> - <format>plaintext-password</format> - <description>Use plain-text authentication</description> - </valueHelp> - <valueHelp> - <format>md5</format> - <description>Use md5 authentication</description> - </valueHelp> - <constraint> - <regex>^(plaintext-password|md5)$</regex> - </constraint> - </properties> - </leafNode> - <leafNode name="network"> - <properties> - <help>OSPF network [REQUIRED]</help> - <valueHelp> - <format>ipv4net</format> - <description>OSPF network [REQUIRED]</description> - </valueHelp> - <constraint> - <validator name="ipv4-prefix"/> - </constraint> - <multi/> - </properties> - </leafNode> - <tagNode name="range"> - <properties> - <help>Summarize routes matching prefix (border routers only)</help> - <valueHelp> - <format>ipv4net</format> - <description>Area range prefix</description> - </valueHelp> - <constraint> - <validator name="ipv4-prefix"/> - </constraint> - </properties> - <children> - <leafNode name="cost"> - <properties> - <help>Metric for this range</help> - <valueHelp> - <format>u32:0-16777215</format> - <description>Metric for this range</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-16777215"/> - </constraint> - </properties> - </leafNode> - <leafNode name="not-advertise"> - <properties> - <help>Do not advertise this range</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="substitute"> - <properties> - <help>Announce area range as another prefix</help> - <valueHelp> - <format>ipv4net</format> - <description>Announce area range as another prefix</description> - </valueHelp> - <constraint> - <validator name="ipv4-prefix"/> - </constraint> - </properties> - </leafNode> - </children> - </tagNode> - <leafNode name="shortcut"> - <properties> - <help>Area shortcut mode</help> - <completionHelp> - <list>default disable enable</list> - </completionHelp> - <valueHelp> - <format>default</format> - <description>Set default</description> - </valueHelp> - <valueHelp> - <format>disable</format> - <description>Disable shortcutting mode</description> - </valueHelp> - <valueHelp> - <format>enable</format> - <description>Enable shortcutting mode</description> - </valueHelp> - <constraint> - <regex>^(default|disable|enable)$</regex> - </constraint> - </properties> - </leafNode> - <tagNode name="virtual-link"> - <properties> - <help>Virtual link</help> - <valueHelp> - <format>ipv4</format> - <description>OSPF area in dotted decimal notation</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-4294967295"/> - <validator name="ip-address"/> - </constraint> - </properties> - <children> - #include <include/ospf-authentication.xml.i> - #include <include/ospf-intervals.xml.i> - </children> - </tagNode> - </children> - </tagNode> - <node name="auto-cost"> - <properties> - <help>Calculate OSPF interface cost according to bandwidth (default: 100)</help> - </properties> - <children> - <leafNode name="reference-bandwidth"> - <properties> - <help>Reference bandwidth method to assign OSPF cost</help> - <valueHelp> - <format>u32:1-4294967</format> - <description>Reference bandwidth cost in Mbits/sec</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-4294967"/> - </constraint> - </properties> - <defaultValue>100</defaultValue> - </leafNode> - </children> - </node> - <node name="default-information"> - <properties> - <help>Control distribution of default information</help> - </properties> - <children> - <node name="originate"> - <properties> - <help>Distribute a default route</help> - </properties> - <children> - <leafNode name="always"> - <properties> - <help>Always advertise default route</help> - <valueless/> - </properties> - </leafNode> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - </children> - </node> - <leafNode name="default-metric"> - <properties> - <help>Metric of redistributed routes</help> - <valueHelp> - <format>u32:0-16777214</format> - <description>Metric of redistributed routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-16777214"/> - </constraint> - </properties> - </leafNode> - <node name="distance"> - <properties> - <help>Administrative distance</help> - </properties> - <children> - <leafNode name="global"> - <properties> - <help>OSPF administrative distance</help> - <valueHelp> - <format>u32:1-255</format> - <description>Administrative distance</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - <node name="ospf"> - <properties> - <help>OSPF administrative distance</help> - </properties> - <children> - <leafNode name="external"> - <properties> - <help>Distance for external routes</help> - <valueHelp> - <format>u32:1-255</format> - <description>Distance for external routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - <leafNode name="inter-area"> - <properties> - <help>Distance for inter-area routes</help> - <valueHelp> - <format>u32:1-255</format> - <description>Distance for inter-area routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - <leafNode name="intra-area"> - <properties> - <help>Distance for intra-area routes</help> - <valueHelp> - <format>u32:1-255</format> - <description>Distance for intra-area routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - </children> - </node> - <tagNode name="interface"> - <properties> - <help>Interface related configuration</help> - <completionHelp> - <script>${vyos_completion_dir}/list_interfaces.py</script> - </completionHelp> - <valueHelp> - <format>txt</format> - <description>Interface name</description> - </valueHelp> - <constraint> - <validator name="interface-name"/> - </constraint> - </properties> - <children> - #include <include/ospf-authentication.xml.i> - #include <include/ospf-intervals.xml.i> - #include <include/ospf-interface-common.xml.i> - <leafNode name="bandwidth"> - <properties> - <help>Bandwidth of interface (Megabit/sec)</help> - <valueHelp> - <format>u32:1-100000</format> - <description>Bandwidth in Megabit/sec (for calculating OSPF cost)</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-100000"/> - </constraint> - </properties> - </leafNode> - <leafNode name="hello-multiplier"> - <properties> - <help>Hello multiplier factor</help> - <valueHelp> - <format>u32:1-10</format> - <description>Number of Hellos to send each second</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-10"/> - </constraint> - </properties> - </leafNode> - <leafNode name="network"> - <properties> - <help>Network type</help> - <completionHelp> - <list>broadcast non-broadcast point-to-multipoint point-to-point</list> - </completionHelp> - <valueHelp> - <format>broadcast</format> - <description>Broadcast network type</description> - </valueHelp> - <valueHelp> - <format>non-broadcast</format> - <description>Non-broadcast network type</description> - </valueHelp> - <valueHelp> - <format>point-to-multipoint</format> - <description>Point-to-multipoint network type</description> - </valueHelp> - <valueHelp> - <format>point-to-point</format> - <description>Point-to-point network type</description> - </valueHelp> - <constraint> - <regex>^(broadcast|non-broadcast|point-to-multipoint|point-to-point)$</regex> - </constraint> - <constraintErrorMessage>Must be broadcast, non-broadcast, point-to-multipoint or point-to-point</constraintErrorMessage> - </properties> - </leafNode> - </children> - </tagNode> - <node name="log-adjacency-changes"> - <properties> - <help>Log changes in adjacency state</help> - </properties> - <children> - <leafNode name="detail"> - <properties> - <help>Log all state changes</help> - <valueless/> - </properties> - </leafNode> - </children> - </node> - <node name="max-metric"> - <properties> - <help>OSPF maximum and infinite-distance metric</help> - </properties> - <children> - <node name="router-lsa"> - <properties> - <help>Advertise own Router-LSA with infinite distance (stub router)</help> - </properties> - <children> - <leafNode name="administrative"> - <properties> - <help>Administratively apply, for an indefinite period</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="on-shutdown"> - <properties> - <help>Advertise stub-router prior to full shutdown of OSPF</help> - <valueHelp> - <format>u32:5-100</format> - <description>Time (seconds) to advertise self as stub-router</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 5-100"/> - </constraint> - </properties> - </leafNode> - <leafNode name="on-startup"> - <properties> - <help>Automatically advertise stub Router-LSA on startup of OSPF</help> - <valueHelp> - <format>u32:5-86400</format> - <description>Time (seconds) to advertise self as stub-router</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 5-86400"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - </children> - </node> - <node name="mpls-te"> - <properties> - <help>MultiProtocol Label Switching-Traffic Engineering (MPLS-TE) parameters</help> - </properties> - <children> - <leafNode name="enable"> - <properties> - <help>Enable MPLS-TE functionality</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="router-address"> - <properties> - <help>Stable IP address of the advertising router</help> - <valueHelp> - <format>ipv4</format> - <description>Stable IP address of the advertising router</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - <defaultValue>0.0.0.0</defaultValue> - </leafNode> - </children> - </node> - <tagNode name="neighbor"> - <properties> - <help>Specify neighbor router</help> - <valueHelp> - <format>ipv4</format> - <description>Neighbor IP address</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - <children> - <leafNode name="poll-interval"> - <properties> - <help>Dead neighbor polling interval (default: 60)</help> - <valueHelp> - <format>u32:1-65535</format> - <description>Seconds between dead neighbor polling interval</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-65535"/> - </constraint> - </properties> - <defaultValue>60</defaultValue> - </leafNode> - <leafNode name="priority"> - <properties> - <help>Neighbor priority in seconds (default: 0)</help> - <valueHelp> - <format>u32:0-255</format> - <description>Neighbor priority</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-255"/> - </constraint> - </properties> - <defaultValue>0</defaultValue> - </leafNode> - </children> - </tagNode> - <node name="parameters"> - <properties> - <help>OSPF specific parameters</help> - </properties> - <children> - <leafNode name="abr-type"> - <properties> - <help>OSPF ABR type (default: cisco)</help> - <completionHelp> - <list>cisco ibm shortcut standard</list> - </completionHelp> - <valueHelp> - <format>cisco</format> - <description>Cisco ABR type (default)</description> - </valueHelp> - <valueHelp> - <format>ibm</format> - <description>Ibm ABR type</description> - </valueHelp> - <valueHelp> - <format>shortcut</format> - <description>Shortcut ABR type</description> - </valueHelp> - <valueHelp> - <format>standard</format> - <description>Standard ABR type</description> - </valueHelp> - <constraint> - <regex>^(cisco|ibm|shortcut|standard)$</regex> - </constraint> - </properties> - <defaultValue>cisco</defaultValue> - </leafNode> - <leafNode name="opaque-lsa"> - <properties> - <help>Enable the Opaque-LSA capability (rfc2370)</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="rfc1583-compatibility"> - <properties> - <help>Enable rfc1583 criteria for handling AS external routes</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="router-id"> - <properties> - <help>Override the default router identifier</help> - <valueHelp> - <format>ipv4</format> - <description>Override the default router identifier</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - #include <include/routing-passive-interface-xml.i> - <leafNode name="passive-interface-exclude"> - <properties> - <help>Interface to exclude when using 'passive-interface default'</help> - <completionHelp> - <script>${vyos_completion_dir}/list_interfaces.py</script> - </completionHelp> - <valueHelp> - <format>txt</format> - <description>Interface to exclude when suppressing routing updates</description> - </valueHelp> - <valueHelp> - <format>vlinkN</format> - <description>Virtual-link interface to exclude when suppressing routing updates</description> - </valueHelp> - <constraint> - <validator name="interface-name"/> - <regex>^(vlink[0-9]+)$</regex> - </constraint> - <multi/> - </properties> - </leafNode> - <node name="redistribute"> - <properties> - <help>Redistribute information from another routing protocol</help> - </properties> - <children> - <node name="bgp"> - <properties> - <help>Redistribute BGP routes</help> - </properties> - <children> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - <node name="connected"> - <properties> - <help>Redistribute connected routes</help> - </properties> - <children> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - <node name="isis"> - <properties> - <help>Redistribute IS-IS routes</help> - </properties> - <children> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - <node name="kernel"> - <properties> - <help>Redistribute kernel routes</help> - </properties> - <children> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - <node name="rip"> - <properties> - <help>Redistribute rip routes</help> - </properties> - <children> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - <node name="static"> - <properties> - <help>Redistribute static routes</help> - </properties> - <children> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - </children> - </node> - <node name="refresh"> - <properties> - <help>Adjust refresh parameters</help> - </properties> - <children> - <leafNode name="timers"> - <properties> - <help>Refresh timer</help> - <valueHelp> - <format>u32:10-1800</format> - <description>Timer value in seconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 10-1800"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - #include <include/ospf-route-map.xml.i> - <node name="timers"> - <properties> - <help>Adjust routing timers</help> - </properties> - <children> - <node name="throttle"> - <properties> - <help>Throttling adaptive timers</help> - </properties> - <children> - <node name="spf"> - <properties> - <help>OSPF SPF timers</help> - </properties> - <children> - <leafNode name="delay"> - <properties> - <help>Delay from first change received till SPF calculation (default: 200)</help> - <valueHelp> - <format>u32:0-600000</format> - <description>Delay in milliseconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-600000"/> - </constraint> - </properties> - <defaultValue>200</defaultValue> - </leafNode> - <leafNode name="initial-holdtime"> - <properties> - <help>Initial hold time between consecutive SPF calculations (default: 1000)</help> - <valueHelp> - <format>u32:0-600000</format> - <description>Initial hold time in milliseconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-600000"/> - </constraint> - </properties> - <defaultValue>1000</defaultValue> - </leafNode> - <leafNode name="max-holdtime"> - <properties> - <help>Maximum hold time (default: 10000)</help> - <valueHelp> - <format>u32:0-600000</format> - <description>Max hold time in milliseconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-600000"/> - </constraint> - </properties> - <defaultValue>10000</defaultValue> - </leafNode> - </children> - </node> - </children> - </node> - </children> - </node> + #include <include/ospf/protocol-common-config.xml.i> + #include <include/route-map.xml.i> </children> </node> </children> diff --git a/interface-definitions/protocols-ospfv3.xml.in b/interface-definitions/protocols-ospfv3.xml.in index 2559e2b03..99e671b32 100644 --- a/interface-definitions/protocols-ospfv3.xml.in +++ b/interface-definitions/protocols-ospfv3.xml.in @@ -90,59 +90,13 @@ <help>Administrative distance</help> </properties> <children> - <leafNode name="global"> - <properties> - <help>OSPFv3 administrative distance</help> - <valueHelp> - <format>u32:1-255</format> - <description>Administrative distance</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> + #include <include/ospf/distance-global.xml.i> <node name="ospfv3"> <properties> <help>OSPFv3 administrative distance</help> </properties> <children> - <leafNode name="external"> - <properties> - <help>Distance for external routes</help> - <valueHelp> - <format>u32:1-255</format> - <description>Distance for external routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - <leafNode name="inter-area"> - <properties> - <help>Distance for inter-area routes</help> - <valueHelp> - <format>u32:1-255</format> - <description>Distance for inter-area routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - <leafNode name="intra-area"> - <properties> - <help>Distance for intra-area routes</help> - <valueHelp> - <format>u32:1-255</format> - <description>Distance for intra-area routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> + #include <include/ospf/distance-per-protocol.xml.i> </children> </node> </children> @@ -162,8 +116,8 @@ </constraint> </properties> <children> - #include <include/ospf-intervals.xml.i> - #include <include/ospf-interface-common.xml.i> + #include <include/ospf/intervals.xml.i> + #include <include/ospf/interface-common.xml.i> <leafNode name="ifmtu"> <properties> <help>Interface MTU</help> @@ -209,12 +163,7 @@ <constraintErrorMessage>Must be broadcast or point-to-point</constraintErrorMessage> </properties> </leafNode> - <leafNode name="passive"> - <properties> - <help>Disable forming of adjacency</help> - <valueless/> - </properties> - </leafNode> + #include <include/isis/passive.xml.i> </children> </tagNode> <node name="parameters"> @@ -222,18 +171,7 @@ <help>OSPFv3 specific parameters</help> </properties> <children> - <leafNode name="router-id"> - <properties> - <help>Override the default router identifier</help> - <valueHelp> - <format>ipv4</format> - <description>Override the default router identifier</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - </leafNode> + #include <include/router-id.xml.i> </children> </node> <node name="redistribute"> @@ -246,7 +184,7 @@ <help>Redistribute BGP routes</help> </properties> <children> - #include <include/ospf-route-map.xml.i> + #include <include/route-map.xml.i> </children> </node> <node name="connected"> @@ -254,7 +192,7 @@ <help>Redistribute connected routes</help> </properties> <children> - #include <include/ospf-route-map.xml.i> + #include <include/route-map.xml.i> </children> </node> <node name="kernel"> @@ -262,7 +200,7 @@ <help>Redistribute kernel routes</help> </properties> <children> - #include <include/ospf-route-map.xml.i> + #include <include/route-map.xml.i> </children> </node> <node name="ripng"> @@ -270,7 +208,7 @@ <help>Redistribute RIPNG routes</help> </properties> <children> - #include <include/ospf-route-map.xml.i> + #include <include/route-map.xml.i> </children> </node> <node name="static"> @@ -278,12 +216,12 @@ <help>Redistribute static routes</help> </properties> <children> - #include <include/ospf-route-map.xml.i> + #include <include/route-map.xml.i> </children> </node> </children> </node> - #include <include/ospf-route-map.xml.i> + #include <include/route-map.xml.i> </children> </node> </children> diff --git a/interface-definitions/protocols-rip.xml.in b/interface-definitions/protocols-rip.xml.in index 1ae3bd8f7..4fcfcfc27 100644 --- a/interface-definitions/protocols-rip.xml.in +++ b/interface-definitions/protocols-rip.xml.in @@ -5,6 +5,7 @@ <node name="rip" owner="${vyos_conf_scripts_dir}/protocols_rip.py"> <properties> <help>Routing Information Protocol (RIP) parameters</help> + <priority>650</priority> </properties> <children> <leafNode name="default-distance"> @@ -19,14 +20,14 @@ </constraint> </properties> </leafNode> - #include <include/rip-default-information.xml.i> - #include <include/rip-default-metric.xml.i> + #include <include/rip/rip-default-information.xml.i> + #include <include/rip/rip-default-metric.xml.i> <node name="distribute-list"> <properties> <help>Filter networks in routing updates</help> </properties> <children> - #include <include/rip-access-list.xml.i> + #include <include/rip/rip-access-list.xml.i> <tagNode name="interface"> <properties> <help>Apply filtering to an interface</help> @@ -42,14 +43,14 @@ </constraint> </properties> <children> - #include <include/rip-access-list.xml.i> - #include <include/rip-prefix-list.xml.i> + #include <include/rip/rip-access-list.xml.i> + #include <include/rip/rip-prefix-list.xml.i> </children> </tagNode> - #include <include/rip-prefix-list.xml.i> + #include <include/rip/rip-prefix-list.xml.i> </children> </node> - #include <include/rip-interface.xml.i> + #include <include/rip/rip-interface.xml.i> <tagNode name="interface"> <children> <node name="authentication"> @@ -151,7 +152,7 @@ </completionHelp> </properties> </leafNode> - #include <include/static-route-distance.xml.i> + #include <include/static/static-route-distance.xml.i> </children> </tagNode> #include <include/routing-passive-interface-xml.i> @@ -165,7 +166,7 @@ <help>Redistribute BGP routes</help> </properties> <children> - #include <include/rip-redistribute.xml.i> + #include <include/rip/rip-redistribute.xml.i> </children> </node> <node name="connected"> @@ -173,7 +174,7 @@ <help>Redistribute connected routes</help> </properties> <children> - #include <include/rip-redistribute.xml.i> + #include <include/rip/rip-redistribute.xml.i> </children> </node> <node name="isis"> @@ -181,7 +182,7 @@ <help>Redistribute IS-IS routes</help> </properties> <children> - #include <include/rip-redistribute.xml.i> + #include <include/rip/rip-redistribute.xml.i> </children> </node> <node name="kernel"> @@ -189,7 +190,7 @@ <help>Redistribute kernel routes</help> </properties> <children> - #include <include/rip-redistribute.xml.i> + #include <include/rip/rip-redistribute.xml.i> </children> </node> <node name="ospf"> @@ -197,7 +198,7 @@ <help>Redistribute OSPF routes</help> </properties> <children> - #include <include/rip-redistribute.xml.i> + #include <include/rip/rip-redistribute.xml.i> </children> </node> <node name="static"> @@ -205,7 +206,7 @@ <help>Redistribute static routes</help> </properties> <children> - #include <include/rip-redistribute.xml.i> + #include <include/rip/rip-redistribute.xml.i> </children> </node> </children> @@ -223,7 +224,8 @@ <multi/> </properties> </leafNode> - #include <include/rip-timers.xml.i> + #include <include/rip/rip-timers.xml.i> + #include <include/route-map.xml.i> </children> </node> </children> diff --git a/interface-definitions/protocols-ripng.xml.in b/interface-definitions/protocols-ripng.xml.in index e456c3f3b..fe7411e65 100644 --- a/interface-definitions/protocols-ripng.xml.in +++ b/interface-definitions/protocols-ripng.xml.in @@ -5,6 +5,7 @@ <node name="ripng" owner="${vyos_conf_scripts_dir}/protocols_ripng.py"> <properties> <help>Routing Information Protocol (RIPng) parameters</help> + <priority>660</priority> </properties> <children> <leafNode name="aggregate-address"> @@ -20,14 +21,14 @@ <multi/> </properties> </leafNode> - #include <include/rip-default-information.xml.i> - #include <include/rip-default-metric.xml.i> + #include <include/rip/rip-default-information.xml.i> + #include <include/rip/rip-default-metric.xml.i> <node name="distribute-list"> <properties> <help>Filter networks in routing updates</help> </properties> <children> - #include <include/rip-access-list6.xml.i> + #include <include/rip/rip-access-list6.xml.i> <tagNode name="interface"> <properties> <help>Apply filtering to an interface</help> @@ -43,14 +44,14 @@ </constraint> </properties> <children> - #include <include/rip-access-list6.xml.i> - #include <include/rip-prefix-list6.xml.i> + #include <include/rip/rip-access-list6.xml.i> + #include <include/rip/rip-prefix-list6.xml.i> </children> </tagNode> - #include <include/rip-prefix-list6.xml.i> + #include <include/rip/rip-prefix-list6.xml.i> </children> </node> - #include <include/rip-interface.xml.i> + #include <include/rip/rip-interface.xml.i> <leafNode name="network"> <properties> <help>RIPng network</help> @@ -87,7 +88,7 @@ <help>Redistribute BGP routes</help> </properties> <children> - #include <include/rip-redistribute.xml.i> + #include <include/rip/rip-redistribute.xml.i> </children> </node> <node name="connected"> @@ -95,7 +96,7 @@ <help>Redistribute connected routes</help> </properties> <children> - #include <include/rip-redistribute.xml.i> + #include <include/rip/rip-redistribute.xml.i> </children> </node> <node name="kernel"> @@ -103,7 +104,7 @@ <help>Redistribute kernel routes</help> </properties> <children> - #include <include/rip-redistribute.xml.i> + #include <include/rip/rip-redistribute.xml.i> </children> </node> <node name="ospfv3"> @@ -111,7 +112,7 @@ <help>Redistribute OSPFv3 routes</help> </properties> <children> - #include <include/rip-redistribute.xml.i> + #include <include/rip/rip-redistribute.xml.i> </children> </node> <node name="static"> @@ -119,7 +120,7 @@ <help>Redistribute static routes</help> </properties> <children> - #include <include/rip-redistribute.xml.i> + #include <include/rip/rip-redistribute.xml.i> </children> </node> </children> @@ -137,8 +138,8 @@ <multi/> </properties> </leafNode> - #include <include/ospf-route-map.xml.i> - #include <include/rip-timers.xml.i> + #include <include/route-map.xml.i> + #include <include/rip/rip-timers.xml.i> </children> </node> </children> diff --git a/interface-definitions/protocols-static.xml.in b/interface-definitions/protocols-static.xml.in index 59a7927a5..3cc28e296 100644 --- a/interface-definitions/protocols-static.xml.in +++ b/interface-definitions/protocols-static.xml.in @@ -1,15 +1,19 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="protocols"> + <properties> + <help>Routing protocols</help> + </properties> <children> <node name="static" owner="${vyos_conf_scripts_dir}/protocols_static.py"> <properties> <help>Static route parameters</help> + <priority>480</priority> </properties> <children> - #include <include/static-route-map.xml.i> - #include <include/static-route.xml.i> - #include <include/static-route6.xml.i> + #include <include/route-map.xml.i> + #include <include/static/static-route.xml.i> + #include <include/static/static-route6.xml.i> <tagNode name="table"> <properties> <help>Policy route table number</help> @@ -22,8 +26,8 @@ </constraint> </properties> <children> - #include <include/static-route.xml.i> - #include <include/static-route6.xml.i> + #include <include/static/static-route.xml.i> + #include <include/static/static-route6.xml.i> </children> </tagNode> </children> diff --git a/interface-definitions/protocols-vrf.xml.in b/interface-definitions/protocols-vrf.xml.in deleted file mode 100644 index 77297938b..000000000 --- a/interface-definitions/protocols-vrf.xml.in +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<interfaceDefinition> - <node name="protocols"> - <children> - <tagNode name="vrf" owner="${vyos_conf_scripts_dir}/protocols_vrf.py"> - <properties> - <help>Name of VRF to add route for</help> - <completionHelp> - <path>vrf name</path> - </completionHelp> - <valueHelp> - <format>txt</format> - <description>VRF instance name</description> - </valueHelp> - <constraint> - <validator name="vrf-name"/> - </constraint> - <constraintErrorMessage>VRF instance name must be 15 characters or less and can not\nbe named as regular network interfaces.\n</constraintErrorMessage> - </properties> - <children> - <node name="static"> - <properties> - <help>Static route parameters</help> - </properties> - <children> - #include <include/static-route.xml.i> - #include <include/static-route6.xml.i> - </children> - </node> - #include <include/vni.xml.i> - </children> - </tagNode> - </children> - </node> -</interfaceDefinition> diff --git a/interface-definitions/salt-minion.xml.in b/interface-definitions/salt-minion.xml.in index c43374a0a..d3b022d12 100644 --- a/interface-definitions/salt-minion.xml.in +++ b/interface-definitions/salt-minion.xml.in @@ -15,7 +15,7 @@ <list>md5 sha1 sha224 sha256 sha384 sha512</list> </completionHelp> <constraint> - <regex>(md5|sha1|sha224|sha256|sha384|sha512)</regex> + <regex>^(md5|sha1|sha224|sha256|sha384|sha512)$</regex> </constraint> </properties> </leafNode> diff --git a/interface-definitions/service-ids-ddos-protection.xml.in b/interface-definitions/service-ids-ddos-protection.xml.in index 5e65d3106..ff4c1c24e 100644 --- a/interface-definitions/service-ids-ddos-protection.xml.in +++ b/interface-definitions/service-ids-ddos-protection.xml.in @@ -25,7 +25,7 @@ <list>in out</list> </completionHelp> <constraint> - <regex>(in|out)</regex> + <regex>^(in|out)$</regex> </constraint> <multi/> </properties> diff --git a/interface-definitions/service_console-server.xml.in b/interface-definitions/service_console-server.xml.in index 293ee1ba5..78eb2d0ba 100644 --- a/interface-definitions/service_console-server.xml.in +++ b/interface-definitions/service_console-server.xml.in @@ -27,7 +27,7 @@ </constraint> </properties> <children> - #include <include/interface-description.xml.i> + #include <include/interface/interface-description.xml.i> <leafNode name="speed"> <properties> <help>Serial port baud rate</help> diff --git a/interface-definitions/service_ipoe-server.xml.in b/interface-definitions/service_ipoe-server.xml.in index c54de58f5..7c575ba77 100644 --- a/interface-definitions/service_ipoe-server.xml.in +++ b/interface-definitions/service_ipoe-server.xml.in @@ -23,7 +23,7 @@ <list>L2 L3</list> </completionHelp> <constraint> - <regex>(L2|L3)</regex> + <regex>^(L2|L3)$</regex> </constraint> <valueHelp> <format>L2</format> @@ -42,7 +42,7 @@ <list>shared vlan</list> </completionHelp> <constraint> - <regex>(shared|vlan)</regex> + <regex>^(shared|vlan)$</regex> </constraint> <valueHelp> <format>shared</format> @@ -111,8 +111,8 @@ </leafNode> </children> </tagNode> - #include <include/accel-name-server.xml.i> - #include <include/accel-client-ipv6-pool.xml.i> + #include <include/accel-ppp/name-server.xml.i> + #include <include/accel-ppp/client-ipv6-pool.xml.i> <node name="authentication"> <properties> <help>Client authentication methods</help> @@ -125,7 +125,7 @@ <list>local radius noauth</list> </completionHelp> <constraint> - <regex>(local|radius|noauth)</regex> + <regex>^(local|radius|noauth)$</regex> </constraint> <valueHelp> <format>local</format> @@ -198,7 +198,7 @@ </children> </tagNode> #include <include/radius-server-ipv4.xml.i> - #include <include/accel-radius-additions.xml.i> + #include <include/accel-ppp/radius-additions.xml.i> </children> </node> </children> diff --git a/interface-definitions/service_pppoe-server.xml.in b/interface-definitions/service_pppoe-server.xml.in index 5c0a66527..dc8af67af 100644 --- a/interface-definitions/service_pppoe-server.xml.in +++ b/interface-definitions/service_pppoe-server.xml.in @@ -23,14 +23,14 @@ <help>Authentication for remote access PPPoE Server</help> </properties> <children> - #include <include/accel-auth-local-users.xml.i> - #include <include/accel-auth-mode.xml.i> - #include <include/accel-auth-protocols.xml.i> + #include <include/accel-ppp/auth-local-users.xml.i> + #include <include/accel-ppp/auth-mode.xml.i> + #include <include/accel-ppp/auth-protocols.xml.i> #include <include/radius-server-ipv4.xml.i> - #include <include/accel-radius-additions.xml.i> + #include <include/accel-ppp/radius-additions.xml.i> <node name="radius"> <children> - #include <include/accel-radius-additions-rate-limit.xml.i> + #include <include/accel-ppp/radius-additions-rate-limit.xml.i> <leafNode name="called-sid-format"> <properties> <help>Format of Called-Station-Id attribute</help> @@ -38,7 +38,7 @@ <list>ifname ifname:mac</list> </completionHelp> <constraint> - <regex>(ifname|ifname:mac)</regex> + <regex>^(ifname|ifname:mac)$</regex> </constraint> <constraintErrorMessage>Invalid Called-Station-Id format</constraintErrorMessage> <valueHelp> @@ -60,12 +60,12 @@ <help>Pool of client IP addresses (must be within a /24)</help> </properties> <children> - #include <include/accel-client-ip-pool-start-stop.xml.i> - #include <include/accel-client-ip-pool-subnet.xml.i> + #include <include/accel-ppp/client-ip-pool-start-stop.xml.i> + #include <include/accel-ppp/client-ip-pool-subnet.xml.i> </children> </node> - #include <include/accel-client-ipv6-pool.xml.i> - #include <include/accel-name-server.xml.i> + #include <include/accel-ppp/client-ipv6-pool.xml.i> + #include <include/accel-ppp/name-server.xml.i> <tagNode name="interface"> <properties> <help>interface(s) to listen on</help> @@ -95,8 +95,8 @@ </leafNode> </children> </tagNode> - #include <include/accel-gateway-address.xml.i> - #include <include/accel-mtu-128-16384.xml.i> + #include <include/accel-ppp/gateway-address.xml.i> + #include <include/accel-ppp/mtu-128-16384.xml.i> <node name="limits"> <properties> <help>Limits the connection rate from a single source</help> @@ -133,7 +133,7 @@ <multi/> </properties> </leafNode> - #include <include/accel-wins-server.xml.i> + #include <include/accel-ppp/wins-server.xml.i> <node name="ppp-options"> <properties> <help>Advanced protocol options</help> @@ -161,14 +161,14 @@ <valueless /> </properties> </leafNode> - #include <include/accel-ppp-mppe.xml.i> - #include <include/accel-lcp-echo-interval-failure.xml.i> - #include <include/accel-lcp-echo-timeout.xml.i> + #include <include/accel-ppp/ppp-mppe.xml.i> + #include <include/accel-ppp/lcp-echo-interval-failure.xml.i> + #include <include/accel-ppp/lcp-echo-timeout.xml.i> <leafNode name="ipv4"> <properties> <help>IPv4 (IPCP) negotiation algorithm</help> <constraint> - <regex>(deny|allow|prefer|require)</regex> + <regex>^(deny|allow|prefer|require)$</regex> </constraint> <constraintErrorMessage>invalid value</constraintErrorMessage> <valueHelp> @@ -196,7 +196,7 @@ <properties> <help>IPv6 (IPCP6) negotiation algorithm</help> <constraint> - <regex>(deny|allow|prefer|require)</regex> + <regex>^(deny|allow|prefer|require)$</regex> </constraint> <constraintErrorMessage>invalid value</constraintErrorMessage> <valueHelp> diff --git a/interface-definitions/service_router-advert.xml.in b/interface-definitions/service_router-advert.xml.in index 94255aeb2..47ac4e25d 100644 --- a/interface-definitions/service_router-advert.xml.in +++ b/interface-definitions/service_router-advert.xml.in @@ -215,7 +215,7 @@ </valueHelp> <constraint> <validator name="numeric" argument="--range 0-4294967295"/> - <regex>(infinity)</regex> + <regex>^(infinity)$</regex> </constraint> </properties> <defaultValue>2592000</defaultValue> diff --git a/interface-definitions/snmp.xml.in b/interface-definitions/snmp.xml.in index 3a993ec9c..f57103eac 100644 --- a/interface-definitions/snmp.xml.in +++ b/interface-definitions/snmp.xml.in @@ -626,7 +626,7 @@ </tagNode> </children> </node> - #include <include/interface-vrf.xml.i> + #include <include/interface/interface-vrf.xml.i> </children> </node> </children> diff --git a/interface-definitions/ssh.xml.in b/interface-definitions/ssh.xml.in index a2ce3c1c9..6faef9bd5 100644 --- a/interface-definitions/ssh.xml.in +++ b/interface-definitions/ssh.xml.in @@ -2,6 +2,9 @@ <!--SSH configuration --> <interfaceDefinition> <node name="service"> + <properties> + <help>System services</help> + </properties> <children> <node name="ssh" owner="${vyos_conf_scripts_dir}/ssh.py"> <properties> @@ -182,7 +185,7 @@ </constraint> </properties> </leafNode> - #include <include/interface-vrf.xml.i> + #include <include/interface/interface-vrf.xml.i> </children> </node> </children> diff --git a/interface-definitions/system-console.xml.in b/interface-definitions/system-console.xml.in index 71e63d0cb..88f7f82a9 100644 --- a/interface-definitions/system-console.xml.in +++ b/interface-definitions/system-console.xml.in @@ -71,7 +71,7 @@ <description>115200 bps</description> </valueHelp> <constraint> - <regex>(1200|2400|4800|9600|19200|38400|57600|115200)</regex> + <regex>^(1200|2400|4800|9600|19200|38400|57600|115200)$</regex> </constraint> </properties> </leafNode> diff --git a/interface-definitions/system-ip.xml.in b/interface-definitions/system-ip.xml.in index 0bd461042..86fbe5701 100644 --- a/interface-definitions/system-ip.xml.in +++ b/interface-definitions/system-ip.xml.in @@ -20,7 +20,7 @@ <list>1024 2048 4096 8192 16384 32768</list> </completionHelp> <constraint> - <regex>(1024|2048|4096|8192|16384|32768)</regex> + <regex>^(1024|2048|4096|8192|16384|32768)$</regex> </constraint> </properties> <defaultValue>8192</defaultValue> diff --git a/interface-definitions/system-ipv6.xml.in b/interface-definitions/system-ipv6.xml.in index 6ead747a1..5ee7adf54 100644 --- a/interface-definitions/system-ipv6.xml.in +++ b/interface-definitions/system-ipv6.xml.in @@ -45,7 +45,7 @@ <list>1024 2048 4096 8192 16384 32768</list> </completionHelp> <constraint> - <regex>(1024|2048|4096|8192|16384|32768)</regex> + <regex>^(1024|2048|4096|8192|16384|32768)$</regex> </constraint> </properties> </leafNode> diff --git a/interface-definitions/system-login.xml.in b/interface-definitions/system-login.xml.in index 919974eeb..86db3f368 100644 --- a/interface-definitions/system-login.xml.in +++ b/interface-definitions/system-login.xml.in @@ -145,7 +145,7 @@ </leafNode> </children> </tagNode> - #include <include/interface-vrf.xml.i> + #include <include/interface/interface-vrf.xml.i> </children> </node> </children> diff --git a/interface-definitions/system-syslog.xml.in b/interface-definitions/system-syslog.xml.in index c58922a3d..f3dcae2f3 100644 --- a/interface-definitions/system-syslog.xml.in +++ b/interface-definitions/system-syslog.xml.in @@ -28,7 +28,7 @@ <list>auth authpriv cron daemon kern lpr mail mark news protocols security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 all</list> </completionHelp> <constraint> - <regex>(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)</regex> + <regex>^(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)$</regex> </constraint> <constraintErrorMessage>Invalid facility type</constraintErrorMessage> <valueHelp> @@ -132,7 +132,7 @@ <list>emerg alert crit err warning notice info debug all</list> </completionHelp> <constraint> - <regex>(emerg|alert|crit|err|warning|notice|info|debug|all)</regex> + <regex>^(emerg|alert|crit|err|warning|notice|info|debug|all)$</regex> </constraint> <constraintErrorMessage>Invalid loglevel</constraintErrorMessage> <valueHelp> @@ -215,7 +215,7 @@ <list>auth authpriv cron daemon kern lpr mail mark news protocols security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 all</list> </completionHelp> <constraint> - <regex>(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)</regex> + <regex>^(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)$</regex> </constraint> <constraintErrorMessage>Invalid facility type</constraintErrorMessage> <valueHelp> @@ -327,7 +327,7 @@ <list>udp tcp</list> </completionHelp> <constraint> - <regex>(udp|tcp)</regex> + <regex>^(udp|tcp)$</regex> </constraint> <constraintErrorMessage>invalid protocol name</constraintErrorMessage> </properties> @@ -339,7 +339,7 @@ <list>emerg alert crit err warning notice info debug all</list> </completionHelp> <constraint> - <regex>(emerg|alert|crit|err|warning|notice|info|debug|all)</regex> + <regex>^(emerg|alert|crit|err|warning|notice|info|debug|all)$</regex> </constraint> <constraintErrorMessage>Invalid loglevel</constraintErrorMessage> <valueHelp> @@ -434,7 +434,7 @@ <list>auth authpriv cron daemon kern lpr mail mark news protocols security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 all</list> </completionHelp> <constraint> - <regex>(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)</regex> + <regex>^(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)$</regex> </constraint> <constraintErrorMessage>Invalid facility type</constraintErrorMessage> <valueHelp> @@ -538,7 +538,7 @@ <list>emerg alert crit err warning notice info debug all</list> </completionHelp> <constraint> - <regex>(emerg|alert|crit|err|warning|notice|info|debug|all)</regex> + <regex>^(emerg|alert|crit|err|warning|notice|info|debug|all)$</regex> </constraint> <constraintErrorMessage>Invalid loglevel</constraintErrorMessage> <valueHelp> @@ -645,7 +645,7 @@ <list>auth authpriv cron daemon kern lpr mail mark news protocols security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 all</list> </completionHelp> <constraint> - <regex>(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)</regex> + <regex>^(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)$</regex> </constraint> <constraintErrorMessage>Invalid facility type</constraintErrorMessage> <valueHelp> @@ -749,7 +749,7 @@ <list>emerg alert crit err warning notice info debug all</list> </completionHelp> <constraint> - <regex>(emerg|alert|crit|err|warning|notice|info|debug|all)</regex> + <regex>^(emerg|alert|crit|err|warning|notice|info|debug|all)$</regex> </constraint> <constraintErrorMessage>Invalid loglevel</constraintErrorMessage> <valueHelp> @@ -806,7 +806,7 @@ <list>auth authpriv cron daemon kern lpr mail mark news protocols security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 all</list> </completionHelp> <constraint> - <regex>(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)</regex> + <regex>^(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)$</regex> </constraint> <constraintErrorMessage>Invalid facility type</constraintErrorMessage> <valueHelp> @@ -910,7 +910,7 @@ <list>emerg alert crit err warning notice info debug all</list> </completionHelp> <constraint> - <regex>(emerg|alert|crit|err|warning|notice|info|debug|all)</regex> + <regex>^(emerg|alert|crit|err|warning|notice|info|debug|all)$</regex> </constraint> <constraintErrorMessage>Invalid loglevel</constraintErrorMessage> <valueHelp> diff --git a/interface-definitions/vpn_l2tp.xml.in b/interface-definitions/vpn_l2tp.xml.in index 3a6c8a992..5bdebcb05 100644 --- a/interface-definitions/vpn_l2tp.xml.in +++ b/interface-definitions/vpn_l2tp.xml.in @@ -12,7 +12,7 @@ <help>Remote access L2TP VPN</help> </properties> <children> - #include <include/accel-mtu-128-16384.xml.i> + #include <include/accel-ppp/mtu-128-16384.xml.i> <leafNode name="outside-address"> <properties> <help>External IP address to which VPN clients will connect</help> @@ -21,8 +21,8 @@ </constraint> </properties> </leafNode> - #include <include/accel-gateway-address.xml.i> - #include <include/accel-name-server.xml.i> + #include <include/accel-ppp/gateway-address.xml.i> + #include <include/accel-ppp/name-server.xml.i> <node name="lns"> <properties> <help>L2TP Network Server (LNS)</help> @@ -63,7 +63,7 @@ <description>Use X.509 certificate for IPsec authentication</description> </valueHelp> <constraint> - <regex>(pre-shared-secret|x509)</regex> + <regex>^(pre-shared-secret|x509)$</regex> </constraint> <completionHelp> <list>pre-shared-secret x509</list> @@ -143,17 +143,17 @@ </leafNode> </children> </node> - #include <include/accel-wins-server.xml.i> + #include <include/accel-ppp/wins-server.xml.i> <node name="client-ip-pool"> <properties> <help>Pool of client IP addresses (must be within a /24)</help> </properties> <children> - #include <include/accel-client-ip-pool-start-stop.xml.i> - #include <include/accel-client-ip-pool-subnet.xml.i> + #include <include/accel-ppp/client-ip-pool-start-stop.xml.i> + #include <include/accel-ppp/client-ip-pool-subnet.xml.i> </children> </node> - #include <include/accel-client-ipv6-pool.xml.i> + #include <include/accel-ppp/client-ipv6-pool.xml.i> <leafNode name="description"> <properties> <help>Description for L2TP remote-access settings</help> @@ -201,7 +201,7 @@ <description>Require the peer to authenticate itself using MS-CHAPv2 [Microsoft Challenge Handshake Authentication Protocol, Version 2].</description> </valueHelp> <constraint> - <regex>(pap|chap|mschap|mschap-v2)</regex> + <regex>^(pap|chap|mschap|mschap-v2)$</regex> </constraint> <completionHelp> <list>pap chap mschap mschap-v2</list> @@ -209,15 +209,15 @@ <multi /> </properties> </leafNode> - #include <include/accel-ppp-mppe.xml.i> - #include <include/accel-auth-mode.xml.i> - #include <include/accel-auth-local-users.xml.i> + #include <include/accel-ppp/ppp-mppe.xml.i> + #include <include/accel-ppp/auth-mode.xml.i> + #include <include/accel-ppp/auth-local-users.xml.i> #include <include/radius-server-ipv4.xml.i> <node name="radius"> <children> <tagNode name="server"> <children> - #include <include/accel-radius-additions-disable-accounting.xml.i> + #include <include/accel-ppp/radius-additions-disable-accounting.xml.i> <leafNode name="fail-time"> <properties> <help>Mark server unavailable for <n> seconds on failure</help> @@ -307,7 +307,7 @@ <help>Advanced protocol options</help> </properties> <children> - #include <include/accel-lcp-echo-interval-failure.xml.i> + #include <include/accel-ppp/lcp-echo-interval-failure.xml.i> </children> </node> </children> diff --git a/interface-definitions/vpn_openconnect.xml.in b/interface-definitions/vpn_openconnect.xml.in index 054e027fc..1a9d39a12 100644 --- a/interface-definitions/vpn_openconnect.xml.in +++ b/interface-definitions/vpn_openconnect.xml.in @@ -25,7 +25,7 @@ <description>Use RADIUS server for user autentication</description> </valueHelp> <constraint> - <regex>(local|radius)</regex> + <regex>^(local|radius)$</regex> </constraint> <completionHelp> <list>local radius</list> @@ -190,7 +190,7 @@ </leafNode> </children> </node> - #include <include/accel-name-server.xml.i> + #include <include/accel-ppp/name-server.xml.i> </children> </node> </children> diff --git a/interface-definitions/vpn_pptp.xml.in b/interface-definitions/vpn_pptp.xml.in index 72eda8752..91c8cd76f 100644 --- a/interface-definitions/vpn_pptp.xml.in +++ b/interface-definitions/vpn_pptp.xml.in @@ -12,7 +12,7 @@ <help>Remote access PPTP VPN</help> </properties> <children> - #include <include/accel-mtu-128-16384.xml.i> + #include <include/accel-ppp/mtu-128-16384.xml.i> <leafNode name="outside-address"> <properties> <help>External IP address to which VPN clients will connect</help> @@ -34,16 +34,16 @@ <multi/> </properties> </leafNode> - #include <include/accel-wins-server.xml.i> + #include <include/accel-ppp/wins-server.xml.i> <node name="client-ip-pool"> <properties> <help>Pool of client IP addresses (must be within a /24)</help> </properties> <children> - #include <include/accel-client-ip-pool-start-stop.xml.i> + #include <include/accel-ppp/client-ip-pool-start-stop.xml.i> </children> </node> - #include <include/accel-gateway-address.xml.i> + #include <include/accel-ppp/gateway-address.xml.i> <node name="authentication"> <properties> <help>Authentication for remote access PPTP VPN</help> @@ -86,14 +86,14 @@ <description>ask client for mppe, if it rejects drop connection</description> </valueHelp> <constraint> - <regex>(deny|prefer|require)</regex> + <regex>^(deny|prefer|require)$</regex> </constraint> <completionHelp> <list>deny prefer require</list> </completionHelp> </properties> </leafNode> - #include <include/accel-auth-mode.xml.i> + #include <include/accel-ppp/auth-mode.xml.i> <node name="local-users"> <properties> <help>Local user authentication for remote access PPTP VPN</help> @@ -120,7 +120,7 @@ </children> </node> #include <include/radius-server-ipv4.xml.i> - #include <include/accel-radius-additions.xml.i> + #include <include/accel-ppp/radius-additions.xml.i> </children> </node> </children> diff --git a/interface-definitions/vpn_sstp.xml.in b/interface-definitions/vpn_sstp.xml.in index ebcb77db2..e4ade844d 100644 --- a/interface-definitions/vpn_sstp.xml.in +++ b/interface-definitions/vpn_sstp.xml.in @@ -13,38 +13,38 @@ <help>Authentication for remote access SSTP Server</help> </properties> <children> - #include <include/accel-auth-local-users.xml.i> - #include <include/accel-auth-mode.xml.i> - #include <include/accel-auth-protocols.xml.i> + #include <include/accel-ppp/auth-local-users.xml.i> + #include <include/accel-ppp/auth-mode.xml.i> + #include <include/accel-ppp/auth-protocols.xml.i> #include <include/radius-server-ipv4.xml.i> - #include <include/accel-radius-additions.xml.i> + #include <include/accel-ppp/radius-additions.xml.i> <node name="radius"> <children> - #include <include/accel-radius-additions-rate-limit.xml.i> + #include <include/accel-ppp/radius-additions-rate-limit.xml.i> </children> </node> </children> </node> - #include <include/interface-mtu-68-1500.xml.i> - #include <include/accel-gateway-address.xml.i> - #include <include/accel-name-server.xml.i> + #include <include/interface/interface-mtu-68-1500.xml.i> + #include <include/accel-ppp/gateway-address.xml.i> + #include <include/accel-ppp/name-server.xml.i> <node name="client-ip-pool"> <properties> <help>Client IP pools and gateway setting</help> </properties> <children> - #include <include/accel-client-ip-pool-subnet.xml.i> + #include <include/accel-ppp/client-ip-pool-subnet.xml.i> </children> </node> - #include <include/accel-client-ipv6-pool.xml.i> + #include <include/accel-ppp/client-ipv6-pool.xml.i> <node name="ppp-options"> <properties> <help>PPP (Point-to-Point Protocol) settings</help> </properties> <children> - #include <include/accel-ppp-mppe.xml.i> - #include <include/accel-lcp-echo-interval-failure.xml.i> - #include <include/accel-lcp-echo-timeout.xml.i> + #include <include/accel-ppp/ppp-mppe.xml.i> + #include <include/accel-ppp/lcp-echo-interval-failure.xml.i> + #include <include/accel-ppp/lcp-echo-timeout.xml.i> </children> </node> <node name="ssl"> diff --git a/interface-definitions/vrf.xml.in b/interface-definitions/vrf.xml.in index eca9e75a7..d66056db9 100644 --- a/interface-definitions/vrf.xml.in +++ b/interface-definitions/vrf.xml.in @@ -3,8 +3,8 @@ <node name="vrf" owner="${vyos_conf_scripts_dir}/vrf.py"> <properties> <help>Virtual Routing and Forwarding</help> - <!-- must be before any interface creation --> - <priority>10</priority> + <!-- must be before any interface, check /opt/vyatta/sbin/priority.pl --> + <priority>299</priority> </properties> <children> <leafNode name="bind-to-all"> @@ -15,17 +15,63 @@ </leafNode> <tagNode name="name"> <properties> - <help>VRF instance name</help> + <help>Virtual Routing and Forwarding instance</help> <constraint> <validator name="vrf-name"/> </constraint> <constraintErrorMessage>VRF instance name must be 15 characters or less and can not\nbe named as regular network interfaces.\n</constraintErrorMessage> <valueHelp> <format>txt</format> - <description>Instance name</description> + <description>VRF instance name</description> </valueHelp> </properties> <children> + #include <include/interface/interface-description.xml.i> + #include <include/interface/interface-disable.xml.i> + <node name="protocols"> + <properties> + <help>Routing protocol parameters</help> + </properties> + <children> + <node name="bgp" owner="${vyos_conf_scripts_dir}/protocols_bgp.py $VAR(../../@)"> + <properties> + <help>Border Gateway Protocol (BGP)</help> + <priority>821</priority> + </properties> + <children> + #include <include/bgp/protocol-common-config.xml.i> + </children> + </node> + <node name="isis" owner="${vyos_conf_scripts_dir}/protocols_isis.py $VAR(../../@)"> + <properties> + <help>Intermediate System to Intermediate System (IS-IS)</help> + <priority>611</priority> + </properties> + <children> + #include <include/isis/isis-common-config.xml.i> + </children> + </node> + <node name="ospf" owner="${vyos_conf_scripts_dir}/protocols_ospf.py $VAR(../../@)"> + <properties> + <help>Open Shortest Path First (OSPF)</help> + <priority>621</priority> + </properties> + <children> + #include <include/ospf/protocol-common-config.xml.i> + </children> + </node> + <node name="static" owner="${vyos_conf_scripts_dir}/protocols_static.py $VAR(../../@)"> + <properties> + <help>Static route parameters</help> + <priority>481</priority> + </properties> + <children> + #include <include/static/static-route.xml.i> + #include <include/static/static-route6.xml.i> + </children> + </node> + </children> + </node> <leafNode name="table"> <properties> <help>Routing table associated with this instance</help> @@ -39,8 +85,7 @@ <constraintErrorMessage>VRF routing table must be in range from 100 to 2147483647</constraintErrorMessage> </properties> </leafNode> - #include <include/interface-description.xml.i> - #include <include/interface-disable.xml.i> + #include <include/vni.xml.i> </children> </tagNode> </children> diff --git a/interface-definitions/vrrp.xml.in b/interface-definitions/vrrp.xml.in index 3c4c9b83c..bb551296f 100644 --- a/interface-definitions/vrrp.xml.in +++ b/interface-definitions/vrrp.xml.in @@ -61,7 +61,7 @@ <list>plaintext-password ah</list> </completionHelp> <constraint> - <regex>(plaintext-password|ah)</regex> + <regex>^(plaintext-password|ah)$</regex> </constraint> <constraintErrorMessage>Authentication type must be plaintext-password or ah</constraintErrorMessage> </properties> |