Revert "doc: Add documentation for BGP ORR support"

This reverts commit 2b55ff400f.
This commit is contained in:
Donatas Abraitis 2023-01-17 18:15:50 +02:00
parent cfd01fc0ac
commit cb6e090a90
2 changed files with 0 additions and 321 deletions

View File

@ -3566,319 +3566,6 @@ When default route is not present in R2'2 BGP table, 10.139.224.0/20 and 192.0.2
Total number of prefixes 3
Router2#
.. _bgp-optimal-route-reflection:
BGP Optimal Route Reflection
----------------------------
BGP Route Reflectors (RRs) are used to improve network scalability by reducing
or eliminating the need for a full-mesh of IBGP sessions.
When a BGP RR receives multiple paths for the same IP prefix, it typically
selects a single best path to send for all its clients.
If the RR has multiple nearly-equal best paths and the tie-break is determined
by the next-hop cost, the RR advertises the path based on its view of next-hop
costs, which leads to a non-optimal routing.
The advertised route may differ from the path that a client would select
if it had the visibility of the same set of candidate paths and used
its own view of next-hop costs.
Non-optimal advertisements by the RR can be a problem in hot-potato routing.
Hot-potato routing aims to hand off traffic to the next AS using the closest
possible exit point from the local AS.
In this context, the closest exit point implies minimum IGP cost to
reach the BGP next-hop.
The BGP Optimal Route Reflection allows the RR to choose and send a different
best path to a different or a set of RR clients.
A link-state protocol is required. It can be OSPF or IS-IS.
Current implementation of BGP ORR is based on the IGP cost to the BGP next hop,
and not based on some configured policy.
RR runs Shortest Path First (SPF) calculation with the selected
router as the root of the tree and calculates the cost to every other router.
This special SPF calculation with another router as the root, is referred to as
a Reverse SPF (rSPF). This can only be done if the RR learns all the BGP paths
from all the BGP border routers.
There could be as many rSPFs run as there are RR clients.
This will increase the CPU load somewhat on the RR.
Current implementation allows up to three root nodes for the rSPF calculation.
There is no need to configure each RR client as a root and run rSPF.
Current implementation allows to configure three, the primary, the secondary,
and the tertiary root, per set of RR clients, for redundancy purposes.
For the BGP ORR feature to apply to any RR client, that RR client must be
configured to be part of an ORR policy group.
The BGP ORR feature is enabled per address family.
The minimal configuration needed:
1. ORR needs to be enabled for specific groups of BGP neighbors.
2. For each group of BGP neighbors, at least one root needs to be configured.
Optionally, a secondary and tertiary root can be configured.
3. For OSPF, the root routers(RR clients) need additional configuration
to make BGP ORR work.
i.e. The MPLS TE configuration on the root router needs to have the minimal
configuration for MPLS TE enabled so that OSPF advertises the MPLS TE
router ID in an opaque-area LSA (type 10).
Once the RR has an opaque-area LSA with the MPLS TE router-ID matching the
configured root router address, rSPF can run and BGP on the RR can
advertise the optimal route.
.. clicmd:: neighbor A.B.C.D optimal-route-reflection NAME
This command allows the neighbor to be part of the ORR group.
.. clicmd:: optimal-route-reflection orr-1 A.B.C.D [A.B.C.D] [A.B.C.D]
This command creates an ORR group with a mandatory primary root
and optional secondary and/or tertiary roots.
When primary is reachable it will be the active root.
when primary goes down, secondary followed by tertiary takes over
the active root's role.
Always rSPF calculation runs active root as the root.
Which means the RR advertises the path based on active root's
view of next-hop costs.
Sample Configuration
^^^^^^^^^^^^^^^^^^^^
Sample configuration on Route Reflector
.. code-block:: frr
!
debug ospf 8 orr
debug bgp optimal-route-reflection
!
interface enp0s8
ip address 10.10.68.8/24
ip ospf 8 area 0
exit
!
interface lo
ip address 10.100.1.8/32
ip ospf 8 area 0
exit
!
router bgp 1
neighbor 10.100.1.1 remote-as 1
neighbor 10.100.1.1 update-source lo
neighbor 10.100.1.2 remote-as 1
neighbor 10.100.1.2 update-source lo
neighbor 10.100.1.3 remote-as 1
neighbor 10.100.1.3 update-source lo
neighbor 10.100.1.4 remote-as 1
neighbor 10.100.1.4 update-source lo
!
address-family ipv4 unicast
neighbor 10.100.1.1 route-reflector-client
neighbor 10.100.1.1 optimal-route-reflection orr-1
neighbor 10.100.1.2 route-reflector-client
neighbor 10.100.1.2 optimal-route-reflection orr-1
neighbor 10.100.1.3 route-reflector-client
neighbor 10.100.1.3 optimal-route-reflection orr-1
neighbor 10.100.1.4 route-reflector-client
neighbor 10.100.1.4 optimal-route-reflection orr-1
optimal-route-reflection orr-1 10.100.1.4 10.100.1.3 10.100.1.1
exit-address-family
exit
!
router ospf 8
ospf router-id 8.8.8.8
area 0 authentication
capability opaque
exit
!
end
Sample configuration on RR clients
.. code-block:: frr
interface enp0s8
ip address 10.10.34.4/24
ip ospf 4 area 0
link-params
enable
exit-link-params
exit
!
interface enp0s9
ip address 10.10.74.4/24
ip ospf 4 area 0
link-params
enable
exit-link-params
exit
!
interface lo
ip address 10.100.1.4/32
ip ospf 4 area 0
exit
!
router bgp 1
neighbor 10.100.1.8 remote-as 1
neighbor 10.100.1.8 update-source lo
!
address-family ipv4 unicast
neighbor 10.100.1.8 soft-reconfiguration inbound
exit-address-family
exit
!
router ospf 4
ospf router-id 4.4.4.4
area 0 authentication
capability opaque
mpls-te on
mpls-te router-address 10.100.1.4
mpls-te inter-as area 0.0.0.0
mpls-te export
exit
!
end
Sample Output
^^^^^^^^^^^^^
When Optimal Route Reflection is not enabled on RR, it sends 10.100.1.1 as the best path to its clients.
.. code-block:: frr
Router-RR# show ip bgp neighbors 10.100.1.4
!--- Output suppressed.
For address family: IPv4 Unicast
Update group 2, subgroup 2
Packet Queue length 0
Route-Reflector Client
Community attribute sent to this neighbor(all)
0 accepted prefixes
!--- Output suppressed.
Router-RR#
Router-RR# show ip bgp
BGP table version is 3, local router ID is 10.100.1.8, vrf id 0
Default local pref 100, local AS 1
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
* i203.0.113.0/24 10.100.1.2 0 100 0 i
*>i 10.100.1.1 0 100 0 i
*=i 10.100.1.3 0 100 0 i
Displayed 1 routes and 3 total paths
Router-RR#
Router-PE4# show ip bgp
BGP table version is 5, local router ID is 10.100.1.4, vrf id 0
Default local pref 100, local AS 1
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*>i203.0.113.0/24 10.100.1.1 0 100 0 i
Displayed 1 routes and 1 total paths
Router-PE4#
When Optimal Route Reflection is enabled on RR, it sends 10.100.1.3 as the best path to its clients.
.. code-block:: frr
Router-RR# show ip bgp neighbors 10.100.1.4
!--- Output suppressed.
For address family: IPv4 Unicast
Update group 1, subgroup 1
Packet Queue length 0
Route-Reflector Client
ORR group (configured) : orr-1
Community attribute sent to this neighbor(all)
0 accepted prefixes
!--- Output suppressed.
Router-RR#
Router-RR# show ip bgp
BGP table version is 1, local router ID is 10.100.1.8, vrf id 0
Default local pref 100, local AS 1
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
* i203.0.113.0/24 10.100.1.2 0 100 0 i
*>i 10.100.1.3 0 100 0 i
* i 10.100.1.1 0 100 0 i
Displayed 1 routes and 3 total paths
Router-RR#
Router-RR# show ip bgp optimal-route-reflection
ORR group: orr-1, IPv4 Unicast
Configured root: primary: 10.100.1.4(Router-PE4), secondary: 10.100.1.3(Router-PE3), tertiary: 10.100.1.1(Router-PE1)
Active Root: 10.100.1.4(Router-PE4)
RR Clients mapped:
10.100.1.1
10.100.1.2
10.100.1.3
10.100.1.4
Number of mapping entries: 4
Prefix Cost
10.10.34.0/24 100
10.10.61.0/24 300
10.10.63.0/24 200
10.10.67.0/24 200
10.10.68.0/24 300
10.10.72.0/24 200
10.10.74.0/24 100
10.100.1.1/32 300
10.100.1.2/32 200
10.100.1.3/32 100
10.100.1.4/32 0
10.100.1.6/32 200
10.100.1.7/32 100
10.100.1.8/32 300
Number of mapping entries: 14
Router-RR#
Router-PE4# show ip bgp
BGP table version is 3, local router ID is 10.100.1.4, vrf id 0
Default local pref 100, local AS 1
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*>i203.0.113.0/24 10.100.1.3 0 100 0 i
Displayed 1 routes and 1 total paths
Router-PE4#
.. _bgp-debugging:
Debugging
@ -3944,10 +3631,6 @@ Debugging
Enable or disable debugging of communications between *bgpd* and *zebra*.
.. clicmd:: debug bgp optimal-route-reflection
Enable or disable debugging of BGP Optimal Route Reflection.
Dumping Messages and Routing Tables
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -1145,10 +1145,6 @@ Debugging OSPF
.. clicmd:: show debugging ospf
.. clicmd:: debug ospf orr
Enable or disable debugging of BGP Optimal Route Reflection.
Sample Configuration
====================