Subject: Re: Few questions

From: "Jyotheeswara Rao Kurma" <[email-masked]>
Date: Thu, 28 Jun 2001 12:29:20 +0500

> 2. Why is JoinDesired(S,G) dependent on KeepAlive timer and not 
> just on immediate_olist(S,G)?

  Just for your info . Keep Alive timer will come into picture only 
when immediate_olist(S,G) is NULL. { This means nobody (down stream)
explicitly send (S,G) joins , or no local receivers for (S,G) (IGMP3 
requests , or we lost assert etc, i.e immediate_olist(S,G) is null).

So we check for inherited_olist(S,G,rpt), which inturn include 
joins(*,G) etc... (These are not not source specific joins) So, 
JoinDesiredSG() will be true only when keep alive timer is running, 
meaning this source is active.(keep alive timer is refreshed by receipt 
of data packet) i.e If this source has sent some data to this group, in 
the last ( keep alive expiry timer), we consider that source as active 
and we consider joindesiredSG as true . There is no point in sending 
(S,G) Joins if that source is inactive, when none explicitly asked for
(S,G) traffic.

Whereas Joindesired(*,G) will be based on only immediateolist(*,G) , 
because we don't who are the potential senders ? 

> ____________________________________________________
> Buy Feng Shui Package for Rs. 151/- only, at 
> http://shopping.rediff.com/shopping/fengshui_mailer.htm
> 
> 
>

---

From: "Pawan H" <[email-masked]>
Date: Thu, 28 Jun 2001 17:08:35 +0800

I'll put my question this way.

If no downstream router is interested exclicit in (S,G) state, why should one continue to send (S,G) join upstream as long as keep alive timer is active? As I understand this behaviour is needed only if source is *directly connected* so that we can maintain Upstream (s,g) state.
If we taken into consideration KeepAlive timer even otherwise, we will maintain (S,G) state indefinitely even if nobody downstream is explicitly interested in (S,G), as long as there is some data flow and inherited_olist(S,G) is non-null.
Isn't this is wastage of resources at all upstream routers.

pnh

-----Original Message-----
From: Jyotheeswara Rao Kurma [mailto:[email-masked]]
Sent: Thursday, June 28, 2001 12:59 PM
To: pnh
Cc: [email-masked]
Subject: Re: Few questions

-- 

_______________________________________________
Make PC-to-Phone calls with Net2Phone.
Sign-up today at: http://www.net2phone.com/cgi-bin/link.cgi?121

---

From: Mathur Sonum-CSM109 <[email-masked]>
Date: Fri, 29 Jun 2001 14:48:14 -0500

> Depending on your implementation, the only time you should 
> need to send
> an (s,g,r)join override is when you have a LAN with two upstream
> routers,
> one the RPF to the RP the other the RPF to the source, and two
> downstream 
> routers, one staying on the shared tree, one trying to prune the
> shared-tree
> (so sending the (s,g,r) prunes that have to be overridden).
> 
> If the (s,g,r) prunes are being sent to the upstream router 
> that is the
> RPF
> to the RP, there's no reason to send an (s,g,r) join to override this
> since
> the upstream "should have known" that there was a downstream 
> router that
> wanted
> to stay on the shared-tree and it wouldn't prune this interface.
> 

But when this upstream router received (*,G) Joins (without (S,G,R) Prune) from two downstreams on the same X-line, it doesn't keep track of the number of downstreams. So, when the upstream router receives triggered (S,G,R) Prune from one downstream, the upstream router cannot know that other downstream exists. Its the other downstream's responsibility to tell upstream that he wants to override - typical Prune override case on shared links. And this is done by (S,G,R) Join

--
Sonum