netdev
[Top] [All Lists]

Re: Source Specific Query of MLDv2 [PATCH]

To: dlstevens@xxxxxxxxxx
Subject: Re: Source Specific Query of MLDv2 [PATCH]
From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@xxxxxxxxxxxxxx>
Date: Thu, 12 Feb 2004 11:03:28 +0900 (JST)
Cc: davem@xxxxxxxxxx, hibi665@xxxxxxx, netdev@xxxxxxxxxxx, netdev@xxxxxxxxxxx, yoshfuji@xxxxxxxxxxxxxx
In-reply-to: <OFA4C00EE0.FAE8C2B9-ON88256E37.0072FEDF-88256E37.00732B00@xxxxxxxxxx>
Organization: USAGI Project
References: <20040211.160152.48476158.yoshfuji@xxxxxxxxxxxxxx> <OFA4C00EE0.FAE8C2B9-ON88256E37.0072FEDF-88256E37.00732B00@xxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
In article 
<OFA4C00EE0.FAE8C2B9-ON88256E37.0072FEDF-88256E37.00732B00@xxxxxxxxxx> (at Wed, 
11 Feb 2004 14:00:39 -0700), David Stevens <dlstevens@xxxxxxxxxx> says:

> Ok, here's what I hope is the final version of the patch, so we can
> finally put this to bed. :-)

Well...

> +                 hdr = skb->nh.ipv6h;
> +                 if (ipv6_addr_is_multicast(&hdr->daddr) &&
> +                     !ipv6_chk_mcast_addr(skb->dev, &hdr->daddr,
> +                     &hdr->saddr) &&
> +                     !ipv6_is_mld(skb))
> +                       goto discard;
:

You forgot to check if proto is IPPROTO_ICMPV6.
(This is one reason why I want to check the icmpv6 code 
 in icmpv6_rcv().)

  if (ipv6_addr_is_multicast(&hdr->daddr) &&
      !ipv6_chk_mcast_addr(skb->dev, &hdr->daddr, &hdr->saddr) &&
      (proto != IPPROTO_ICMPV6 || !ipv6_is_mld(skb)))
          goto discard;

And, the name ipv6_is_mld should be icmpv6_is_mld or 
something like this now.

-- 
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@xxxxxxxxxxxxxx>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA

<Prev in Thread] Current Thread [Next in Thread>