Subject: periodic/triggered prune(S,G,rpt)

From: [email-masked]
Date: Wed, 21 Feb 2001 10:47:46 -0800

In draft-ietf-pim-sm-v2-new-01.txt, rules to send periodic and triggered
prune(S,G,rpt) are specified respectively in section 4.4.8 and 4.4.9.  For
periodic prune(S,G,rpt), there are three rules.  The third rule is (SPTbit(S,G)
== 0) && (inherited_olist(S,G,rpt) != NULL) && (RPF'(*,G) != RPF'(S,G,rpt)).
The comment reads "Note: we joined the shared tree, but there was an (S,G)
assert and the source tree RPF neighbor is different".  Is this third rule
really necessary?  When the upstream router RPF'(*,G)  receives the (S,G)
assert, it will remove the interface from its inherited_olist(S,G,rpt).  So
(S,G) traffic will not be forwarded down to the multi-access network from the
RPT.  In this aspect, the third rule seems to be an extra.

Furthermore, when comparing section 4.48 with section 4.49, I found that the
rules (see PruneDesired(S,G,rpt))  to send triggered prune(S,G,rpt) is not
exactly the same as the rules to send periodic prune(S,G,rpt).  In particular,
the second periodic rule is (SPTbit(S,G) == 0) && (inherited_olist(S,G,rpt) ==
NULL).  However, PruneDesired(S,G,rpt) only specify (inherited_olist(S,G,rpt) ==
NULL).   Am I missing something here?

-- James C. Huang