<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/net/ipv6, branch v2.6.28.4</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v2.6.28.4</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v2.6.28.4'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2009-01-25T00:41:45+00:00</updated>
<entry>
<title>netfilter: nf_conntrack: fix ICMP/ICMPv6 timeout sysctls on big-endian</title>
<updated>2009-01-25T00:41:45+00:00</updated>
<author>
<name>Patrick McHardy</name>
<email>kaber@trash.net</email>
</author>
<published>2009-01-19T14:19:39+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=c2ef76b4adfbb9439e0d9abad8903404f1e884c3'/>
<id>urn:sha1:c2ef76b4adfbb9439e0d9abad8903404f1e884c3</id>
<content type='text'>
Upstream commit 71320af:

An old bug crept back into the ICMP/ICMPv6 conntrack protocols: the timeout
values are defined as unsigned longs, the sysctl's maxsize is set to
sizeof(unsigned int). Use unsigned int for the timeout values as in the
other conntrack protocols.

Reported-by: Jean-Mickael Guerin &lt;jean-mickael.guerin@6wind.com&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ipv6: Fix fib6_dump_table walker leak</title>
<updated>2009-01-25T00:41:42+00:00</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2009-01-20T22:06:49+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=c85c9b46bb2d568e3a3e1bdd15f5eca70eaceedd'/>
<id>urn:sha1:c85c9b46bb2d568e3a3e1bdd15f5eca70eaceedd</id>
<content type='text'>
[ Upstream commit: 7891cc818967e186be68caac32d84bfd0a3f0bd2 ]

When a fib6 table dump is prematurely ended, we won't unlink
its walker from the list.  This causes all sorts of grief for
other users of the list later.

Reported-by: Chris Caputo &lt;ccaputo@alt.net&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ipv6: silence log messages for locally generated multicast</title>
<updated>2008-12-09T23:48:32+00:00</updated>
<author>
<name>Jan Sembera</name>
<email>jsembera@suse.cz</email>
</author>
<published>2008-12-09T23:48:32+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=24fc7b86dc0470616803be2f921c8cd5c459175d'/>
<id>urn:sha1:24fc7b86dc0470616803be2f921c8cd5c459175d</id>
<content type='text'>
This patch fixes minor annoyance during transmission of unsolicited
neighbor advertisements from userspace to multicast addresses (as
far as I can see in RFC, this is allowed and the similar functionality
for IPv4 has been in arping for a long time).

Outgoing multicast packets get reinserted into local processing as if they
are received from the network. The machine thus sees its own NA and fills
the logs with error messages. This patch removes the message if NA has been
generated locally.

Signed-off-by: Jan Sembera &lt;jsembera@suse.cz&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: fix tiny output corruption of /proc/net/snmp6</title>
<updated>2008-11-20T12:20:10+00:00</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2008-11-20T12:20:10+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=5ece6c2ddd6f7da9e95dc325c742c0f5afbcecbe'/>
<id>urn:sha1:5ece6c2ddd6f7da9e95dc325c742c0f5afbcecbe</id>
<content type='text'>
Because "name" is static, it can be occasionally be filled with
somewhat garbage if two processes read /proc/net/snmp6.

Also, remove useless casts and "-1" -- snprintf() correctly terminates it's
output.

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: use seq_release_private for ip6mr.c /proc entries</title>
<updated>2008-11-20T12:16:12+00:00</updated>
<author>
<name>Benjamin Thery</name>
<email>benjamin.thery@bull.net</email>
</author>
<published>2008-11-20T12:16:12+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=eedd726efbc439dbed94fb8577e5533a986b341f'/>
<id>urn:sha1:eedd726efbc439dbed94fb8577e5533a986b341f</id>
<content type='text'>
In ip6mr.c, /proc entries /proc/net/ip6_mr_cache and /proc/net/ip6_mr_vif
are opened with seq_open_private(), thus seq_release_private() should be 
used to release them.
Should fix a small memory leak.

Signed-off-by: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: routing header fixes</title>
<updated>2008-11-13T06:59:21+00:00</updated>
<author>
<name>Brian Haley</name>
<email>brian.haley@hp.com</email>
</author>
<published>2008-11-13T06:59:21+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=6e093d9dfffc9a02cd54d36904c62f705f09900a'/>
<id>urn:sha1:6e093d9dfffc9a02cd54d36904c62f705f09900a</id>
<content type='text'>
This patch fixes two bugs:

1. setsockopt() of anything but a Type 2 routing header should return
EINVAL instead of EPERM.  Noticed by Shan Wei
(shanwei@cn.fujitsu.com).

2. setsockopt()/sendmsg() of a Type 2 routing header with invalid
length or segments should return EINVAL.  These values are statically
fixed in RFC 3775, unlike the variable Type 0 was.

