Subject: Re: PIM-SM non-DR router on sender subnet...

From: [email-masked] (Ravi Shekhar)
Date: Thu, 31 Dec 1998 10:01:12 -0500 (EST)

Sorry. By mistake mailed the incomplete message.

>>         
>>         X will put it on subnet s (intended for router Y). But the data will 
>>         be picked up by DR too and will be encapsulated and sent back to RP.
>>         Which in turn will decapsulate it and send it to X and so on.
>>         So there is a loop present here.
>
>This case is taken care of by the rule that 'a packet is never forwarded 
>to the subnet from which is was originated'... this register loop 
>problem was discovered by some of my simulations,  using a new method for 
>automatic protocol testing, and I think the fixes were added to the 
>latest RFC before the final submission [see section 3.4 'Multicast Data 
>Packet Forwarding', 2nd item, 1st subitem 'excluding the subnet 
>containing S'].
>[pls check my web page for further details on this register looping 
>problem and how it is fixed,... chk my resume/publications 'Simulation-based 
>STRESS testing case study...' the longer version].
>
>If I understand correctly, this is the problem and the solution you're 
>looking for,
    
    Yes, thanks. 

    So this test might result in a NEW <S, G> state creation if it turns out 
    that an oif needs to be removed from the existing <*, G> entry and there
    does not exist an <S, G> entry. (Probably might be worth stating next to 
    that test statement.)

    And then prunes will be sent for S towards RP as per section 3.2.1

    > 3 The Join/Prune message is being sent to the RPF
    >   neighbor toward the RP, and there exists a (*,G) entry and
    >   (S,G) entry for a directly connected source.

    To summarize, at X an <S,G> state is created with 
      - iif = intf of X on subnet s [ and oifs from the <*, G> entry minus iif].
      - and a prune for <S, G> is sent up towards RP to prune it off from 
        the shared tree for <S, G>. 

    Isnt this exactly what DR does:

    >     4 Receipt of a packet at the DR from a directly connected
    >       source S, on the subnet containing the address S, triggers a
    >       Join/Prune message towards the RP with S in the prune list and
    >       the RPT-bit set under the following conditions: a) there is no
    >       matching (S,G) state, and b) there exists a (*,G) or (*,*,RP)
    >       for which the DR is not the RP.

    So my question was that shouldnt the above phrase be expanded to include
    routers like X too, as opposed to just having DR?

    Thanks.

    - Ravi Shekhar.