<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/net/ipv6, branch v3.13-rc8</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>ipv6: add link-local, sit and loopback address with INFINITY_LIFE_TIME</title>
<updated>2014-01-10T04:07:47+00:00</updated>
<author>
<name>Hannes Frederic Sowa</name>
<email>hannes@stressinduktion.org</email>
</author>
<published>2014-01-08T14:43:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=07edd741c838e376933b445bbf2692f83b6774e6'/>
<id>07edd741c838e376933b445bbf2692f83b6774e6</id>
<content type='text'>
In the past the IFA_PERMANENT flag indicated, that the valid and preferred
lifetime where ignored. Since change fad8da3e085ddf ("ipv6 addrconf: fix
preferred lifetime state-changing behavior while valid_lft is infinity")
we honour at least the preferred lifetime on those addresses. As such
the valid lifetime gets recalculated and updated to 0.

If loopback address is added manually this problem does not occur.
Also if NetworkManager manages IPv6, those addresses will get added via
inet6_rtm_newaddr and thus will have a correct lifetime, too.

Reported-by: François-Xavier Le Bail &lt;fx.lebail@yahoo.com&gt;
Reported-by: Damien Wyart &lt;damien.wyart@gmail.com&gt;
Fixes: fad8da3e085ddf ("ipv6 addrconf: fix preferred lifetime state-changing behavior while valid_lft is infinity")
Cc: Yasushi Asano &lt;yasushi.asano@jp.fujitsu.com&gt;
Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the past the IFA_PERMANENT flag indicated, that the valid and preferred
lifetime where ignored. Since change fad8da3e085ddf ("ipv6 addrconf: fix
preferred lifetime state-changing behavior while valid_lft is infinity")
we honour at least the preferred lifetime on those addresses. As such
the valid lifetime gets recalculated and updated to 0.

If loopback address is added manually this problem does not occur.
Also if NetworkManager manages IPv6, those addresses will get added via
inet6_rtm_newaddr and thus will have a correct lifetime, too.

Reported-by: François-Xavier Le Bail &lt;fx.lebail@yahoo.com&gt;
Reported-by: Damien Wyart &lt;damien.wyart@gmail.com&gt;
Fixes: fad8da3e085ddf ("ipv6 addrconf: fix preferred lifetime state-changing behavior while valid_lft is infinity")
Cc: Yasushi Asano &lt;yasushi.asano@jp.fujitsu.com&gt;
Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: pcpu_tstats.syncp should be initialised in ip6_vti.c</title>
<updated>2014-01-07T19:12:46+00:00</updated>
<author>
<name>Li RongQing</name>
<email>roy.qing.li@gmail.com</email>
</author>
<published>2014-01-07T07:39:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=657e5d19657542631461e72fdc375b1e83e72070'/>
<id>657e5d19657542631461e72fdc375b1e83e72070</id>
<content type='text'>
initialise pcpu_tstats.syncp to kill the calltrace
[   11.973950] Call Trace:
[   11.973950]  [&lt;819bbaff&gt;] dump_stack+0x48/0x60
[   11.973950]  [&lt;819bbaff&gt;] dump_stack+0x48/0x60
[   11.973950]  [&lt;81078dcf&gt;] __lock_acquire.isra.22+0x1bf/0xc10
[   11.973950]  [&lt;81078dcf&gt;] __lock_acquire.isra.22+0x1bf/0xc10
[   11.973950]  [&lt;81079fa7&gt;] lock_acquire+0x77/0xa0
[   11.973950]  [&lt;81079fa7&gt;] lock_acquire+0x77/0xa0
[   11.973950]  [&lt;817ca7ab&gt;] ? dev_get_stats+0xcb/0x130
[   11.973950]  [&lt;817ca7ab&gt;] ? dev_get_stats+0xcb/0x130
[   11.973950]  [&lt;8183862d&gt;] ip_tunnel_get_stats64+0x6d/0x230
[   11.973950]  [&lt;8183862d&gt;] ip_tunnel_get_stats64+0x6d/0x230
[   11.973950]  [&lt;817ca7ab&gt;] ? dev_get_stats+0xcb/0x130
[   11.973950]  [&lt;817ca7ab&gt;] ? dev_get_stats+0xcb/0x130
[   11.973950]  [&lt;811cf8c1&gt;] ? __nla_reserve+0x21/0xd0
[   11.973950]  [&lt;811cf8c1&gt;] ? __nla_reserve+0x21/0xd0
[   11.973950]  [&lt;817ca7ab&gt;] dev_get_stats+0xcb/0x130
[   11.973950]  [&lt;817ca7ab&gt;] dev_get_stats+0xcb/0x130
[   11.973950]  [&lt;817d5409&gt;] rtnl_fill_ifinfo+0x569/0xe20
[   11.973950]  [&lt;817d5409&gt;] rtnl_fill_ifinfo+0x569/0xe20
[   11.973950]  [&lt;810352e0&gt;] ? kvm_clock_read+0x20/0x30
[   11.973950]  [&lt;810352e0&gt;] ? kvm_clock_read+0x20/0x30
[   11.973950]  [&lt;81008e38&gt;] ? sched_clock+0x8/0x10
[   11.973950]  [&lt;81008e38&gt;] ? sched_clock+0x8/0x10
[   11.973950]  [&lt;8106ba45&gt;] ? sched_clock_local+0x25/0x170
[   11.973950]  [&lt;8106ba45&gt;] ? sched_clock_local+0x25/0x170
[   11.973950]  [&lt;810da6bd&gt;] ? __kmalloc+0x3d/0x90
[   11.973950]  [&lt;810da6bd&gt;] ? __kmalloc+0x3d/0x90
[   11.973950]  [&lt;817b8c10&gt;] ? __kmalloc_reserve.isra.41+0x20/0x70
[   11.973950]  [&lt;817b8c10&gt;] ? __kmalloc_reserve.isra.41+0x20/0x70
[   11.973950]  [&lt;810da81a&gt;] ? slob_alloc_node+0x2a/0x60
[   11.973950]  [&lt;810da81a&gt;] ? slob_alloc_node+0x2a/0x60
[   11.973950]  [&lt;817b919a&gt;] ? __alloc_skb+0x6a/0x2b0
[   11.973950]  [&lt;817b919a&gt;] ? __alloc_skb+0x6a/0x2b0
[   11.973950]  [&lt;817d8795&gt;] rtmsg_ifinfo+0x65/0xe0
[   11.973950]  [&lt;817d8795&gt;] rtmsg_ifinfo+0x65/0xe0
[   11.973950]  [&lt;817cbd31&gt;] register_netdevice+0x531/0x5a0
[   11.973950]  [&lt;817cbd31&gt;] register_netdevice+0x531/0x5a0
[   11.973950]  [&lt;81892b87&gt;] ? ip6_tnl_get_cap+0x27/0x90
[   11.973950]  [&lt;81892b87&gt;] ? ip6_tnl_get_cap+0x27/0x90
[   11.973950]  [&lt;817cbdb6&gt;] register_netdev+0x16/0x30
[   11.973950]  [&lt;817cbdb6&gt;] register_netdev+0x16/0x30
[   11.973950]  [&lt;81f574a6&gt;] vti6_init_net+0x1c4/0x1d4
[   11.973950]  [&lt;81f574a6&gt;] vti6_init_net+0x1c4/0x1d4
[   11.973950]  [&lt;81f573af&gt;] ? vti6_init_net+0xcd/0x1d4
[   11.973950]  [&lt;81f573af&gt;] ? vti6_init_net+0xcd/0x1d4
[   11.973950]  [&lt;817c16df&gt;] ops_init.constprop.11+0x17f/0x1c0
[   11.973950]  [&lt;817c16df&gt;] ops_init.constprop.11+0x17f/0x1c0
[   11.973950]  [&lt;817c1779&gt;] register_pernet_operations.isra.9+0x59/0x90
[   11.973950]  [&lt;817c1779&gt;] register_pernet_operations.isra.9+0x59/0x90
[   11.973950]  [&lt;817c18d1&gt;] register_pernet_device+0x21/0x60
[   11.973950]  [&lt;817c18d1&gt;] register_pernet_device+0x21/0x60
[   11.973950]  [&lt;81f574b6&gt;] ? vti6_init_net+0x1d4/0x1d4
[   11.973950]  [&lt;81f574b6&gt;] ? vti6_init_net+0x1d4/0x1d4
[   11.973950]  [&lt;81f574c7&gt;] vti6_tunnel_init+0x11/0x68
[   11.973950]  [&lt;81f574c7&gt;] vti6_tunnel_init+0x11/0x68
[   11.973950]  [&lt;81f572a1&gt;] ? mip6_init+0x73/0xb4
[   11.973950]  [&lt;81f572a1&gt;] ? mip6_init+0x73/0xb4
[   11.973950]  [&lt;81f0cba4&gt;] do_one_initcall+0xbb/0x15b
[   11.973950]  [&lt;81f0cba4&gt;] do_one_initcall+0xbb/0x15b
[   11.973950]  [&lt;811a00d8&gt;] ? sha_transform+0x528/0x1150
[   11.973950]  [&lt;811a00d8&gt;] ? sha_transform+0x528/0x1150
[   11.973950]  [&lt;81f0c544&gt;] ? repair_env_string+0x12/0x51
[   11.973950]  [&lt;81f0c544&gt;] ? repair_env_string+0x12/0x51
[   11.973950]  [&lt;8105c30d&gt;] ? parse_args+0x2ad/0x440
[   11.973950]  [&lt;8105c30d&gt;] ? parse_args+0x2ad/0x440
[   11.973950]  [&lt;810546be&gt;] ? __usermodehelper_set_disable_depth+0x3e/0x50
[   11.973950]  [&lt;810546be&gt;] ? __usermodehelper_set_disable_depth+0x3e/0x50
[   11.973950]  [&lt;81f0cd27&gt;] kernel_init_freeable+0xe3/0x182
[   11.973950]  [&lt;81f0cd27&gt;] kernel_init_freeable+0xe3/0x182
[   11.973950]  [&lt;81f0c532&gt;] ? do_early_param+0x7a/0x7a
[   11.973950]  [&lt;81f0c532&gt;] ? do_early_param+0x7a/0x7a
[   11.973950]  [&lt;819b5b1b&gt;] kernel_init+0xb/0x100
[   11.973950]  [&lt;819b5b1b&gt;] kernel_init+0xb/0x100
[   11.973950]  [&lt;819cebf7&gt;] ret_from_kernel_thread+0x1b/0x28
[   11.973950]  [&lt;819cebf7&gt;] ret_from_kernel_thread+0x1b/0x28
[   11.973950]  [&lt;819b5b10&gt;] ? rest_init+0xc0/0xc0
[   11.973950]  [&lt;819b5b10&gt;] ? rest_init+0xc0/0xc0

Before 469bdcefdc ("ipv6: fix the use of pcpu_tstats in ip6_vti.c"),
the pcpu_tstats.syncp is not used to pretect the 64bit elements of
pcpu_tstats, so not appear this calltrace.

Reported-by: Fengguang Wu &lt;fengguang.wu@intel.com&gt;
Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
initialise pcpu_tstats.syncp to kill the calltrace
[   11.973950] Call Trace:
[   11.973950]  [&lt;819bbaff&gt;] dump_stack+0x48/0x60
[   11.973950]  [&lt;819bbaff&gt;] dump_stack+0x48/0x60
[   11.973950]  [&lt;81078dcf&gt;] __lock_acquire.isra.22+0x1bf/0xc10
[   11.973950]  [&lt;81078dcf&gt;] __lock_acquire.isra.22+0x1bf/0xc10
[   11.973950]  [&lt;81079fa7&gt;] lock_acquire+0x77/0xa0
[   11.973950]  [&lt;81079fa7&gt;] lock_acquire+0x77/0xa0
[   11.973950]  [&lt;817ca7ab&gt;] ? dev_get_stats+0xcb/0x130
[   11.973950]  [&lt;817ca7ab&gt;] ? dev_get_stats+0xcb/0x130
[   11.973950]  [&lt;8183862d&gt;] ip_tunnel_get_stats64+0x6d/0x230
[   11.973950]  [&lt;8183862d&gt;] ip_tunnel_get_stats64+0x6d/0x230
[   11.973950]  [&lt;817ca7ab&gt;] ? dev_get_stats+0xcb/0x130
[   11.973950]  [&lt;817ca7ab&gt;] ? dev_get_stats+0xcb/0x130
[   11.973950]  [&lt;811cf8c1&gt;] ? __nla_reserve+0x21/0xd0
[   11.973950]  [&lt;811cf8c1&gt;] ? __nla_reserve+0x21/0xd0
[   11.973950]  [&lt;817ca7ab&gt;] dev_get_stats+0xcb/0x130
[   11.973950]  [&lt;817ca7ab&gt;] dev_get_stats+0xcb/0x130
[   11.973950]  [&lt;817d5409&gt;] rtnl_fill_ifinfo+0x569/0xe20
[   11.973950]  [&lt;817d5409&gt;] rtnl_fill_ifinfo+0x569/0xe20
[   11.973950]  [&lt;810352e0&gt;] ? kvm_clock_read+0x20/0x30
[   11.973950]  [&lt;810352e0&gt;] ? kvm_clock_read+0x20/0x30
[   11.973950]  [&lt;81008e38&gt;] ? sched_clock+0x8/0x10
[   11.973950]  [&lt;81008e38&gt;] ? sched_clock+0x8/0x10
[   11.973950]  [&lt;8106ba45&gt;] ? sched_clock_local+0x25/0x170
[   11.973950]  [&lt;8106ba45&gt;] ? sched_clock_local+0x25/0x170
[   11.973950]  [&lt;810da6bd&gt;] ? __kmalloc+0x3d/0x90
[   11.973950]  [&lt;810da6bd&gt;] ? __kmalloc+0x3d/0x90
[   11.973950]  [&lt;817b8c10&gt;] ? __kmalloc_reserve.isra.41+0x20/0x70
[   11.973950]  [&lt;817b8c10&gt;] ? __kmalloc_reserve.isra.41+0x20/0x70
[   11.973950]  [&lt;810da81a&gt;] ? slob_alloc_node+0x2a/0x60
[   11.973950]  [&lt;810da81a&gt;] ? slob_alloc_node+0x2a/0x60
[   11.973950]  [&lt;817b919a&gt;] ? __alloc_skb+0x6a/0x2b0
[   11.973950]  [&lt;817b919a&gt;] ? __alloc_skb+0x6a/0x2b0
[   11.973950]  [&lt;817d8795&gt;] rtmsg_ifinfo+0x65/0xe0
[   11.973950]  [&lt;817d8795&gt;] rtmsg_ifinfo+0x65/0xe0
[   11.973950]  [&lt;817cbd31&gt;] register_netdevice+0x531/0x5a0
[   11.973950]  [&lt;817cbd31&gt;] register_netdevice+0x531/0x5a0
[   11.973950]  [&lt;81892b87&gt;] ? ip6_tnl_get_cap+0x27/0x90
[   11.973950]  [&lt;81892b87&gt;] ? ip6_tnl_get_cap+0x27/0x90
[   11.973950]  [&lt;817cbdb6&gt;] register_netdev+0x16/0x30
[   11.973950]  [&lt;817cbdb6&gt;] register_netdev+0x16/0x30
[   11.973950]  [&lt;81f574a6&gt;] vti6_init_net+0x1c4/0x1d4
[   11.973950]  [&lt;81f574a6&gt;] vti6_init_net+0x1c4/0x1d4
[   11.973950]  [&lt;81f573af&gt;] ? vti6_init_net+0xcd/0x1d4
[   11.973950]  [&lt;81f573af&gt;] ? vti6_init_net+0xcd/0x1d4
[   11.973950]  [&lt;817c16df&gt;] ops_init.constprop.11+0x17f/0x1c0
[   11.973950]  [&lt;817c16df&gt;] ops_init.constprop.11+0x17f/0x1c0
[   11.973950]  [&lt;817c1779&gt;] register_pernet_operations.isra.9+0x59/0x90
[   11.973950]  [&lt;817c1779&gt;] register_pernet_operations.isra.9+0x59/0x90
[   11.973950]  [&lt;817c18d1&gt;] register_pernet_device+0x21/0x60
[   11.973950]  [&lt;817c18d1&gt;] register_pernet_device+0x21/0x60
[   11.973950]  [&lt;81f574b6&gt;] ? vti6_init_net+0x1d4/0x1d4
[   11.973950]  [&lt;81f574b6&gt;] ? vti6_init_net+0x1d4/0x1d4
[   11.973950]  [&lt;81f574c7&gt;] vti6_tunnel_init+0x11/0x68
[   11.973950]  [&lt;81f574c7&gt;] vti6_tunnel_init+0x11/0x68
[   11.973950]  [&lt;81f572a1&gt;] ? mip6_init+0x73/0xb4
[   11.973950]  [&lt;81f572a1&gt;] ? mip6_init+0x73/0xb4
[   11.973950]  [&lt;81f0cba4&gt;] do_one_initcall+0xbb/0x15b
[   11.973950]  [&lt;81f0cba4&gt;] do_one_initcall+0xbb/0x15b
[   11.973950]  [&lt;811a00d8&gt;] ? sha_transform+0x528/0x1150
[   11.973950]  [&lt;811a00d8&gt;] ? sha_transform+0x528/0x1150
[   11.973950]  [&lt;81f0c544&gt;] ? repair_env_string+0x12/0x51
[   11.973950]  [&lt;81f0c544&gt;] ? repair_env_string+0x12/0x51
[   11.973950]  [&lt;8105c30d&gt;] ? parse_args+0x2ad/0x440
[   11.973950]  [&lt;8105c30d&gt;] ? parse_args+0x2ad/0x440
[   11.973950]  [&lt;810546be&gt;] ? __usermodehelper_set_disable_depth+0x3e/0x50
[   11.973950]  [&lt;810546be&gt;] ? __usermodehelper_set_disable_depth+0x3e/0x50
[   11.973950]  [&lt;81f0cd27&gt;] kernel_init_freeable+0xe3/0x182
[   11.973950]  [&lt;81f0cd27&gt;] kernel_init_freeable+0xe3/0x182
[   11.973950]  [&lt;81f0c532&gt;] ? do_early_param+0x7a/0x7a
[   11.973950]  [&lt;81f0c532&gt;] ? do_early_param+0x7a/0x7a
[   11.973950]  [&lt;819b5b1b&gt;] kernel_init+0xb/0x100
[   11.973950]  [&lt;819b5b1b&gt;] kernel_init+0xb/0x100
[   11.973950]  [&lt;819cebf7&gt;] ret_from_kernel_thread+0x1b/0x28
[   11.973950]  [&lt;819cebf7&gt;] ret_from_kernel_thread+0x1b/0x28
[   11.973950]  [&lt;819b5b10&gt;] ? rest_init+0xc0/0xc0
[   11.973950]  [&lt;819b5b10&gt;] ? rest_init+0xc0/0xc0

Before 469bdcefdc ("ipv6: fix the use of pcpu_tstats in ip6_vti.c"),
the pcpu_tstats.syncp is not used to pretect the 64bit elements of
pcpu_tstats, so not appear this calltrace.

Reported-by: Fengguang Wu &lt;fengguang.wu@intel.com&gt;
Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: don't install anycast address for /128 addresses on routers</title>
<updated>2014-01-06T21:32:43+00:00</updated>
<author>
<name>Hannes Frederic Sowa</name>
<email>hannes@stressinduktion.org</email>
</author>
<published>2014-01-06T16:53:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=88ad31491e21f5dec347911d9804c673af414a09'/>
<id>88ad31491e21f5dec347911d9804c673af414a09</id>
<content type='text'>
It does not make sense to create an anycast address for an /128-prefix.
Suppress it.

As 32019e651c6fce ("ipv6: Do not leave router anycast address for /127
prefixes.") shows we also may not leave them, because we could accidentally
remove an anycast address the user has allocated or got added via another
prefix.

Cc: François-Xavier Le Bail &lt;fx.lebail@yahoo.com&gt;
Cc: Thomas Haller &lt;thaller@redhat.com&gt;
Cc: Jiri Pirko &lt;jiri@resnulli.us&gt;
Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It does not make sense to create an anycast address for an /128-prefix.
Suppress it.

As 32019e651c6fce ("ipv6: Do not leave router anycast address for /127
prefixes.") shows we also may not leave them, because we could accidentally
remove an anycast address the user has allocated or got added via another
prefix.

Cc: François-Xavier Le Bail &lt;fx.lebail@yahoo.com&gt;
Cc: Thomas Haller &lt;thaller@redhat.com&gt;
Cc: Jiri Pirko &lt;jiri@resnulli.us&gt;
Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: fix the use of pcpu_tstats in ip6_vti.c</title>
<updated>2014-01-03T00:37:21+00:00</updated>
<author>
<name>Li RongQing</name>
<email>roy.qing.li@gmail.com</email>
</author>
<published>2014-01-02T06:24:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=469bdcefdc47a69028029e792ff1e80680c867b9'/>
<id>469bdcefdc47a69028029e792ff1e80680c867b9</id>
<content type='text'>
when read/write the 64bit data, the correct lock should be hold.
and we can use the generic vti6_get_stats to return stats, and
not define a new one in ip6_vti.c

Fixes: 87b6d218f3adb ("tunnel: implement 64 bits statistics")
Cc: Stephen Hemminger &lt;stephen@networkplumber.org&gt;
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
when read/write the 64bit data, the correct lock should be hold.
and we can use the generic vti6_get_stats to return stats, and
not define a new one in ip6_vti.c

Fixes: 87b6d218f3adb ("tunnel: implement 64 bits statistics")
Cc: Stephen Hemminger &lt;stephen@networkplumber.org&gt;
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: fix the use of pcpu_tstats in ip6_tunnel</title>
<updated>2014-01-03T00:37:21+00:00</updated>
<author>
<name>Li RongQing</name>
<email>roy.qing.li@gmail.com</email>
</author>
<published>2014-01-02T05:20:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=abb6013cca147ad940b0e9fee260d2d9e93b7018'/>
<id>abb6013cca147ad940b0e9fee260d2d9e93b7018</id>
<content type='text'>
when read/write the 64bit data, the correct lock should be hold.

Fixes: 87b6d218f3adb ("tunnel: implement 64 bits statistics")

Cc: Stephen Hemminger &lt;stephen@networkplumber.org&gt;
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
when read/write the 64bit data, the correct lock should be hold.

Fixes: 87b6d218f3adb ("tunnel: implement 64 bits statistics")

Cc: Stephen Hemminger &lt;stephen@networkplumber.org&gt;
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6 addrconf: fix preferred lifetime state-changing behavior while valid_lft is infinity</title>
<updated>2014-01-03T00:34:40+00:00</updated>
<author>
<name>Yasushi Asano</name>
<email>yasushi.asano@jp.fujitsu.com</email>
</author>
<published>2013-12-31T03:04:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fad8da3e085ddf5e661090033287f1a5d62858fc'/>
<id>fad8da3e085ddf5e661090033287f1a5d62858fc</id>
<content type='text'>
Fixed a problem with setting the lifetime of an IPv6
address. When setting preferred_lft to a value not zero or
infinity, while valid_lft is infinity(0xffffffff) preferred
lifetime is set to forever and does not update. Therefore
preferred lifetime never becomes deprecated. valid lifetime
and preferred lifetime should be set independently, even if
valid lifetime is infinity, preferred lifetime must expire
correctly (meaning it must eventually become deprecated)

Signed-off-by: Yasushi Asano &lt;yasushi.asano@jp.fujitsu.com&gt;
Acked-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixed a problem with setting the lifetime of an IPv6
address. When setting preferred_lft to a value not zero or
infinity, while valid_lft is infinity(0xffffffff) preferred
lifetime is set to forever and does not update. Therefore
preferred lifetime never becomes deprecated. valid lifetime
and preferred lifetime should be set independently, even if
valid lifetime is infinity, preferred lifetime must expire
correctly (meaning it must eventually become deprecated)

Signed-off-by: Yasushi Asano &lt;yasushi.asano@jp.fujitsu.com&gt;
Acked-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: fix the use of pcpu_tstats in sit</title>
<updated>2014-01-02T03:48:59+00:00</updated>
<author>
<name>Li RongQing</name>
<email>roy.qing.li@gmail.com</email>
</author>
<published>2014-01-02T00:49:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c3ac17cd6af2687d5881184edd310a5f9c4baa98'/>
<id>c3ac17cd6af2687d5881184edd310a5f9c4baa98</id>
<content type='text'>
when read/write the 64bit data, the correct lock should be hold.

Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
when read/write the 64bit data, the correct lock should be hold.

Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: release dst properly in ipip6_tunnel_xmit</title>
<updated>2013-12-27T18:14:40+00:00</updated>
<author>
<name>Li RongQing</name>
<email>roy.qing.li@gmail.com</email>
</author>
<published>2013-12-20T09:20:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6a9eadccff2926e392173a989042f14c867cffbf'/>
<id>6a9eadccff2926e392173a989042f14c867cffbf</id>
<content type='text'>
if a dst is not attached to anywhere, it should be released before
exit ipip6_tunnel_xmit, otherwise cause dst memory leakage.

Fixes: 61c1db7fae21 ("ipv6: sit: add GSO/TSO support")
Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
if a dst is not attached to anywhere, it should be released before
exit ipip6_tunnel_xmit, otherwise cause dst memory leakage.

Fixes: 61c1db7fae21 ("ipv6: sit: add GSO/TSO support")
Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: always set the new created dst's from in ip6_rt_copy</title>
<updated>2013-12-19T23:35:21+00:00</updated>
<author>
<name>Li RongQing</name>
<email>roy.qing.li@gmail.com</email>
</author>
<published>2013-12-19T04:40:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=24f5b855e17df7e355eacd6c4a12cc4d6a6c9ff0'/>
<id>24f5b855e17df7e355eacd6c4a12cc4d6a6c9ff0</id>
<content type='text'>
ip6_rt_copy only sets dst.from if ort has flag RTF_ADDRCONF and RTF_DEFAULT.
but the prefix routes which did get installed by hand locally can have an
expiration, and no any flag combination which can ensure a potential from
does never expire, so we should always set the new created dst's from.

This also fixes the new created dst is always expired since the ort, which
is created by RA, maybe has RTF_EXPIRES and RTF_ADDRCONF, but no RTF_DEFAULT.

Suggested-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
CC: Gao feng &lt;gaofeng@cn.fujitsu.com&gt;
Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Acked-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ip6_rt_copy only sets dst.from if ort has flag RTF_ADDRCONF and RTF_DEFAULT.
but the prefix routes which did get installed by hand locally can have an
expiration, and no any flag combination which can ensure a potential from
does never expire, so we should always set the new created dst's from.

This also fixes the new created dst is always expired since the ort, which
is created by RA, maybe has RTF_EXPIRES and RTF_ADDRCONF, but no RTF_DEFAULT.

Suggested-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
CC: Gao feng &lt;gaofeng@cn.fujitsu.com&gt;
Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Acked-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: sit: update mtu check to take care of gso packets</title>
<updated>2013-12-18T22:55:24+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2013-12-16T14:31:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=58a4782449c5882f61882396ef18cc34c7dc1269'/>
<id>58a4782449c5882f61882396ef18cc34c7dc1269</id>
<content type='text'>
While testing my changes for TSO support in SIT devices,
I was using sit0 tunnel which appears to include nopmtudisc flag.

But using :

ip tun add sittun mode sit remote $REMOTE_IPV4 local $LOCAL_IPV4 \
   dev $IFACE

We get a tunnel which rejects too long packets because of the mtu check
which is not yet GSO aware.

erd:~# ip tunnel
sittun: ipv6/ip  remote 10.246.17.84  local 10.246.17.83  ttl inherit  6rd-prefix 2002::/16
sit0: ipv6/ip  remote any  local any  ttl 64  nopmtudisc 6rd-prefix 2002::/16

This patch is based on an excellent report from
Michal Shmidt.

In the future, we probably want to extend the MTU check to do the
right thing for GSO packets...

Fixes: ("61c1db7fae21 ipv6: sit: add GSO/TSO support")
Reported-by: Michal Schmidt &lt;mschmidt@redhat.com&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Tested-by: Michal Schmidt &lt;mschmidt@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While testing my changes for TSO support in SIT devices,
I was using sit0 tunnel which appears to include nopmtudisc flag.

But using :

ip tun add sittun mode sit remote $REMOTE_IPV4 local $LOCAL_IPV4 \
   dev $IFACE

We get a tunnel which rejects too long packets because of the mtu check
which is not yet GSO aware.

erd:~# ip tunnel
sittun: ipv6/ip  remote 10.246.17.84  local 10.246.17.83  ttl inherit  6rd-prefix 2002::/16
sit0: ipv6/ip  remote any  local any  ttl 64  nopmtudisc 6rd-prefix 2002::/16

This patch is based on an excellent report from
Michal Shmidt.

In the future, we probably want to extend the MTU check to do the
right thing for GSO packets...

Fixes: ("61c1db7fae21 ipv6: sit: add GSO/TSO support")
Reported-by: Michal Schmidt &lt;mschmidt@redhat.com&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Tested-by: Michal Schmidt &lt;mschmidt@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
