Subject: Re: join(s,g) on shared tree

From: [email-masked] (Billy Ng)
Date: Wed, 20 Jan 1999 00:09:54 -0500

> From [email-masked] Tue Jan 19 14:43:06 1999
> 
> Dino Farinacci states:
> > >> i don't follow your notation, but the answer is probably no.  the only 
> > >> time an s,g join is sent _toward_ the RP is when rpf(s) == rpf(rp),
> > >> however, it is still sent to S.
> > 
> >     Rusty, one might argue that an (S,G,RP-bit) join is sent up the RP tree
> >     when it wants to undo previous sent (S,G,RP-bit) prunes. Even though
> >     this can be undone (via the spec) by sending a (*,G) join without S
> >     in the prune-list.
> > 
> > Dino
> 
> yes, i thought of that, as matter of fact it took me a while to respond
> because i was looking through the rfc to find a mention of an
> (s, g)rpt=1 join either being recieved or sent, but could not find a
> reference, (i could have easily overlooked it).  i assumed it was
> missing since a (*, g) would accomplish this :).  on the other hand i
> just looked at my code and i do indeed accept an (s, g)rpt join :).
> 

Maybe I am missing something here.  How does a (*,g) join (with just the RP
in the join-list) graft a (s,g)rpt upstream?  The most common case is that
both the (*,g) and (s,g)rpt exist at the same time.  The only way to have
the (s,g)rpt removed is either from timeout due to (s,g)rpt not being received,
(s,g) join or in your case (s,g)rpt join.

--Billy

> so i think the conclusion is (correct me if i'm wrong), since the spec
> doesn't forbid (s, g)rpt=1 join to the RP, it's ok to graft previously
> pruned data from the RP. 
> 
> wrt the original message, this still does not allow a shared tree to
> over ride shortest path joins. 
> 
> - rusty
>

---

From: Dino Farinacci <[email-masked]>
Date: Tue, 19 Jan 1999 22:00:06 -0800 (PST)

>> in the join-list) graft a (s,g)rpt upstream?  The most common case is that

    Because the rule in the spec indicates that when you get a (*,G) Join,
    you populate the olist for all (Si,G) entries. Modulo any (S,G,R) entries
    in the prune-list. The reason you have to populate (Si,G) olist is because
    you have have new receivers joined to the group which want data from
    existing sources (where routers upstream are only on the shared tree).

>> (s,g) join or in your case (s,g)rpt join.

    And a (*,G) join (with nothing in prune-list).    

Dino