[Xorp-users] Change in RP vs change in next-hop for RP

Pavlin Radoslavov pavlin at icir.org
Wed Jan 31 13:53:51 PST 2007


>   Just wanted to verify the current implementation in XORP regarding 
> events that might occur when a group G is active and data is being 
> forwarded for that group. The (*,G) and (*,*,RP) state will exist in the 
> router.
> 
>   When the next-hop to the RP changes, the Upstream (*,*,RP) Join/Prune 
> state machine which keeps the last RPF Neighbor towards that same RP, is 
> triggered into sending a new Join(*,*,RP) to the new upstream neighbor and 
> a Prune(*,*,RP) to the old upstream neighbor.
> 
> This I can see in  pim_mre_rpf.cc
> PimMre::recompute_nbr_mrib_next_hop_rp_rp_changed()
> 
>   However, I was not able to find what happenes when the RP itself changes 
> when the group is active. The specs talk aboutthe "RP changed" impacting 
> only the  "Per-(S,G) register state machine at the DR". (Look at the 
> tabular form, last column, Section 4.4.1). The register tunnels get 
> updated via an "update register channel" procedure when the state is Join.
> 
>   Specifically, where are the conditions addressed when the RP itself 
> changes for the (*,G) and (*,*,RP) state. Not the next hop changes, but 
> the RP changes when the group is active. Is the protocol designed to 
> handle this ?
> 
>   Any pointers to the XORP code and/or the specs will be appreciated

>From the perspective of transmitting the Join/Prune messages toward
the RP it is important to send the messages in the right direction
(i.e., next-hop router), and the downstream routers don't really
care about the particular RP address. In fact, if we ignore the PIM
Register mechanism, then the RP address doesn't even have to belong
to a real host, and this is exactly how Bidir-PIM works.

That said, it is important to notice only if the next-hop router
toward the RP changes, regardless whether the change is because the
underlying RPF information changed or because the RP address was
changed. In other words, the RP change will translate eventually in
same handling as the RPF(*,G) change.

Note that even though the (*,G) Join message conains the RP address
for group G, there is no need to trigger immediately a new (*,G)
Join message with the new RP address if the next-hop router hasn't
changed. The new RP address will be included with the next periodic
(*,G) Join message.

Regards,
Pavlin



More information about the Xorp-users mailing list