Subject: Question on (*,G) join/prune messages

From: Rahul Bahadur <[email-masked]>
Date: Fri, 21 Jul 2000 13:27:26 -0700 (PDT)

draft-ietf-pim-v2-sm-03.txt; section 3.2.1:
   Periodic Join/Prune Messages:
   ...
     1. ... The RP address (with RPT and WC bits set) is included in
        the join list of a periodic Join/Prune message under the following
        conditions:
	1 ....
        2 The outgoing interface list in the (*,G) or (*,*,RP)
          entry is non-NULL, or the router is the DR on the same
          interface as the RPF neighbor.

	Should not the last comment be further clarified as:
          The outgoing interface list in the (*,G) or (*,*,RP)
          entry is non-NULL, or the router is the DR on the same
          interface as the RPF neighbor and there are local members
          present on that (RPF) interface.(?)

On the same point:
draft-ietf-pim-sm-v2-new-00.txt
	Section 4.1.5. (State Summarization Macros) talks about:
		pim_include(*,G) = 
			{all interfaces I such that:
			  (( I_am_DR( I ) AND assert(*,G,I) == NULL )
				OR AssertWinnner(*,G,I) == me )
			    AND igmp_desired(*,G,I) }

However, Section 4.4.4, (Sending (*,G) Join/Prune Messages) does not
mention the fact that a (*,G) join is sent towards the RP if the
oif list is null and if the router is the DR on the RPF interface towards
the RP and there are local members on the same RPF interface.

Regards,
Rahul

---

From: Hugh Holbrook <[email-masked]>
Date: Fri, 21 Jul 2000 15:12:39 -0700

Rahul,

According to the Upstream (*,G) state machine of 4.4.4, a (*,G) join
message is sent whenever the state machine enters the "Joined" state.
This happens whenever JoinDesired(*,G) becomes true.  JoinDesired(*,G)
(on p. 26) is true whenever inherited_olist(*,G) is non-null.  In the
scenario you describe, the pim_include(*,g) macro at the DR includes
the RPF interface.

-Hugh