<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/net/vxlan.c, branch v4.2.7</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>vxlan: re-ignore EADDRINUSE from igmp_join</title>
<updated>2015-08-25T23:24:35+00:00</updated>
<author>
<name>Marcelo Ricardo Leitner</name>
<email>marcelo.leitner@gmail.com</email>
</author>
<published>2015-08-25T23:22:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=bef0057b7ba881d5ae67eec876df7a26fe672a59'/>
<id>bef0057b7ba881d5ae67eec876df7a26fe672a59</id>
<content type='text'>
Before 56ef9c909b40[1] it used to ignore all errors from igmp_join().
That commit enhanced that and made it error out whatever error happened
with igmp_join(), but that's not good because when using multicast
groups vxlan will try to join it multiple times if the socket is reused
and then the 2nd and further attempts will fail with EADDRINUSE.

As we don't track to which groups the socket is already subscribed, it's
okay to just ignore that error.

Fixes: 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope")
Reported-by: John Nielsen &lt;lists@jnielsen.net&gt;
Signed-off-by: Marcelo Ricardo Leitner &lt;marcelo.leitner@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>
Before 56ef9c909b40[1] it used to ignore all errors from igmp_join().
That commit enhanced that and made it error out whatever error happened
with igmp_join(), but that's not good because when using multicast
groups vxlan will try to join it multiple times if the socket is reused
and then the 2nd and further attempts will fail with EADDRINUSE.

As we don't track to which groups the socket is already subscribed, it's
okay to just ignore that error.

Fixes: 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope")
Reported-by: John Nielsen &lt;lists@jnielsen.net&gt;
Signed-off-by: Marcelo Ricardo Leitner &lt;marcelo.leitner@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vxlan: release lock after each bucket in vxlan_cleanup</title>
<updated>2015-05-27T17:33:21+00:00</updated>
<author>
<name>Sorin Dumitru</name>
<email>sorin@returnze.ro</email>
</author>
<published>2015-05-26T07:42:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=14e1d0fa97f821b42e8683500cf4ec817bb5d940'/>
<id>14e1d0fa97f821b42e8683500cf4ec817bb5d940</id>
<content type='text'>
We're seeing some softlockups from this function when there
are a lot fdb entries on a vxlan device. Taking the lock for
each bucket instead of the whole table is enough to fix that.

Signed-off-by: Sorin Dumitru &lt;sdumitru@ixiacom.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>
We're seeing some softlockups from this function when there
are a lot fdb entries on a vxlan device. Taking the lock for
each bucket instead of the whole table is enough to fix that.

Signed-off-by: Sorin Dumitru &lt;sdumitru@ixiacom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2015-05-23T05:22:35+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2015-05-23T05:22:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=36583eb54d46c36a447afd6c379839f292397429'/>
<id>36583eb54d46c36a447afd6c379839f292397429</id>
<content type='text'>
Conflicts:
	drivers/net/ethernet/cadence/macb.c
	drivers/net/phy/phy.c
	include/linux/skbuff.h
	net/ipv4/tcp.c
	net/switchdev/switchdev.c

Switchdev was a case of RTNH_H_{EXTERNAL --&gt; OFFLOAD}
renaming overlapping with net-next changes of various
sorts.

phy.c was a case of two changes, one adding a local
variable to a function whilst the second was removing
one.

tcp.c overlapped a deadlock fix with the addition of new tcp_info
statistic values.

macb.c involved the addition of two zyncq device entries.

skbuff.h involved adding back ipv4_daddr to nf_bridge_info
whilst net-next changes put two other existing members of
that struct into a union.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/net/ethernet/cadence/macb.c
	drivers/net/phy/phy.c
	include/linux/skbuff.h
	net/ipv4/tcp.c
	net/switchdev/switchdev.c

Switchdev was a case of RTNH_H_{EXTERNAL --&gt; OFFLOAD}
renaming overlapping with net-next changes of various
sorts.

phy.c was a case of two changes, one adding a local
variable to a function whilst the second was removing
one.

tcp.c overlapped a deadlock fix with the addition of new tcp_info
statistic values.

macb.c involved the addition of two zyncq device entries.

skbuff.h involved adding back ipv4_daddr to nf_bridge_info
whilst net-next changes put two other existing members of
that struct into a union.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vxlan: correct typo in call to unregister_netdevice_queue</title>
<updated>2015-05-18T20:57:09+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2015-05-18T17:51:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=13c3ed6a92724d8c8cb148a14b0ae190ddfe7413'/>
<id>13c3ed6a92724d8c8cb148a14b0ae190ddfe7413</id>
<content type='text'>
By inspection, this appears to be a typo.  The gating comparison
involves vxlan-&gt;dev rather than dev.  In fact, dev is the iterator in
the preceding loop above but it is actually constant in the 2nd loop.

