Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Sep 2001 11:27:43 -0700
From:      "Wilbert de Graaf" <wilbertdg@hetnet.nl>
To:        "deepika kakrania" <deepika_77@yahoo.com>
Cc:        <freebsd-net@FreeBSD.ORG>
Subject:   Re: IP multicasting...
Message-ID:  <003301c142cb$1b924690$d93483d1@inktomi.com>
References:  <20010921092510.54909.qmail@web11207.mail.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help

>  But where is the validity check being done when query
> is Version 2 General query in which case
> igmp_group.s_addr SHOULD BE Zero and ip_dst.s_addr
> SHOULD be igmp_all_hosts_group.
>
>  i.e., we need a validity check something like
>
>   if (igmp->igmp_group.s_addr == 0 &&
>       ip->ip_dst.s_addr != igmp_all_hosts_group)   {
>
>         ++igmpstat.igps_rcv_badqueries;
>        m_freem(m);
>        return;
>   }
>
>  Don't we need this for V2 GENERAL query?

Yes, you're right. The IGMPv2 indeed says the dest-ip of a general query
should be zero. This patch worked for me.

***************
*** 245,251 ****
                         * New router.  Simply do the new validity check.
                         */

!                       if (igmp->igmp_group.s_addr != 0 &&
                            !IN_MULTICAST(ntohl(igmp->igmp_group.s_addr))) {
                                ++igmpstat.igps_rcv_badqueries;
                                m_freem(m);
--- 245,252 ----
                         * New router.  Simply do the new validity check.
                         */

!                       if (igmp->igmp_group.s_addr == 0 ?
!                           ip->ip_dst.s_addr != igmp_all_hosts_group :
                            !IN_MULTICAST(ntohl(igmp->igmp_group.s_addr))) {
                                ++igmpstat.igps_rcv_badqueries;
                                m_freem(m);


Wilbert

Btw.
If you're interested, I have a patch for IGMPv3
(http://home.hetnet.nl/~wilbertdg/igmpv3.html). It doesn't include that
check either. I'll add the check to that patch later.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?003301c142cb$1b924690$d93483d1>