summaryrefslogtreecommitdiff
path: root/interface-definitions/include/bgp
diff options
context:
space:
mode:
authorCheeze-It <16260577+Cheeze-It@users.noreply.github.com>2021-04-15 05:18:22 -0600
committerGitHub <noreply@github.com>2021-04-15 13:18:22 +0200
commit1733ebf10aedafefbc17bd0660f6d43098b08d8a (patch)
treec64064a872f9a87334241b87139da2310a80c6fa /interface-definitions/include/bgp
parent7a48396731ff41007c083440e2aae01dda747e72 (diff)
downloadvyos-1x-1733ebf10aedafefbc17bd0660f6d43098b08d8a.tar.gz
vyos-1x-1733ebf10aedafefbc17bd0660f6d43098b08d8a.zip
bgp: T2771: add vpn, multicast, flowspec address families
In this commit we add more address families within BGP. This should bring VyOS the ability to enable the rest of the capabilities within FRR. Co-authored-by: Cheeze_It <none@none.com>
Diffstat (limited to 'interface-definitions/include/bgp')
-rw-r--r--interface-definitions/include/bgp/bgp-afi-common-flowspec.xml.i29
-rw-r--r--interface-definitions/include/bgp/bgp-afi-common-vpn.xml.i144
-rw-r--r--interface-definitions/include/bgp/bgp-common-config.xml.i604
-rw-r--r--interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-flowspec.xml.i11
-rw-r--r--interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-labeled-unicast.xml.i19
-rw-r--r--interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-multicast.xml.i19
-rw-r--r--interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-vpn.xml.i11
-rw-r--r--interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-flowspec.xml.i11
-rw-r--r--interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-labeled-unicast.xml.i20
-rw-r--r--interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-multicast.xml.i12
-rw-r--r--interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-vpn.xml.i12
11 files changed, 889 insertions, 3 deletions
diff --git a/interface-definitions/include/bgp/bgp-afi-common-flowspec.xml.i b/interface-definitions/include/bgp/bgp-afi-common-flowspec.xml.i
new file mode 100644
index 000000000..bb9b0a966
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-route-map.xml.i>
+#include <include/bgp/bgp-afi-route-reflector-client.xml.i>
+#include <include/bgp/bgp-afi-route-server-client.xml.i>
+#include <include/bgp/bgp-afi-soft-reconfiguration.xml.i>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-afi-common-vpn.xml.i b/interface-definitions/include/bgp/bgp-afi-common-vpn.xml.i
new file mode 100644
index 000000000..162a2c805
--- /dev/null
+++ b/interface-definitions/include/bgp/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/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/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/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/bgp-afi-route-map.xml.i>
+#include <include/bgp/bgp-afi-route-reflector-client.xml.i>
+#include <include/bgp/bgp-afi-route-server-client.xml.i>
+#include <include/bgp/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/bgp-common-config.xml.i b/interface-definitions/include/bgp/bgp-common-config.xml.i
index 813da097c..66843a55f 100644
--- a/interface-definitions/include/bgp/bgp-common-config.xml.i
+++ b/interface-definitions/include/bgp/bgp-common-config.xml.i
@@ -24,6 +24,75 @@
#include <include/bgp/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>
@@ -108,6 +177,229 @@
</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/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/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>
@@ -128,6 +420,75 @@
#include <include/bgp/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>
@@ -210,6 +571,235 @@
</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/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/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>
@@ -303,7 +893,7 @@
</node>
<node name="listen">
<properties>
- <help>BGP dynamic neighbors listen commands</help>
+ <help>Listen for and accept BGP dynamic neighbors from range</help>
</properties>
<children>
<leafNode name="limit">
@@ -320,7 +910,7 @@
</leafNode>
<tagNode name="range">
<properties>
- <help>Dynamic neighbors listen range</help>
+ <help>BGP dynamic neighbors listen range</help>
<valueHelp>
<format>ipv4net</format>
<description>IPv4 dynamic neighbors listen range</description>
@@ -381,6 +971,14 @@
<children>
#include <include/bgp/bgp-neighbor-afi-ipv4-unicast.xml.i>
#include <include/bgp/bgp-neighbor-afi-ipv6-unicast.xml.i>
+ #include <include/bgp/bgp-neighbor-afi-ipv4-labeled-unicast.xml.i>
+ #include <include/bgp/bgp-neighbor-afi-ipv6-labeled-unicast.xml.i>
+ #include <include/bgp/bgp-neighbor-afi-ipv4-vpn.xml.i>
+ #include <include/bgp/bgp-neighbor-afi-ipv6-vpn.xml.i>
+ #include <include/bgp/bgp-neighbor-afi-ipv4-flowspec.xml.i>
+ #include <include/bgp/bgp-neighbor-afi-ipv6-flowspec.xml.i>
+ #include <include/bgp/bgp-neighbor-afi-ipv4-multicast.xml.i>
+ #include <include/bgp/bgp-neighbor-afi-ipv6-multicast.xml.i>
#include <include/bgp/bgp-neighbor-afi-l2vpn-evpn.xml.i>
</children>
</node>
@@ -856,4 +1454,4 @@
#include <include/bgp/bgp-timers-keepalive.xml.i>
</children>
</node>
-<!-- include end -->
+<!-- include end --> \ No newline at end of file
diff --git a/interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-flowspec.xml.i b/interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-flowspec.xml.i
new file mode 100644
index 000000000..732ff1773
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-ipv4-prefix-list.xml.i>
+ #include <include/bgp/bgp-afi-common-flowspec.xml.i>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-labeled-unicast.xml.i b/interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-labeled-unicast.xml.i
new file mode 100644
index 000000000..9baf5380d
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-capability-orf.xml.i>
+ </children>
+ </node>
+ #include <include/bgp/bgp-afi-ipv4-prefix-list.xml.i>
+ #include <include/bgp/bgp-afi-common.xml.i>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-multicast.xml.i b/interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-multicast.xml.i
new file mode 100644
index 000000000..073e5a868
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-capability-orf.xml.i>
+ </children>
+ </node>
+ #include <include/bgp/bgp-afi-ipv4-prefix-list.xml.i>
+ #include <include/bgp/bgp-afi-common.xml.i>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-vpn.xml.i b/interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-vpn.xml.i
new file mode 100644
index 000000000..1ce7028b8
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-ipv4-prefix-list.xml.i>
+ #include <include/bgp/bgp-afi-common-vpn.xml.i>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-flowspec.xml.i b/interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-flowspec.xml.i
new file mode 100644
index 000000000..3fbf785ce
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-ipv6-prefix-list.xml.i>
+ #include <include/bgp/bgp-afi-common-flowspec.xml.i>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-labeled-unicast.xml.i b/interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-labeled-unicast.xml.i
new file mode 100644
index 000000000..1f84e7afb
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-capability-orf.xml.i>
+ </children>
+ </node>
+ #include <include/bgp/bgp-afi-ipv6-nexthop-local.xml.i>
+ #include <include/bgp/bgp-afi-ipv6-prefix-list.xml.i>
+ #include <include/bgp/bgp-afi-common.xml.i>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-multicast.xml.i b/interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-multicast.xml.i
new file mode 100644
index 000000000..e49465ed2
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-ipv6-nexthop-local.xml.i>
+ #include <include/bgp/bgp-afi-ipv6-prefix-list.xml.i>
+ #include <include/bgp/bgp-afi-common.xml.i>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-vpn.xml.i b/interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-vpn.xml.i
new file mode 100644
index 000000000..9a7a22418
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-ipv6-nexthop-local.xml.i>
+ #include <include/bgp/bgp-afi-ipv6-prefix-list.xml.i>
+ #include <include/bgp/bgp-afi-common-vpn.xml.i>
+ </children>
+</node>
+<!-- include end -->