Signed-off-by: Brian Haley &lt;brian.haley@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: fix ip6_mr_init error path</title>
<updated>2008-11-11T00:34:11+00:00</updated>
<author>
<name>Benjamin Thery</name>
<email>benjamin.thery@bull.net</email>
</author>
<published>2008-11-11T00:34:11+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=87b30a6530218cde431a659f2c118cb72175507c'/>
<id>urn:sha1:87b30a6530218cde431a659f2c118cb72175507c</id>
<content type='text'>
The order of cleanup operations in the error/exit section of ip6_mr_init()
is completely inversed. It should be the other way around.
Also a del_timer() is missing in the error path.

Signed-off-by: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: fix run pending DAD when interface becomes ready</title>
<updated>2008-11-05T09:43:57+00:00</updated>
<author>
<name>Benjamin Thery</name>
<email>benjamin.thery@bull.net</email>
</author>
<published>2008-11-05T09:43:57+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=e3ec6cfc260e2322834e200c2fa349cdf104fd13'/>
<id>urn:sha1:e3ec6cfc260e2322834e200c2fa349cdf104fd13</id>
<content type='text'>
With some net devices types, an IPv6 address configured while the
interface was down can stay 'tentative' forever, even after the interface
is set up. In some case, pending IPv6 DADs are not executed when the
device becomes ready.

I observed this while doing some tests with kvm. If I assign an IPv6 
address to my interface eth0 (kvm driver rtl8139) when it is still down
then the address is flagged tentative (IFA_F_TENTATIVE). Then, I set
eth0 up, and to my surprise, the address stays 'tentative', no DAD is
executed and the address can't be pinged.

I also observed the same behaviour, without kvm, with virtual interfaces
types macvlan and veth.

Some easy steps to reproduce the issue with macvlan:

1. ip link add link eth0 type macvlan
2. ip -6 addr add 2003::ab32/64 dev macvlan0
3. ip addr show dev macvlan0
   ... 
   inet6 2003::ab32/64 scope global tentative
   ...
4. ip link set macvlan0 up
5. ip addr show dev macvlan0
   ...
   inet6 2003::ab32/64 scope global tentative
   ...
   Address is still tentative

I think there's a bug in net/ipv6/addrconf.c, addrconf_notify():
addrconf_dad_run() is not always run when the interface is flagged IF_READY.
Currently it is only run when receiving NETDEV_CHANGE event. Looks like
some (virtual) devices doesn't send this event when becoming up.

For both NETDEV_UP and NETDEV_CHANGE events, when the interface becomes
ready, run_pending should be set to 1. Patch below.

'run_pending = 1' could be moved below the if/else block but it makes 
the code less readable.

Signed-off-by: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>xfrm: Have af-specific init_tempsel() initialize family field of temporary selector</title>
<updated>2008-11-04T22:49:19+00:00</updated>
<author>
<name>Andreas Steffen</name>
<email>andreas.steffen@strongswan.org</email>
</author>
<published>2008-11-04T22:49:19+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=79654a7698195fa043063092f5c1ca5245276fba'/>
<id>urn:sha1:79654a7698195fa043063092f5c1ca5245276fba</id>
<content type='text'>
While adding MIGRATE support to strongSwan, Andreas Steffen noticed that
the selectors provided in XFRM_MSG_ACQUIRE have their family field
uninitialized (those in MIGRATE do have their family set).

Looking at the code, this is because the af-specific init_tempsel()
(called via afinfo-&gt;init_tempsel() in xfrm_init_tempsel()) do not set
the value.

Reported-by: Andreas Steffen &lt;andreas.steffen@strongswan.org&gt;
Acked-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Arnaud Ebalard &lt;arno@natisbad.org&gt;
</content>
</entry>
<entry>
<title>udp: Fix the SNMP counter of UDP_MIB_INERRORS</title>
<updated>2008-11-03T07:52:46+00:00</updated>
<author>
<name>Wei Yongjun</name>
<email>yjwei@cn.fujitsu.com</email>
</author>
<published>2008-11-02T16:14:27+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=0856f93958c488f0cc656be53c26dfd20663bdb3'/>
<id>urn:sha1:0856f93958c488f0cc656be53c26dfd20663bdb3</id>
<content type='text'>
UDP packets received in udpv6_recvmsg() are not only IPv6 UDP packets, but
also have IPv4 UDP packets, so when do the counter of UDP_MIB_INERRORS in
udpv6_recvmsg(), we should check whether the packet is a IPv6 UDP packet
or a IPv4 UDP packet.

Signed-off-by: Wei Yongjun &lt;yjwei@cn.fujitsu.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
