R5 is hiding its external path again, because the LP is lower than the path via R4. To get around this we can use “advertise best-external” or add path. We use add path here, because we use “advertise best-external” in a previous lab.
R8 will now receive the path via R5. However, there is a bug with 6PE as we saw with IOS-XE. R5 does not seem to be advertising the additional 6PE path even though it is marking it as a backup path locally. This seems to be due to the way BGP will allocate a local MPLS label. It doesn’t appear to be properlly allocating a label for backup paths on either IOS-XE or IOS-XR.
R8 now needs to mark the backup path and advertise this as the only path to R2. On IOS-XR, we don’t have the option of “advertise diverse-path backup” as we do on IOS-XE. Our closest option is to use add path and restrict outbound routes to only the backup path.
Remember that R2, as the ingress PE, controls which egress PE is used. When it loses the path via R4, it will immediately switchover to R5. R3, as a P router in the core, simply switches on the top transport label and has no idea about the BGP routes.