Lab6 RR with Add-Path

Load unix:lab6.init.cfg

configure replace unix:lab6.init.cfg

R8 has been removed as an RR. R5 is setting LP=50 on routes received from R6, so that R4 is the preferred egress point in the core.

Configure add path so that R7 will reflect both a primary and backup path to all iBGP route reflector clients. On the clients, configure PIC so that the backup path is pre-installed as a repair route.

Answer

https://www.youtube.com/watch?v=8UHvzzMBGv0&list=PL3Y9eZjZCcsejbVWD3wJIePqe3NiImqxB&index=8

#R7 (RR)
router bgp 65000
 add ipv4
  bgp additional-paths send receive
  bgp additional-paths select best 2
 add ipv6
  bgp additional-paths send receive
  bgp additional-paths select best 2
 !
 template peer-policy IBGP_V4V6
  advertise additional-paths best 2
 exit-peer-policy

#R2, R3, R4
router bgp 65000
 add ipv4
  bgp additional-paths send receive
  bgp additional-paths select best 2
  bgp additional-paths install
 add ipv6
  bgp additional-paths send receive
  bgp additional-paths select best 2
  bgp additional-paths install

#R5
router bgp 65000
 add ipv4
  bgp additional-paths send receive
  bgp additional-paths select best 2
  bgp additional-paths install
 add ipv6
  bgp additional-paths send receive
  bgp additional-paths select best 2
  bgp additional-paths install
 !
 template peer-policy IBGP_V4V6
  advertise additional-paths best 2
 exit-peer-policy

Explanation

First we must enable the Add Path capability on all routers. This is a negotiated capability in the OPEN message, and once configured, the router will immediately tear down the existing session. The capability can be configured under the address-family (done above), or on a per-neighbor basis.

router bgp 65000
 add ipv4
  bgp additional-paths send receive
 add ipv6
  bgp additional-paths send receive

!
! or
!

router bgp 65000
!
template peer-policy IBGP_V4V6
  additional-paths send receive
 exit-peer-policy

The RR does not need to locally install a repair path. It only sends the best 2 routes (a primary and a backup route) to clients. To do this, we select the best 2, and advertise the best 2.

#R7 (RR)
router bgp 65000
 add ipv4
  bgp additional-paths select best 2
 add ipv6
  bgp additional-paths select best 2
 !
 template peer-policy IBGP_V4V6
  advertise additional-paths best 2
 exit-peer-policy

All RR clients except for R5 must select the best 2 and install them. They do not need to advertise additional paths to the RR.

#R2, R3, R4
router bgp 65000
 add ipv4
  bgp additional-paths select best 2
  bgp additional-paths install
 add ipv6
  bgp additional-paths select best 2
  bgp additional-paths install

R5 must additionally send the backup path, otherwise it hides its eBGP path from R7.

#R5
router bgp 65000
 template peer-policy IBGP_V4V6
  advertise additional-paths best 2
 exit-peer-policy

Verification

On each iBGP session we should see that the add path capability has been negotiated, and that each router is capable of sending and receiving additional paths.

On R7, verify that it is receiving two paths for R6’s loopbacks. Each path is kept separate using a unique pathid (0x0 and 0x1). The paths via R5 have a lower LP, so these are the “best2” paths.

On each RR client, it will receive both paths from the RR. The path IDs are used by the Add Path feature to ensure that a second Update for the same prefix does not implicitly withdraw the first Update. The paths via R5 are used as repair routes.

Last updated