MSDP RPF Check (IOS-XR)
Last updated
Last updated
Load inter-as.multicast.msdp.configured.cfg
On XR2, explain why the RPF check for SAs originated by CSR9 (11.0.0.9) is via the MSDP peer that is used.
Using BGP tools, change this on XR2 to use the other MSDP peer.
To view the current RPF MSDP peer for 11.0.0.9, we can use show msdp rpf on XR2.
Above, we see that CSR10 is the RPF MSDP peer, and that rule 4 is used. To understand why, let’s re-cap the MSDP RPF rules.
IOS-XR uses RFC3618 rules (not Cisco rules, as IOS-XE does by default).
MSDP peer = Originating RP
MSDP peer = BGP nexthop to the originating RP
MSDP peer = BGP peer which advertised the route towards the originating RP
MSDP peer resides in the closet AS towards the originating RP
MSDP peer RPF was statically configured (as with default-peer)
First, we can never match rule 1 for 11.0.0.9, because XR2 and CSR9 are not direct MSDP peers.
Next, we are not running BGP with the MSDP peers directly. Instead, XR2 runs BGP with XR4 and CSR6, so rule 2 and rule 3 will never be met.
Finally, rule 4 succeeds. The AS of each MSDP peer is found using a BGP lookup in ipv4/multicast (if available), and then ipv4/unicast. XR1 is not found in ipv4/multicast, but is found in ipv4/unicast via neighboring AS7.
CSR10 is found in ipv4/multicast via neighboring AS 9.
Now XR2 checks the path to 11.0.0.9. If the best path is via AS9, then CSR10 should be used. If via AS7, then XR1 should be used.
We see above that the best path to 11.0.0.9 is via AS9, which is why CSR10 is used for the RPF check and uses rule 4.
To influence this we can simply use BGP tools to prefer the route for 11.0.0.9/32 via AS7.
Now that AS7 is the best path to 11.0.0.9, we should switch to using XR1 as the RPF MSDP peer.
Indeed that is the case:
Note that, depending on how the lab loaded, you might have experienced the route via AS7 as best first due to being oldest. In that case you can just set LP inbound on the other peer, CSR6.