Subject: Is (S,G,rpt) Prune expiration timer needed?

From: Vikram Sahai <[email-masked]>
Date: Fri, 21 Sep 2001 11:56:56 -0700

This refers to PIM-SM draft dated July 20th, 2001.

It seems to me that the per-interface (S, G, rpt) Prune expiration timer is
not needed -- the Join expiration timer for (*, G) can be used instead.  The
rationale follows:

1. Section 4.9.5.2 says that a (*,G) Join must include the list of all
(S,G,rpt) Prunes for the Group G.
2. Section 4.4.4 (S,G,rpt) state machine says that if a router receives a
(*,G) Join message and that message does not refresh some (S,G,rpt) states,
then the unrefreshed (S,G,rpt) states should revert to No Info (that is,
prune state should immediately expire).
3. It is possible to receive a stand-alone (S,G,rpt) Prune message, but we
are guaranteed to receive the periodic (*,G) Join message within "Join/Prune
HoldTime" interval, which will refresh (*,G) as well as (S,G,rpt) state.
4. (S,G,rpt) prune state exists only if (*, G) state exists for that
interface.

Therefore my understanding is that (S,G,rpt) Prune state expires only under
2 conditions:
1. On receiving a (*,G) Join message.
2. When (*,G) state expires due to its Expiry Timer.  In this case, we
should expire all (S,G,rpt) Prune state for G as well.

Does anyone know of a situation where we must track individually the Expiry
Time of each (S,G,rpt) Prune entry?  Thanks for the clarification.

Vikram.