Subject: IGMP joins on a pruned (S,G) SPT branch.

From: Sudhir Cheruathur <[email-masked]>
Date: Sat, 10 Apr 1999 11:22:07 -0700

Hi,

Some more questions on PIM-SM.

Consider the following network topology,

      G---c-R1-b--------b-R2
             a|               a|
               |                 |
               |               a|
               |                R3-c---
               |               b|
               |                 |
               |               a|
               |--------------bR4-c---S

             Sender S's last hop router is R4
             Receiver G's last hop is R1
             R2 is RP

            After SPT switchover the states are as follows

            Router           State             iif              oif 
               R1              (S,G)            a                c  {SPT}
                                 (*,G)             b                c

               R2              (S,G)            a                nil  {SPT}
                                  (*,G)            nil               b   

               R3              (S,G)            b                nil

               R4              (S,G)           c                 b

              I am assuming the above states are correct.

              Now if  R3 recvs a IGMP join for G on interface c,
                  
              Will R3 send 
                 1.  (*,G ) join towards RP and
                 2.  (S,G) join towards S ?
           
              If so, I could not find it in the specification. 
                 
              Section 3.2.1.2.1.a  of the spec states
              "If the receiving router does not have a route entry for G the
router creates a (*,G) entry"...
               R3 already has a (S,G) state, will it create a (*,G) state ?

             Thanks in advance.

             Regards 
             Sudhir

---

From: Pavlin Ivanov Radoslavov <[email-masked]>
Date: Sun, 11 Apr 1999 08:05:48 -0700

>             After SPT switchover the states are as follows

SPT switchover independently by both R1 (the DR for receiver G), and
R2 (the RP), right?

>                                   (*,G)            nil               b   

The iif for the (*,G) should be noted as something like "register_vif"
                                            
>                R3              (S,G)            b                nil

If R2 sent (S,G) Join toward S, then the oif has to be a; however,
because the oif of (S,G) in R2 is nil, R2 will not send (or continue
sending) the (S,G) Join (assuming I am not forgetting some exceptional
rule described in the spec :)

>                  2.  (S,G) join towards S ?

R3 will send (*,G) Join toward RP, regardless whether it already had
(S,G) state. If R3 had (S,G) entry, interface c will be added to the
oifs of that (S,G). Because the (S,G) oifs won't be nil, R3 will
be periodically resending (S,G) Join message toward S.

> router creates a (*,G) entry"...

"route entry for G" means "(*,G) entry".

>                R3 already has a (S,G) state, will it create a (*,G) state ?

Yes. See above.

Pavlin