Subject: [pim] Per-intf (S,G) assert state-machine

From: "James Huang" <[email-masked]>
Date: Thu, 11 Apr 2002 12:47:39 -0700

Hi all,

After more thoughts on the issue that I raised in my previous emails, 
I still believe there is a problem with the (S,G) assert state-machine.

The problem is as follows:
Suppose initially the state-machine is in the NoInfo state and 
AssertTrackingDesired(S,G,I)== TRUE. When it receives a prefered (S,G) assert 
message with RPT clear from intf I, it will transition to the AssertLoser state.
Additionally, if (I == RPF_intf(S)), it will set SPTbit(S,G) to 1.
Now if JoinDesired(S,G) is FALSE, we have created a bad (S,G) state where SPTbit(S,G)
is set to 1 while JoinDesired(S,G) is FALSE.  This bad state can prevent this router 
from forwarding future (S,G) traffic (see sec 4.2 Data Forwarding Rules).

I think the fix is to set SPTbit(S,G) to 1 only if (I == RPF_intf(S) && JoinDesired(S,G) == TRUE).

What do you think?

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