Subject: RPT bit in Assert Messages.

From: krishna bellamkonda <[email-masked]>
Date: Thu, 5 Jul 2001 17:33:45 -0700 (PDT)

Hi,

I have a question regarding "rpt" bit in Assert
message. Is this bit set when we are receiving packets
from SPT or only if we received (S,G) Join/(S,
G)IGMPv3 reports on that interface?.

If this RPT bit is set when we are receiving packets
from SPT , i see the following problem with the
"inherited_olist" macros defined in the new dratft.
 
If a Router received only (*, G) join and lost the (*,
G) assert on interface1. But this Router has won the
(S, G) assert on interface1 because it has received a
(S,G) Join on another interface2 and established SPT
tree.

 According to the new PIM-SM draft interface1 will not
be present in the inherited_olist(S, G). Because we
have supresses the other router from forwarding for
this (S, G) entry it should be included in the
outgoing interface list. 

Thanks
Krishna.

__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/

---

From: muthireddy ramakoteswararao <[email-masked]>
Date: Thu, 5 Jul 2001 18:44:38 -0700 (PDT)

In Gated implementaion RPT bit is set if the assert
matches a SPT. So, it should be set whenever packets
are received from the SPT inorder to maintain
compatability with RFC2362 implementations.

Ramko. 
--- krishna bellamkonda <[email-masked]>

---

From: chennu krishna <[email-masked]>
Date: Thu, 5 Jul 2001 18:59:30 -0700 (PDT)

If so inherited_olist(S, G) should be modified to
include (S, G) winners?.

Thanks
chennu.

--- muthireddy ramakoteswararao
<[email-masked]> wrote:
> > (S, G) assert on interface1 because it has
> received
> > a

---

From: John Zwiebel <[email-masked]>
Date: Fri, 06 Jul 2001 11:12:00 -0700

The RPT-bit means "RP Tree".
In all assert exchanges, the SPT should always win over the RPT.
An (S,G) entry is by definition on the SPT whether it has
	inherited olists or not.
An (S,G,R) entry is on the RPT

The point is that you have two possible paths for traffic to
travel.  The RPT or the SPT.  If you have a point where these
two paths intersect and/or overlap, you can't continue to insist
that traffic come down the RPT is someone else wants it down
the SPT.

Take the X-line.  The shortest path between the source and
the RP.  If the source is also a member the RPT and the
SPT completely overlap.  Does it make sense for a source to
send traffic down the SPT to the RP but receive that same
traffic from the RP on the RPT?  No.

Now separate the source and receiver one network at a time
so the two paths don't overlap completely but do at some point
before the RP.  The router where these two paths intersect is
a turnaround router.  This router is responsible for pruning off
the shared-tree so that unnecessary traffic does not have to flow
all the way up to the RP -- only to be dropped.

The other part of the question here is "when does a router assert"?
  -- it has to be receiving and forwarding traffic.
  	(On the RPT, this is assumed while on the SPT the T-bit must
	be set).
  -- it has to receive non-rpf traffic on one of the interfaces in 
	the olist.

The RPT bit is set iff the traffic being forwarded by this router
is coming down the RPT -- ie (*,G) or (S,G,R) state.

Note that for SSM (IGMPv3 source reports) there is no "shared-tree"
because there is no RP so the RP-bit can't be set.

z

chennu krishna wrote:
> _______________________________________________
> Pim-external mailing list
> [email-masked]
> http://mailist.procket.com/mailman/listinfo/pim-external

---

From: krishna bellamkonda <[email-masked]>
Date: Fri, 6 Jul 2001 11:49:09 -0700 (PDT)

Thanks for your detailed explanation. Let me restate
the problem.

Router has lost the (*, G) assert on interface1 and
has won the (S1, G) assert on this interface.
Interface1 doesn't exist in the "Immediate_olist(S1,
G)" as it hasn't recieved (S, G) Joins on this
interface. 
 
 Now interface1 will be excluded from the
"inherited_olist(S1, G, Rpt)" as this interface is
present in the "lost_assert(*, G)". 

inherited_olist(S1, G)= inherited_olist(S1, G, Rpt) +
Immediate_olist(S1, G)

 So, interface1 doesn't present in the
"inherited_olist(S1, G)" as it is exluded from the
inherited_olist(S1, G, Rpt) and it is not included in
"Immediate_olist(S1, G)".

Thanks
Krishna.
--- John Zwiebel <[email-masked]> wrote:
> > > > If a Router received only (*, G) join and lost
> the
> > > > (*,
> > > > G) assert on interface1. But this Router has
> won
> > > the
> > > > (S,G) Join on another interface2 and
> established
> > > SPT
> > > > tree.
> > > >
> > > >  According to the new PIM-SM draft interface1
> will
> > > > not
> > > > be present in the inherited_olist(S, G).
> Because
> > > we
> > > > have supresses the other router from
> forwarding
> > > for

---

From: muthireddy ramakoteswararao <[email-masked]>
Date: Fri, 6 Jul 2001 12:22:09 -0700 (PDT)

Now I understood your problem. I think
inherited_olist(S,G)should be modified as below-
 
 inherited_olist(S,G)= inherited_olist(S, G, Rpt)
 + Immediate_olist(S, G) + assert_winners(S,G)
                         
Thanks
Ramko

wrote:
> > that traffic come down the RPT is someone else
> wants
> > it down
> > the SPT.
> > 
> > the RP.  If the source is also a member the RPT
> and
> > the
> > send traffic down the SPT to the RP but receive
> that
> > same
> > Now separate the source and receiver one network
> at
> > a time
> > so the two paths don't overlap completely but do
> at
> > some point
> > a turnaround router.  This router is responsible
> for
> > pruning off
> > the shared-tree so that unnecessary traffic does
> not
> > have to flow
> > The other part of the question here is "when does
> a
> > router assert"?
> >   	(On the RPT, this is assumed while on the SPT
> the
> > T-bit must
> > 	be set).
> >   -- it has to receive non-rpf traffic on one of
> the
> > interfaces in 
> > 	the olist.
> > 
> > > > > message. Is this bit set when we are
> receiving
> > > > > packets
=== message truncated ===

---

From: John Zwiebel <[email-masked]>
Date: Fri, 06 Jul 2001 13:06:07 -0700

2cents:
Why does a router send a (*,G) assert when its 
suppose to send an (S,G) assert?

IMHO, you do one or the other.  If you have
an inherited interface in your (S,G) and you
receive a RPT-bit assert, there's no reason
to respond with a (*,G) or RPT-bit assert.  
Your (S,G) is already more specific and the
interfaces already there should be used.

So, the suggestion that you "lost" the inherited
interface in the (S,G) is -- I believe -- 
mistaken.  Especially since you are assuming
that you have to now win 2 different asserts.

Don't do that.