Use of dev seems to be a bad cut-n-paste from the prior call to
unregister_netdevice_queue.  Change dev to vxlan-&gt;dev, since that is
what is actually being checked.

Signed-off-by: John W. Linville &lt;linville@tuxdriver.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>
By inspection, this appears to be a typo.  The gating comparison
involves vxlan-&gt;dev rather than dev.  In fact, dev is the iterator in
the preceding loop above but it is actually constant in the 2nd loop.

Use of dev seems to be a bad cut-n-paste from the prior call to
unregister_netdevice_queue.  Change dev to vxlan-&gt;dev, since that is
what is actually being checked.

Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netns: rename peernet2id() to peernet2id_alloc()</title>
<updated>2015-05-10T02:15:30+00:00</updated>
<author>
<name>Nicolas Dichtel</name>
<email>nicolas.dichtel@6wind.com</email>
</author>
<published>2015-05-07T09:02:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7a0877d4b438886b72be61632eaa774d13262f70'/>
<id>7a0877d4b438886b72be61632eaa774d13262f70</id>
<content type='text'>
In a following commit, a new function will be introduced to only lookup for
a nsid (no allocation if the nsid doesn't exist). To avoid confusion, the
existing function is renamed.

Signed-off-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Acked-by: Thomas Graf &lt;tgraf@suug.ch&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 a following commit, a new function will be introduced to only lookup for
a nsid (no allocation if the nsid doesn't exist). To avoid confusion, the
existing function is renamed.

Signed-off-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Acked-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vxlan: Correctly set flow*i_mark and flow4i_proto in route lookups</title>
<updated>2015-05-05T23:37:54+00:00</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2015-05-05T13:09:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=239fb791d4ee194740e69fe9694f58ec404d1689'/>
<id>239fb791d4ee194740e69fe9694f58ec404d1689</id>
<content type='text'>
VXLAN must provide the skb mark and specifiy IPPROTO_UDP when doing
the FIB lookup for the remote ip. Otherwise an invalid route might
be returned.

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&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>
VXLAN must provide the skb mark and specifiy IPPROTO_UDP when doing
the FIB lookup for the remote ip. Otherwise an invalid route might
be returned.

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vxlan: remove the unnecessary codes</title>
<updated>2015-04-22T22:45:49+00:00</updated>
<author>
<name>Li RongQing</name>
<email>roy.qing.li@gmail.com</email>
</author>
<published>2015-04-22T07:49:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=608404290e2d9d1756db4013c4ee12fa7617dad9'/>
<id>608404290e2d9d1756db4013c4ee12fa7617dad9</id>
<content type='text'>
The return value of vxlan_fdb_replace always is greater than or equal to 0

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>
The return value of vxlan_fdb_replace always is greater than or equal to 0

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>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2015-04-14T19:44:14+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2015-04-14T19:44:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=87ffabb1f055e14e7d171c6599539a154d647904'/>
<id>87ffabb1f055e14e7d171c6599539a154d647904</id>
<content type='text'>
The dwmac-socfpga.c conflict was a case of a bug fix overlapping
changes in net-next to handle an error pointer differently.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The dwmac-socfpga.c conflict was a case of a bug fix overlapping
changes in net-next to handle an error pointer differently.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>udptunnels: Call handle_offloads after inserting vlan tag.</title>
<updated>2015-04-09T18:56:32+00:00</updated>
<author>
<name>Jesse Gross</name>
<email>jesse@nicira.com</email>
</author>
<published>2015-04-09T18:19:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b736a623bd099cdf5521ca9bd03559f3bc7fa31c'/>
<id>b736a623bd099cdf5521ca9bd03559f3bc7fa31c</id>
<content type='text'>
handle_offloads() calls skb_reset_inner_headers() to store
the layer pointers to the encapsulated packet. However, we
currently push the vlag tag (if there is one) onto the packet
afterwards. This changes the MAC header for the encapsulated
packet but it is not reflected in skb-&gt;inner_mac_header, which
breaks GSO and drivers which attempt to use this for encapsulation
offloads.

Fixes: 1eaa8178 ("vxlan: Add tx-vlan offload support.")
Signed-off-by: Jesse Gross &lt;jesse@nicira.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>
handle_offloads() calls skb_reset_inner_headers() to store
the layer pointers to the encapsulated packet. However, we
currently push the vlag tag (if there is one) onto the packet
afterwards. This changes the MAC header for the encapsulated
packet but it is not reflected in skb-&gt;inner_mac_header, which
breaks GSO and drivers which attempt to use this for encapsulation
offloads.

Fixes: 1eaa8178 ("vxlan: Add tx-vlan offload support.")
Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vxlan: do not exit on error in vxlan_stop()</title>
<updated>2015-04-09T02:48:08+00:00</updated>
<author>
<name>WANG Cong</name>
<email>xiyou.wangcong@gmail.com</email>
</author>
<published>2015-04-08T21:48:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f13b1689d753f333459878ac27cb12d414502a09'/>
<id>f13b1689d753f333459878ac27cb12d414502a09</id>
<content type='text'>
We need to clean up vxlan despite vxlan_igmp_leave() fails.

This fixes the following kernel warning:

 WARNING: CPU: 0 PID: 6 at lib/debugobjects.c:263 debug_print_object+0x7c/0x8d()
 ODEBUG: free active (active state 0) object type: timer_list hint: vxlan_cleanup+0x0/0xd0
 CPU: 0 PID: 6 Comm: kworker/u8:0 Not tainted 4.0.0-rc7+ #953
 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
 Workqueue: netns cleanup_net
  0000000000000009 ffff88011955f948 ffffffff81a25f5a 00000000253f253e
  ffff88011955f998 ffff88011955f988 ffffffff8107608e 0000000000000000
  ffffffff814deba2 ffff8800d4e94000 ffffffff82254c30 ffffffff81fbe455
 Call Trace:
  [&lt;ffffffff81a25f5a&gt;] dump_stack+0x4c/0x65
  [&lt;ffffffff8107608e&gt;] warn_slowpath_common+0x9c/0xb6
  [&lt;ffffffff814deba2&gt;] ? debug_print_object+0x7c/0x8d
  [&lt;ffffffff81076116&gt;] warn_slowpath_fmt+0x46/0x48
  [&lt;ffffffff814deba2&gt;] debug_print_object+0x7c/0x8d
  [&lt;ffffffff81666bf1&gt;] ? vxlan_fdb_destroy+0x5b/0x5b
  [&lt;ffffffff814dee02&gt;] __debug_check_no_obj_freed+0xc3/0x15f
  [&lt;ffffffff814df728&gt;] debug_check_no_obj_freed+0x12/0x16
  [&lt;ffffffff8117ae4e&gt;] slab_free_hook+0x64/0x6c
  [&lt;ffffffff8114deaa&gt;] ? kvfree+0x31/0x33
  [&lt;ffffffff8117dc66&gt;] kfree+0x101/0x1ac
  [&lt;ffffffff8114deaa&gt;] kvfree+0x31/0x33
  [&lt;ffffffff817d4137&gt;] netdev_freemem+0x18/0x1a
  [&lt;ffffffff817e8b52&gt;] netdev_release+0x2e/0x32
  [&lt;ffffffff815b4163&gt;] device_release+0x5a/0x92
  [&lt;ffffffff814bd4dd&gt;] kobject_cleanup+0x49/0x5e
  [&lt;ffffffff814bd3ff&gt;] kobject_put+0x45/0x49
  [&lt;ffffffff817d3fc1&gt;] netdev_run_todo+0x26f/0x283
  [&lt;ffffffff817d4873&gt;] ? rollback_registered_many+0x20f/0x23b
  [&lt;ffffffff817e0c80&gt;] rtnl_unlock+0xe/0x10
  [&lt;ffffffff817d4af0&gt;] default_device_exit_batch+0x12a/0x139
  [&lt;ffffffff810aadfa&gt;] ? wait_woken+0x8f/0x8f
  [&lt;ffffffff817c8e14&gt;] ops_exit_list+0x2b/0x57
  [&lt;ffffffff817c9b21&gt;] cleanup_net+0x154/0x1e7
  [&lt;ffffffff8108b05d&gt;] process_one_work+0x255/0x4ad
  [&lt;ffffffff8108af69&gt;] ? process_one_work+0x161/0x4ad
  [&lt;ffffffff8108b4b1&gt;] worker_thread+0x1cd/0x2ab
  [&lt;ffffffff8108b2e4&gt;] ? process_scheduled_works+0x2f/0x2f
  [&lt;ffffffff81090686&gt;] kthread+0xd4/0xdc
  [&lt;ffffffff8109eca3&gt;] ? local_clock+0x19/0x22
  [&lt;ffffffff810905b2&gt;] ? __kthread_parkme+0x83/0x83
  [&lt;ffffffff81a31c48&gt;] ret_from_fork+0x58/0x90
  [&lt;ffffffff810905b2&gt;] ? __kthread_parkme+0x83/0x83

For the long-term, we should handle NETDEV_{UP,DOWN} event
from the lower device of a tunnel device.

Fixes: 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope")
Cc: Marcelo Ricardo Leitner &lt;marcelo.leitner@gmail.com&gt;
Signed-off-by: Cong Wang &lt;xiyou.wangcong@gmail.com&gt;
Acked-by: Marcelo Ricardo Leitner &lt;marcelo.leitner@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>
We need to clean up vxlan despite vxlan_igmp_leave() fails.

This fixes the following kernel warning:

 WARNING: CPU: 0 PID: 6 at lib/debugobjects.c:263 debug_print_object+0x7c/0x8d()
 ODEBUG: free active (active state 0) object type: timer_list hint: vxlan_cleanup+0x0/0xd0
 CPU: 0 PID: 6 Comm: kworker/u8:0 Not tainted 4.0.0-rc7+ #953
 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
 Workqueue: netns cleanup_net
  0000000000000009 ffff88011955f948 ffffffff81a25f5a 00000000253f253e
  ffff88011955f998 ffff88011955f988 ffffffff8107608e 0000000000000000
  ffffffff814deba2 ffff8800d4e94000 ffffffff82254c30 ffffffff81fbe455
 Call Trace:
  [&lt;ffffffff81a25f5a&gt;] dump_stack+0x4c/0x65
  [&lt;ffffffff8107608e&gt;] warn_slowpath_common+0x9c/0xb6
  [&lt;ffffffff814deba2&gt;] ? debug_print_object+0x7c/0x8d
  [&lt;ffffffff81076116&gt;] warn_slowpath_fmt+0x46/0x48
  [&lt;ffffffff814deba2&gt;] debug_print_object+0x7c/0x8d
  [&lt;ffffffff81666bf1&gt;] ? vxlan_fdb_destroy+0x5b/0x5b
  [&lt;ffffffff814dee02&gt;] __debug_check_no_obj_freed+0xc3/0x15f
  [&lt;ffffffff814df728&gt;] debug_check_no_obj_freed+0x12/0x16
  [&lt;ffffffff8117ae4e&gt;] slab_free_hook+0x64/0x6c
  [&lt;ffffffff8114deaa&gt;] ? kvfree+0x31/0x33
  [&lt;ffffffff8117dc66&gt;] kfree+0x101/0x1ac
  [&lt;ffffffff8114deaa&gt;] kvfree+0x31/0x33
  [&lt;ffffffff817d4137&gt;] netdev_freemem+0x18/0x1a
  [&lt;ffffffff817e8b52&gt;] netdev_release+0x2e/0x32
  [&lt;ffffffff815b4163&gt;] device_release+0x5a/0x92
  [&lt;ffffffff814bd4dd&gt;] kobject_cleanup+0x49/0x5e
  [&lt;ffffffff814bd3ff&gt;] kobject_put+0x45/0x49
  [&lt;ffffffff817d3fc1&gt;] netdev_run_todo+0x26f/0x283
  [&lt;ffffffff817d4873&gt;] ? rollback_registered_many+0x20f/0x23b
  [&lt;ffffffff817e0c80&gt;] rtnl_unlock+0xe/0x10
  [&lt;ffffffff817d4af0&gt;] default_device_exit_batch+0x12a/0x139
  [&lt;ffffffff810aadfa&gt;] ? wait_woken+0x8f/0x8f
  [&lt;ffffffff817c8e14&gt;] ops_exit_list+0x2b/0x57
  [&lt;ffffffff817c9b21&gt;] cleanup_net+0x154/0x1e7
  [&lt;ffffffff8108b05d&gt;] process_one_work+0x255/0x4ad
  [&lt;ffffffff8108af69&gt;] ? process_one_work+0x161/0x4ad
  [&lt;ffffffff8108b4b1&gt;] worker_thread+0x1cd/0x2ab
  [&lt;ffffffff8108b2e4&gt;] ? process_scheduled_works+0x2f/0x2f
  [&lt;ffffffff81090686&gt;] kthread+0xd4/0xdc
  [&lt;ffffffff8109eca3&gt;] ? local_clock+0x19/0x22
  [&lt;ffffffff810905b2&gt;] ? __kthread_parkme+0x83/0x83
  [&lt;ffffffff81a31c48&gt;] ret_from_fork+0x58/0x90
  [&lt;ffffffff810905b2&gt;] ? __kthread_parkme+0x83/0x83

For the long-term, we should handle NETDEV_{UP,DOWN} event
from the lower device of a tunnel device.

Fixes: 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope")
Cc: Marcelo Ricardo Leitner &lt;marcelo.leitner@gmail.com&gt;
Signed-off-by: Cong Wang &lt;xiyou.wangcong@gmail.com&gt;
Acked-by: Marcelo Ricardo Leitner &lt;marcelo.leitner@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
