Subject: (S,G)SPT and (S,G)RPT entries on same iif

From: Chirayu Shah <[email-masked]>
Date: Mon, 05 Apr 1999 18:46:34 -0400

Hi,
	Consider the following configuration:

			Src
			 |
		------- R1 -------
		|		  |
		|		  |
		R2 (RP)		  R3
		|		  |
	    -------------------------
		|
		R4
		|
		Recvr

Suppose the shortest path to the source for r4 is through R3. If R4 tries
to switch to SPT, R3 will create (S,G)SPT state and there will be assert 
processing
because R2 will also send packets down due to its (*,G) state. R2 will be
forced to create an (S,G)RPT entry due to assert processing. The next join
that R4 sends to R2 will be a (*,G) join and will NOT have any (S,G)RPT 
prune information. So according to rule 3.2.2.1(3), on receiving a (*,G) join,
R2 will add the interface in (S,G)RPT's oiflist, which is incorrect. Also, 
once this
is done, according to rule 3.2.2.1(4), R2 will delete the entry because now
the oiflists of (*,G) and (S,G)RPT entries are the same. This will again 
result in assert processing. There is a missing condition in 3.2.2.1(3) that
if (Si,G) is created due to assert, do not touch this entry. 

Chirayu.

---

From: [email-masked] (Billy Ng)
Date: Mon, 5 Apr 1999 21:51:53 -0400

> From [email-masked] Mon Apr  5 19:01:25 1999
> 
> Hi,

Assert will happen but this will trigger R4 to send a (S,G) prune to R2
since SPT and RPT differs.  The SPT bit will be set on R4 for (S,G).  However
R3 will just have a (S,G) state, no SPT bit set.

Hope this helps.

--Billy