Subject: [pim] Sending a prune on RPF change

From: John Zwiebel <[email-masked]>
Date: Wed, 14 Nov 2001 15:43:37 -0800

With IETF coming, and since I will be unable to attend,
I want to check that "someone" will be addressing my 
concerns WRT sending prunes to the old RPF neighbor when
there is a routing change.  

To summarize, I found that doing so just generates a lot
of extra PIM control traffic on a subnet that has multiple
downstream routers that lead to receivers because the
change in the URIB is not realized all at the same time.

A router that is "late" in recognizing the RPF change will
send a join-override, which keeps the old RPF neighbor forwarding.
Even if there is only one downstream, router, the prune 
to the old RPF neighbor can not be processed immediately --
meaning there will be an assert on the LAN to determine the
winner in any case.

Bottom line: sending a prune to an old RPF neighbor does not
help and therefore should not be specified.

Thanks
z

---

From: Mark Handley <[email-masked]>
Date: Mon, 19 Nov 2001 10:23:16 -0800

>help and therefore should not be specified.

Here's my understanding of the issue when the MRIB changes:

 - if the new RPF neighbor is on the same interface as the old RPF
   neighbor, you should never send a Prune when the RPF neighbor
   changes because you'll stop traffic arriving that you would
   otherwise have continued to forward.

 - if the new RPF neighbor is on a different interface:

   + if the old RPF neighbor was on a multi-access link, sending a
     Prune can cause a lot of excess PIM traffic if there are multiple
     downstream routers.  Not sending a prune causes traffic to arrive
     that will be discarded due to IIF check.
     On balance, not sending a prune is probably better, but sending a
     prune won't break anything.

   + if the old RPF neighbor was on a point-to-point link, sending a
     Prune has no adverse effect, and prevents unnecessary traffic
     arriving.  On balance, sending a prune is probably better, but
     not sending a prune won't break anything.
 
So, my feeling is that in the case where the interfaces are different
we should make sending a Prune optional, with the recommendation that
it should ideally only be done when the old interface was
point-to-point.

Comments?

 - Mark