In Russo’s SPv4 guide, he states that using add-path with VPNv4/v6 at the rd-level does not work. He theorizes that when the RD is the same, bestpath happens before the VRF import and you cannot install the repair path in the FIB. Instead you must use unique RDs.
This appears to be fixed in current versions of XRv. I am able to use add-path with VPNv4/VPNv6 and install the repair path in the FIB.
Currently, R5’s bestpath is via R4. We use add-path for VPNv4/VPNv6 to force R5 to advertise its less preferred path to the RR (R7). R5 also locally installs this eBGP path as a repair path.
Unlike in Nick Russo’s lab, R2 is able to install both paths into the BGP VRF tables:
R2 is therefore able to install the repair path into the FIB:
Note that IOS-XE does not support add-path for VPNv4/VPNv6. IOS-XE supports “bgp advertise-best-external” under VPNv4/VPNv6 and “bgp additional-paths install|select” only. IOS-XR on the other hand supports Add-Path for every BGP AFI/SAFI.