[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