[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4846E012.9020300@hp.com>
Date: Wed, 04 Jun 2008 14:33:54 -0400
From: Brian Haley <brian.haley@...com>
To: Shan Wei <shanwei@...fujitsu.com>
Cc: YOSHIFUJI Hideaki / 吉藤英明
<yoshfuji@...ux-ipv6.org>, davem@...emloft.net,
netdev@...r.kernel.org
Subject: Re: [GIT PULL net-2.6] IPv6 fixes.
Shan Wei wrote:
>> + if (addr_type != IPV6_ADDR_ANY) {
>> + if (!ipv6_chk_addr(&init_net, &src_info->ipi6_addr,
>> + addr_type & IPV6_ADDR_LINKLOCAL ? dev : NULL, 0))
>>
> if ipi6_ifindex==2(eth0) and the ipi6_addr is loopback addr or multicast addr,
> ipv6_chk_addr() will return ture.
Won't ipv6_chk_addr() fail if given a multicast address since it's
looking in inet6_addr_lst[]?
Anyways, I've created a little chart showing the before/after
differences based on Yoshifuji's latest patch:
Behavior today:
src/ifindex result
----------- ------
::/0 SUCCESS (packet sent on lo)
::/1 (lo) SUCCESS (packet sent on lo)
::/3 (eth0) SUCCESS (packet sent on lo)
::/27 SUCCESS (packet sent on lo)
::1/0 SUCCESS (packet sent on lo)
::1/1 (lo) SUCCESS (packet sent on lo)
::1/3 (eth0) SUCCESS (packet sent on lo)
::1/27 SUCCESS (packet sent on lo)
ff02::1/0 EINVAL
ff02::1/1 EINVAL
ff02::1/3 EINVAL
ff02::1/27 ENODEV
With patch, differences shown with **:
src/ifindex result
----------- ------
::/0 SUCCESS (packet sent on lo)
::/1 (lo) SUCCESS (packet sent on lo)
::/3 (eth0) SUCCESS (packet sent on lo)
::/27 ENODEV **
::1/0 SUCCESS (packet sent on lo)
::1/1 (lo) SUCCESS (packet sent on lo)
::1/3 (eth0) EINVAL **
::1/27 ENODEV **
ff02::1/0 EINVAL
ff02::1/1 EINVAL
ff02::1/3 EINVAL
ff02::1/27 ENODEV
Is that change good with you?
-Brian
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists