From 1733ebf10aedafefbc17bd0660f6d43098b08d8a Mon Sep 17 00:00:00 2001 From: Cheeze-It <16260577+Cheeze-It@users.noreply.github.com> Date: Thu, 15 Apr 2021 05:18:22 -0600 Subject: 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 --- .../include/bgp/bgp-afi-common-flowspec.xml.i | 29 + .../include/bgp/bgp-afi-common-vpn.xml.i | 144 +++++ .../include/bgp/bgp-common-config.xml.i | 604 ++++++++++++++++++++- .../bgp/bgp-neighbor-afi-ipv4-flowspec.xml.i | 11 + .../bgp-neighbor-afi-ipv4-labeled-unicast.xml.i | 19 + .../bgp/bgp-neighbor-afi-ipv4-multicast.xml.i | 19 + .../include/bgp/bgp-neighbor-afi-ipv4-vpn.xml.i | 11 + .../bgp/bgp-neighbor-afi-ipv6-flowspec.xml.i | 11 + .../bgp-neighbor-afi-ipv6-labeled-unicast.xml.i | 20 + .../bgp/bgp-neighbor-afi-ipv6-multicast.xml.i | 12 + .../include/bgp/bgp-neighbor-afi-ipv6-vpn.xml.i | 12 + 11 files changed, 889 insertions(+), 3 deletions(-) create mode 100644 interface-definitions/include/bgp/bgp-afi-common-flowspec.xml.i create mode 100644 interface-definitions/include/bgp/bgp-afi-common-vpn.xml.i create mode 100644 interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-flowspec.xml.i create mode 100644 interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-labeled-unicast.xml.i create mode 100644 interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-multicast.xml.i create mode 100644 interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-vpn.xml.i create mode 100644 interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-flowspec.xml.i create mode 100644 interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-labeled-unicast.xml.i create mode 100644 interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-multicast.xml.i create mode 100644 interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-vpn.xml.i (limited to 'interface-definitions/include') 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 @@ + + + + as-path-list to filter route updates to/from this peer + + + + + As-path-list to filter outgoing route updates to this peer + + policy as-path-list + + + + + + As-path-list to filter incoming route updates from this peer + + policy as-path-list + + + + + +#include +#include +#include +#include + 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 @@ + + + + Use addpath to advertise all paths to a neighbor + + + + + + Use addpath to advertise the bestpath per each neighboring AS + + + +#include + + + AS for routes sent to this peer to be the local AS + + + +#include + + + Disable sending community attributes to this peer + + + + + Disable sending extended community attributes to this peer + + + + + + Disable sending standard community attributes to this peer + + + + + + + + Access-list to filter route updates to/from this peer-group + + + + + Access-list to filter outgoing route updates to this peer-group + + policy access-list + + + u32:1-65535 + Access-list to filter outgoing route updates to this peer-group + + + + + + + + + Access-list to filter incoming route updates from this peer-group + + policy access-list + + + u32:1-65535 + Access-list to filter incoming route updates from this peer-group + + + + + + + + + + + as-path-list to filter route updates to/from this peer + + + + + As-path-list to filter outgoing route updates to this peer + + policy as-path-list + + + + + + As-path-list to filter incoming route updates from this peer + + policy as-path-list + + + + + + + + Maximum number of prefixes to accept from this peer + + u32:1-4294967295 + Prefix limit + + + + + + +#include + + + Remove private AS numbers from AS path in outbound route updates + + + +#include +#include +#include +#include + + + Route-map to selectively unsuppress suppressed routes + + policy route-map + + + + + + Default weight for routes from this peer + + u32:1-65535 + Default weight + + + + + + + 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 + + + Administrative distances for BGP routes + + + + + eBGP routes administrative distance + + u32:1-255 + eBGP routes administrative distance + + + + + + + + + iBGP routes administrative distance + + u32:1-255 + iBGP routes administrative distance + + + + + + + + + Locally originated BGP routes administrative distance + + u32:1-255 + Locally originated BGP routes administrative distance + + + + + + + + + Administrative distance for a specific BGP prefix + + ipv4net + Administrative distance for a specific BGP prefix + + + + + + + + + Administrative distance for prefix + + u32:1-255 + Administrative distance for external BGP routes + + + + + + + + + + BGP network @@ -108,6 +177,229 @@ + + + Multicast IPv4 BGP settings + + + + + BGP aggregate network/prefix + + ipv4net + BGP aggregate network/prefix + + + + + + + #include + + + + + Administrative distances for BGP routes + + + + + eBGP routes administrative distance + + u32:1-255 + eBGP routes administrative distance + + + + + + + + + iBGP routes administrative distance + + u32:1-255 + iBGP routes administrative distance + + + + + + + + + Locally originated BGP routes administrative distance + + u32:1-255 + Locally originated BGP routes administrative distance + + + + + + + + + Administrative distance for a specific BGP prefix + + ipv4net + Administrative distance for a specific BGP prefix + + + + + + + + + Administrative distance for prefix + + u32:1-255 + Administrative distance for external BGP routes + + + + + + + + + + + + + Import BGP network/prefix into multicast IPv4 RIB + + ipv4net + Multicast IPv4 BGP network/prefix + + + + + + + + + Use BGP network/prefix as a backdoor route + + + + #include + + + + + + + Labeled Unicast IPv4 BGP settings + + + + + BGP aggregate network/prefix + + ipv4net + BGP aggregate network/prefix + + + + + + + #include + + + + + Import BGP network/prefix into labeled unicast IPv4 RIB + + ipv4net + Labeled Unicast IPv4 BGP network/prefix + + + + + + + + + Use BGP network/prefix as a backdoor route + + + + #include + + + + + + + Flowspec IPv4 BGP settings + + + + + Apply local policy routing to interface + + + + + Interface + + + + + + + + + + + + + Unicast VPN IPv4 BGP settings + + + + + Import BGP network/prefix into unicast VPN IPv4 RIB + + ipv4net + Unicast VPN IPv4 BGP network/prefix + + + + + + + + + Route Distinguisher + + txt + Route Distinguisher, asn:xxx + + + ^[0-9]{1,10}:[0-9]{1,5}$ + + + + + + MPLS label value assigned to route + + u32:0-1048575 + MPLS label value + + + + + + + + + + IPv6 BGP settings @@ -128,6 +420,75 @@ #include + + + Administrative distances for BGP routes + + + + + eBGP routes administrative distance + + u32:1-255 + eBGP routes administrative distance + + + + + + + + + iBGP routes administrative distance + + u32:1-255 + iBGP routes administrative distance + + + + + + + + + Locally originated BGP routes administrative distance + + u32:1-255 + Locally originated BGP routes administrative distance + + + + + + + + + Administrative distance for a specific BGP prefix + + ipv6net + Administrative distance for a specific BGP prefix + + + + + + + + + Administrative distance for prefix + + u32:1-255 + Administrative distance for external BGP routes + + + + + + + + + + BGP network @@ -210,6 +571,235 @@ + + + Multicast IPv6 BGP settings + + + + + BGP aggregate network/prefix + + ipv6net + BGP aggregate network/prefix + + + + + + + #include + + + + + Administrative distances for BGP routes + + + + + eBGP routes administrative distance + + u32:1-255 + eBGP routes administrative distance + + + + + + + + + iBGP routes administrative distance + + u32:1-255 + iBGP routes administrative distance + + + + + + + + + Locally originated BGP routes administrative distance + + u32:1-255 + Locally originated BGP routes administrative distance + + + + + + + + + Administrative distance for a specific BGP prefix + + ipv6net + Administrative distance for a specific BGP prefix + + + + + + + + + Administrative distance for prefix + + u32:1-255 + Administrative distance for external BGP routes + + + + + + + + + + + + + Import BGP network/prefix into multicast IPv6 RIB + + ipv6net + Multicast IPv6 BGP network/prefix + + + + + + + + + AS-path hopcount limit + + u32:0-255 + AS path hop count limit + + + + + + + #include + + + + + + + Labeled Unicast IPv6 BGP settings + + + + + BGP aggregate network/prefix + + ipv6net + BGP aggregate network/prefix + + + + + + + #include + + + + + Import BGP network/prefix into labeled unicast IPv6 RIB + + ipv6net + Labeled Unicast IPv6 BGP network/prefix + + + + + + + + + Use BGP network/prefix as a backdoor route + + + + #include + + + + + + + Flowspec IPv6 BGP settings + + + + + Apply local policy routing to interface + + + + + Interface + + + + + + + + + + + + + Unicast VPN IPv6 BGP settings + + + + + Import BGP network/prefix into unicast VPN IPv6 RIB + + ipv6net + Unicast VPN IPv6 BGP network/prefix + + + + + + + + + Route Distinguisher + + txt + Route Distinguisher, asn:xxx + + + ^[0-9]{1,10}:[0-9]{1,5}$ + + + + + + MPLS label value assigned to route + + u32:0-1048575 + MPLS label value + + + + + + + + + + L2VPN EVPN BGP settings @@ -303,7 +893,7 @@ - BGP dynamic neighbors listen commands + Listen for and accept BGP dynamic neighbors from range @@ -320,7 +910,7 @@ - Dynamic neighbors listen range + BGP dynamic neighbors listen range ipv4net IPv4 dynamic neighbors listen range @@ -381,6 +971,14 @@ #include #include + #include + #include + #include + #include + #include + #include + #include + #include #include @@ -856,4 +1454,4 @@ #include - + \ 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 @@ + + + + IPv4 Flow Specification BGP neighbor parameters + + + #include + #include + + + 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 @@ + + + + IPv4 Labeled Unicast BGP neighbor parameters + + + + + Advertise capabilities to this neighbor (IPv4) + + + #include + + + #include + #include + + + 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 @@ + + + + IPv4 Multicast BGP neighbor parameters + + + + + Advertise capabilities to this neighbor (IPv4) + + + #include + + + #include + #include + + + 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 @@ + + + + IPv4 VPN BGP neighbor parameters + + + #include + #include + + + 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 @@ + + + + IPv6 Flow Specification BGP neighbor parameters + + + #include + #include + + + 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 @@ + + + + IPv6 Labeled Unicast BGP neighbor parameters + + + + + Advertise capabilities to this neighbor (IPv6) + + + #include + + + #include + #include + #include + + + 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 @@ + + + + IPv6 Multicast BGP neighbor parameters + + + #include + #include + #include + + + 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 @@ + + + + IPv6 VPN BGP neighbor parameters + + + #include + #include + #include + + + -- cgit v1.2.3