PIC Edge Troubleshooting
Last updated
Last updated
Topology: ine-spv4
Load bgp.pic.global.tshoot.init.cfg
IPv4 BGP routing is currently setup in the network. R2 is a dual-homed CE that announces 1.1.1.1/32 and 2.2.2.2/32 to R3 and R4. XR1 is single-homed to R5, announcing 19.19.19.19/32 and 20.20.20.20/32. R6 is the RR.
PIC and add path is configured in the core network. However, R5 does not have a repair route for 1.1.1.1/32 and 2.2.2.2/32. Explain the problem and fix it. Do not change BGP attributes to fix the issue.
The issue is that R4 is hiding the alternate routes. R3 is setting LP to 110 based on the received customer community on routes received from R2. R4 chooses R3 as the best path, instead of its own eBGP routes to R2.
To fix this we have two options:
Have R4 advertise the best external path
Does not require Add Path
Have R4 advertise additional paths to R6
Requires Add Path
Note that this could also be fixed by having R4 set weight on routes received from R2, but this is prohibited by the lab instructions.
Let’s first examine the problem. R4 has two paths to 1.1.1.1/32 and 2.2.2.2/32. One path via R3 with LP=110, and one path via the eBGP peer with default LP. Naturally, it will choose R3 as the bestpath due to the higher LP.
Because of this, R4 hides its eBGP path. Its best path is via an iBGP learned route, so it does not advertise a path to the RR (basic iBGP split horizon rule). On R6 (the RR) we can see that it only knows one path, via R3. Even though Add Path and PIC is configured on R5, there is no alternate route for R5 to use as a backup path.
The easiest fix is to use the advertise-best-external feature on R4. This configures the router to always advertise its best eBGP route, even if an iBGP route is the bestpath. This also implicitly enables PIC on R4. This does not use Add Path, so this change is non-disruptive. This just prevents information hiding. R4 will never advertise multiple paths, so Add Path is not needed.
Now R6 sees the additional path from R4:
Using Add Path, this is advertised to R5, where it is installed as a backup path:
The other method is to enable Add Path on R4. To do this, we must configure R6 to also receive additional paths (right now it is only sending additional paths). So this will disrupt all iBGP sessions. We also configure R4 to send and receive additional paths.
On R4 we just need to select the best 2 routes and advertise these to R6.
Optionally, we can also locally install the backup path as a repair path.