[Xorp-users] XORP IGMPv2 <-> XORP IGMPv3

Philip Romanov philip_romanov at yahoo.com
Thu Oct 8 10:03:29 PDT 2009


Hello,

I'm researching how XORP IGMP implementation behaves when it comes to v3/v2/v1 co-existence on the same network.

I have IGMPv3 RFC3376 in front of me:

7.3. Multicast Router Behavior

7.3.1. In the Presence of Older Version Queriers

   IGMPv3 routers may be placed on a network where at least one router
   on the network has not yet been upgraded to IGMPv3.  The following
   requirements apply:

   o If any older versions of IGMP are present on routers, the querier
     MUST use the lowest version of IGMP present on the network.  This
     must be administratively assured; routers that desire to be
     compatible with IGMPv1 and IGMPv2 MUST have a configuration option
     to act in IGMPv1 or IGMPv2 compatibility modes.  When in IGMPv1
     mode, routers MUST send Periodic Queries with a Max Resp Code of 0
     and truncated at the Group Address field (i.e., 8 bytes long), and
     MUST ignore Leave Group messages.  They SHOULD also warn about
     receiving an IGMPv2 or IGMPv3 query, although such warnings MUST be
     rate-limited.  When in IGMPv2 mode, routers MUST send Periodic
     Queries truncated at the Group Address field (i.e., 8 bytes long),
     and SHOULD also warn about receiving an IGMPv3 query (such warnings
     MUST be rate-limited).  They also MUST fill in the Max Resp Time in
     the Max Resp Code field, i.e., the exponential algorithm described
     in section 4.1.1 is not used.

   o If a router is not explicitly configured to use IGMPv1 or IGMPv2
     and hears an IGMPv1 Query or IGMPv2 General Query, it SHOULD log a
     warning.  These warnings MUST be rate-limited.


I placed two XORP routers on two PCs (connection is point-to-point), with relevant part of IGMP configuration being:

XORP-1:

    igmp {
    interface eth1 {
        vif eth1 {
        disable: false
        version: 3
        }
    }
    traceoptions {
        flag all {
        disable: false
        }
    }
    }


XORP-2:
    igmp {
    interface eth1 {
        vif eth1 {
        disable: false
        version: 2
        }
    }
    traceoptions {
        flag all {
        disable: false
        }
    }
    }


I'm watching for IGMP protocol exchanges from one of the PCs with wireshark. I see that XORP-1 continues to send IGMPv3 queries while XORP-2 continues to send IGMPv2 queries. Furthermore, XORP-1 replies itself to queries using v3 and XORP-2 using v2 so I have a great mix of V2 and V3 request/response traffic on my network. It does not appear that XORP-1 downshifted into IGMPv2 compatibility mode.

Question, I guess, would be if XORP supports downshifting into lower version IGMP compatibility modes as per RFC? Any configuration file options that I missed?

I can provide pcap capture if needed.


Regards,

  Philip Romanov


      



More information about the Xorp-users mailing list