Subject: Re: pim-sm and igmp-routing

From: Bill Fenner <[email-masked]>
Date: Mon, 1 Oct 2001 19:49:26 -0700

Theoretically, the PIM router that speaks IGMP (R2 in your example)
could communicate group membership to the one that doesn't (R1) using
(*,G) PIM Join messages.  However, this is not how PIM is specified, so
you won't find any document saying how to implement this -- and I wouldn't
particularly recommend implementing it; since R2 must know that R1 doesn't
know about IGMP, you're potentially adding unnecessary dependencies.

Why can't R1 perform the non-Querier side of IGMP?

  Bill

---

From: juan <[email-masked]>
Date: Tue, 2 Oct 2001 20:48:39 -0700 (PDT)

> Why can't R1 perform the non-Querier side of IGMP?

Hello Bill,

I agree, R1 should perform the non-Querier side of IGMP.  

I was just wondering if R2 would indeed send a pim-join to R1,
when R2 receives the igmp membership from the host.  And it seems
that it wouldn't, since igmp memberships don't cause the 
pim_include(*,G) list to become non-null, when the router 
isn't the DR (and therefore the upstream state does not change from
no-info to joined).

But anyway, this is more of a theoretical case, and as you point out
not a recommendable config.

Thanks for your reply.
Juan

******************************

- test 3.5.2: shared net + igmp host + multiple PIM routers
  * setup
       DR = R1                         RP
       IGMP support = R2               | 
                                       R1     host(igmp-join(*,g1))
                                       |      |
                                   ----+-+----+----- 
                                         |
                                         R2
                                         |
                                         sender(s1->g1)
 
  * test summary
    - host sends igmp join(*,g1)
      * R2 receives the igmp membership packet
        - downstream-state for if-north : no-info  (igmp membership does not
                                                    trigger a state change)
        - inh_olist(s,g,rpt):       null !!  //pim_include(*,G)=null 
                                               (we're not the DR)
        - upstream-state if-north:  ni   !!  //no pim join sent to the rp
    - sender sends (s1->g1) mcast packet
      * R2
        - encapsulates (pim-register) to DR
        - DR receives pim-reg, decaps, and drops it (oil=null, since no one
          has sent pim-joins for (*,g1))

__________________________________________________
Do You Yahoo!?
Listen to your Yahoo! Mail messages from any phone.
http://phone.yahoo.com