Subject: [pim] question on pim assert

From: "Ju, Yu" <[email-masked]>
Date: Mon, 25 Mar 2002 16:49:02 -0500

Hi,
 
On page 85 of draft-ietf-pim-sm-v2-new-05.txt, it says :
"For example, if both the (S,G) and (*,G) assert state machines where in
the NoInfo state when an Assert message arrives, and the message causes
the (S,G) state machine to transition to either "W" or "L" state, then
the assert would not be processed by the (*,G) assert state machine."
 
Suppose a DR on has both (S,G) and (*,G) in NoInfo state and receive a (*,G)
assert message, if CouldAsser(S,G,I) is true, (S,G,I) assert state will
transfer to W state. According the above statement, (*,G) assert state will
remail NoInfo state. Thus the DR will continue send (*,G) join to RP(G) and
will continue to forward (*,G) data even thought anoth router on the LAN is
the assert winer and is forwarding (*,G) data too. 
 
What am I missing?
 
Thanks,
 
Yu

-----Original Message-----
From: Prashant Jhingran [mailto:[email-masked]]
Sent: Saturday, March 09, 2002 8:38 PM
To: [email-masked]
Subject: [pim] Enjoy Pim-Sm draft ver. 05 .....

 <http://www.ietf.org/internet-drafts/draft-ietf-pim-sm-v2-new-05.txt>
http://www.ietf.org/internet-drafts/draft-ietf-pim-sm-v2-new-05.txt

hi all,

        One can find  Pim-sm latest draft at the above given link.....hope
this might clear the ambiguities prevailing in the  04 ver. of the
draft...:-)

regards,

Prashant Jhingran

---

From: John Zwiebel <[email-masked]>
Date: Mon, 25 Mar 2002 15:20:56 -0800

The (*,G) should remain in no info.

If the router on the shared tree does not have (S,G) state, it
needs to create (S,G) state and prune the interface on which
it loses the assert.

Basically, a (S,G) assert should always win over a (*,G)
assert -- meaning also over an (S,G,R) assert if one happens
to show up.  (ie, you would not create (S,G,R) state on the losing
router even though what you are effectively doing is pruning the
shared-tree.  Now that that router (the loser) has a PIM neighbor that
is forwarding on the shortest-path, the losing router should
also switch to forwarding for that source on the SPT.)

On Monday, March 25, 2002, at 01:49 PM, Ju, Yu wrote:

> Suppose a DR on has both (S,G) and (*,G) in NoInfo state and receive a 
> (*,G) assert message, if CouldAsser(S,G,I) is true, (S,G,I) assert 
> state will transfer to W state. According the above statement, (*,G) 
> assert state will remail NoInfo state. Thus the DR will continue send 
> (*,G) join to RP(G) and will continue to forward (*,G) data even 
> thought anoth router on the LAN is the assert winer and is forwarding 
> (*,G) data too.
>  
> What am I missing?
>  
> Thanks,
>  
> Yu
>
>
>         One can find  Pim-sm latest draft at the above given 
> link.....hope this might clear the ambiguities prevailing in the  04 
> ver. of the draft...:-)
>
> regards,
>
> Prashant Jhingran
>

_______________________________________________
pim mailing list
[email-masked]
http://catarina.usc.edu/mailman/listinfo/pim

---

From: Mark Handley <[email-masked]>
Date: Mon, 25 Mar 2002 15:32:28 -0800

>the assert winer and is forwarding (*,G) data too. 

Given that you don't say it, I'll assume that S is not on the LAN for
which this router is the DR.  Further, we'll assume that there is a
local member on the LAN that has joined (*,G) using IGMP.  I think
this is probably the case you're asking about.

Assume:
(S,G) downstream FSM is in NoInfo.
(*,G) downstream FSM is in NoInfo.
(*,*,RP(G)) downstream FSM is in NoInfo.
Both Assert FSMs are in NoInfo.

This combination of state will cause a DR to be sending Join(*,G)
towards the RP.

What happens next depends on whether SPTbit is set, but in this case
it won't normally be (there are special case exceptions).

 - CouldAssert(S,G,I) is false because SPTbit is false.

 - AssertTrackingDesired(S,G,I) is true because pim_include(*,G) is true.

 - CouldAssert(*,G,I) is true iff RPF_interface(RP(G)) != I. 

 - AssertTrackingDesired(*,G,I) is true.

So when we see an Assert from router R, we attempt to process it with
the (S,G) Assert FSM.  We can't transition to W state because
CouldAssert(S,G,I) is false.  The only possible transition is "Receive
Preferred Assert with RPTbit clear and AssTrDes(S,G,I)==true".

 - If it's a (*,G) Assert (RTPbit in the message is set) the (S,G)
   Assert FSM stays in NoInfo state.  The (*,G) Assert FSM handles the
   assert, and it transitions to L or W state accordingly.

 - If it's a (S,G) Assert (RTPbit in the message is cleared) we
   transition to Loser state.  The (*,G) Assert FSM will not be invoked,
   and remains in NoInfo state.

In the latter case, in sending an (S,G) assert, R said that it had
(S,G) state.  It didn't say whether it had (*,G) state.  So it is
correct that our (*,G) Assert FSM remains in NoInfo state.  Note that
our inherited_olist(S,G,rpt) now no longer contains I because
lost_assert(S,G,rpt) is true, so we send don't forward traffic from S
onto the LAN, and we send Prune(S,G,rpt) upstream.

Hope this helps,

Mark