[Xorp-users] XORP IGMPv3 is not accepting the report with source IP 0.0.0.0

Pavlin Radoslavov pavlin at ICSI.Berkeley.EDU
Tue Aug 12 21:08:02 PDT 2008


For the record, the patch is committed to CVS:

1.90      +4 -3;  commitid: 70d348a2093141a7; xorp/mld6igmp/mld6igmp_vif.cc


Pavlin


> Tushar,
> 
> Were you able to verify whether the patch actually fixes the
> problem.
> 
> Thanks,
> Pavlin
> 
> Pavlin Radoslavov <pavlin at ICSI.Berkeley.EDU> wrote:
> 
> > Tushar Mehta <tushar.mehta at einfochips.com> wrote:
> > 
> > > according to rfc-3376:
> > > An IGMP report is sent with a valid IP source address for the
> > > destination subnet.  The 0.0.0.0 source address may be used by a
> > > system that has not yet acquired an IP address.  Note that the
> > > 0.0.0.0 source address may simultaneously be used by multiple systems
> > > on a LAN.  Routers MUST accept a report with a source address of
> > > 0.0.0.0.
> > > 
> > > but in my case it is showing me this error message on the terminal "source
> > > must be unicast"....
> > > 
> > > XORP is accepting my IGMPv3 report with source IP address "0.0.0.0".
> >        ~~~~
> > I guess you meant to say that "XORP is NOT accepting..."
> > 
> > Is the "source must be unicast" error message coming from the FEA or
> > IGMP? The beginning of the error message should tell that.
> > 
> > If it is coming from IGMP, please try the included patch (vs latest
> > XORP code in CVS) and see whether it fixes the problem.
> > 
> > Note that you must have enabled IGMPv3, because the acceptance of
> > 0.0.0.0 is specified only in RFC 3376 (but not in earlier IGMP
> > versions). Also, note that RFC 3810 doesn't say anything about IP
> > source addresses that are zero, hence this won't apply for MLDv2
> > either.
> > 
> > Pavlin
> > 
> > Index: mld6igmp_vif.cc
> > ===================================================================
> > RCS file: /usr/local/www/data/cvs/xorp/mld6igmp/mld6igmp_vif.cc,v
> > retrieving revision 1.88
> > diff -u -p -r1.88 mld6igmp_vif.cc
> > --- mld6igmp_vif.cc	4 Jan 2008 03:16:52 -0000	1.88
> > +++ mld6igmp_vif.cc	22 Jul 2008 19:35:09 -0000
> > @@ -1192,7 +1192,7 @@ Mld6igmpVif::mld6igmp_process(const IPvX
> >      //
> >      // Source address check.
> >      //
> > -    if (! src.is_unicast()) {
> > +    if (! (src.is_unicast() || (allow_src_zero_address && src.is_zero()))) {
> >  	//
> >  	// Source address must always be unicast.
> >  	// The kernel should have checked that, but just in case...
> > @@ -1216,7 +1216,8 @@ Mld6igmpVif::mld6igmp_process(const IPvX
> >  		     src.af(), family());
> >      }
> >      // Source address must be directly connected
> > -    if (! mld6igmp_node().is_directly_connected(*this, src)) {
> > +    if (! (mld6igmp_node().is_directly_connected(*this, src)
> > +	   || (allow_src_zero_address && src.is_zero()))) {
> >  	error_msg = c_format("RX %s from %s to %s on vif %s: "
> >  			     "source must be directly connected",
> >  			     proto_message_type2ascii(message_type),
> > _______________________________________________
> > Xorp-users mailing list
> > Xorp-users at xorp.org
> > http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-users
> 
> _______________________________________________
> Xorp-users mailing list
> Xorp-users at xorp.org
> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-users



More information about the Xorp-users mailing list