<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/openvswitch, branch v3.12.20</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net/openvswitch?h=v3.12.20</id>
<link rel='self' href='https://git.amat.us/linux/atom/net/openvswitch?h=v3.12.20'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-04-25T16:06:20Z</updated>
<entry>
<title>openvswitch: fix vport-netdev unregister</title>
<updated>2014-04-25T16:06:20Z</updated>
<author>
<name>Alexei Starovoitov</name>
<email>ast@plumgrid.com</email>
</author>
<published>2013-10-15T21:54:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7d4f4737432af6216e86975e587331b9d8b08063'/>
<id>urn:sha1:7d4f4737432af6216e86975e587331b9d8b08063</id>
<content type='text'>
commit b07c26511e94ab856f3700c56d582c0da36d5b4d upstream.

The combination of two commits:
commit 8e4e1713e4
("openvswitch: Simplify datapath locking.")
commit 2537b4dd0a
("openvswitch:: link upper device for port devices")

introduced a bug where upper_dev wasn't unlinked upon
netdev_unregister notification

The following steps:

  modprobe openvswitch
  ovs-dpctl add-dp test
  ip tuntap add dev tap1 mode tap
  ovs-dpctl add-if test tap1
  ip tuntap del dev tap1 mode tap

are causing multiple warnings:

[   62.747557] gre: GRE over IPv4 demultiplexor driver
[   62.749579] openvswitch: Open vSwitch switching datapath
[   62.755087] device test entered promiscuous mode
[   62.765911] device tap1 entered promiscuous mode
[   62.766033] IPv6: ADDRCONF(NETDEV_UP): tap1: link is not ready
[   62.769017] ------------[ cut here ]------------
[   62.769022] WARNING: CPU: 1 PID: 3267 at net/core/dev.c:5501 rollback_registered_many+0x20f/0x240()
[   62.769023] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769051] CPU: 1 PID: 3267 Comm: ip Not tainted 3.12.0-rc3+ #60
[   62.769052] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769053]  0000000000000009 ffff8807f25cbd28 ffffffff8175e575 0000000000000006
[   62.769055]  0000000000000000 ffff8807f25cbd68 ffffffff8105314c ffff8807f25cbd58
[   62.769057]  ffff8807f2634000 ffff8807f25cbdc8 ffff8807f25cbd88 ffff8807f25cbdc8
[   62.769059] Call Trace:
[   62.769062]  [&lt;ffffffff8175e575&gt;] dump_stack+0x55/0x76
[   62.769065]  [&lt;ffffffff8105314c&gt;] warn_slowpath_common+0x8c/0xc0
[   62.769067]  [&lt;ffffffff8105319a&gt;] warn_slowpath_null+0x1a/0x20
[   62.769069]  [&lt;ffffffff8162a04f&gt;] rollback_registered_many+0x20f/0x240
[   62.769071]  [&lt;ffffffff8162a101&gt;] rollback_registered+0x31/0x40
[   62.769073]  [&lt;ffffffff8162a488&gt;] unregister_netdevice_queue+0x58/0x90
[   62.769075]  [&lt;ffffffff8154f900&gt;] __tun_detach+0x140/0x340
[   62.769077]  [&lt;ffffffff8154fb36&gt;] tun_chr_close+0x36/0x60
[   62.769080]  [&lt;ffffffff811bddaf&gt;] __fput+0xff/0x260
[   62.769082]  [&lt;ffffffff811bdf5e&gt;] ____fput+0xe/0x10
[   62.769084]  [&lt;ffffffff8107b515&gt;] task_work_run+0xb5/0xe0
[   62.769087]  [&lt;ffffffff810029b9&gt;] do_notify_resume+0x59/0x80
[   62.769089]  [&lt;ffffffff813a41fe&gt;] ? trace_hardirqs_on_thunk+0x3a/0x3f
[   62.769091]  [&lt;ffffffff81770f5a&gt;] int_signal+0x12/0x17
[   62.769093] ---[ end trace 838756c62e156ffb ]---
[   62.769481] ------------[ cut here ]------------
[   62.769485] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0()
[   62.769486] sysfs: can not remove 'master', no directory
[   62.769486] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769514] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G        W    3.12.0-rc3+ #60
[   62.769515] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769518] Workqueue: events ovs_dp_notify_wq [openvswitch]
[   62.769519]  0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006
[   62.769521]  ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b28
[   62.769523]  0000000000000000 ffffffff81a87a1f ffff8807f2634000 ffff880037038500
[   62.769525] Call Trace:
[   62.769528]  [&lt;ffffffff8175e575&gt;] dump_stack+0x55/0x76
[   62.769529]  [&lt;ffffffff8105314c&gt;] warn_slowpath_common+0x8c/0xc0
[   62.769531]  [&lt;ffffffff81053236&gt;] warn_slowpath_fmt+0x46/0x50
[   62.769533]  [&lt;ffffffff8123e7e9&gt;] sysfs_hash_and_remove+0xa9/0xb0
[   62.769535]  [&lt;ffffffff81240e96&gt;] sysfs_remove_link+0x26/0x30
[   62.769538]  [&lt;ffffffff81631ef7&gt;] __netdev_adjacent_dev_remove+0xf7/0x150
[   62.769540]  [&lt;ffffffff81632037&gt;] __netdev_adjacent_dev_unlink_lists+0x27/0x50
[   62.769542]  [&lt;ffffffff8163213a&gt;] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50
[   62.769544]  [&lt;ffffffff8163218d&gt;] netdev_upper_dev_unlink+0x3d/0x140
[   62.769548]  [&lt;ffffffffa033c2db&gt;] netdev_destroy+0x4b/0x80 [openvswitch]
[   62.769550]  [&lt;ffffffffa033b696&gt;] ovs_vport_del+0x46/0x60 [openvswitch]
[   62.769552]  [&lt;ffffffffa0335314&gt;] ovs_dp_detach_port+0x44/0x60 [openvswitch]
[   62.769555]  [&lt;ffffffffa0336574&gt;] ovs_dp_notify_wq+0xb4/0x150 [openvswitch]
[   62.769557]  [&lt;ffffffff81075c28&gt;] process_one_work+0x1d8/0x6a0
[   62.769559]  [&lt;ffffffff81075bc8&gt;] ? process_one_work+0x178/0x6a0
[   62.769562]  [&lt;ffffffff8107659b&gt;] worker_thread+0x11b/0x370
[   62.769564]  [&lt;ffffffff81076480&gt;] ? rescuer_thread+0x350/0x350
[   62.769566]  [&lt;ffffffff8107f44a&gt;] kthread+0xea/0xf0
[   62.769568]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769570]  [&lt;ffffffff81770bac&gt;] ret_from_fork+0x7c/0xb0
[   62.769572]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769573] ---[ end trace 838756c62e156ffc ]---
[   62.769574] ------------[ cut here ]------------
[   62.769576] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0()
[   62.769577] sysfs: can not remove 'upper_test', no directory
[   62.769577] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769603] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G        W    3.12.0-rc3+ #60
[   62.769604] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769606] Workqueue: events ovs_dp_notify_wq [openvswitch]
[   62.769607]  0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006
[   62.769609]  ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b58
[   62.769611]  0000000000000000 ffff880807ad3bd9 ffff8807f2634000 ffff880037038500
[   62.769613] Call Trace:
[   62.769615]  [&lt;ffffffff8175e575&gt;] dump_stack+0x55/0x76
[   62.769617]  [&lt;ffffffff8105314c&gt;] warn_slowpath_common+0x8c/0xc0
[   62.769619]  [&lt;ffffffff81053236&gt;] warn_slowpath_fmt+0x46/0x50
[   62.769621]  [&lt;ffffffff8123e7e9&gt;] sysfs_hash_and_remove+0xa9/0xb0
[   62.769622]  [&lt;ffffffff81240e96&gt;] sysfs_remove_link+0x26/0x30
[   62.769624]  [&lt;ffffffff81631f22&gt;] __netdev_adjacent_dev_remove+0x122/0x150
[   62.769627]  [&lt;ffffffff81632037&gt;] __netdev_adjacent_dev_unlink_lists+0x27/0x50
[   62.769629]  [&lt;ffffffff8163213a&gt;] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50
[   62.769631]  [&lt;ffffffff8163218d&gt;] netdev_upper_dev_unlink+0x3d/0x140
[   62.769633]  [&lt;ffffffffa033c2db&gt;] netdev_destroy+0x4b/0x80 [openvswitch]
[   62.769636]  [&lt;ffffffffa033b696&gt;] ovs_vport_del+0x46/0x60 [openvswitch]
[   62.769638]  [&lt;ffffffffa0335314&gt;] ovs_dp_detach_port+0x44/0x60 [openvswitch]
[   62.769640]  [&lt;ffffffffa0336574&gt;] ovs_dp_notify_wq+0xb4/0x150 [openvswitch]
[   62.769642]  [&lt;ffffffff81075c28&gt;] process_one_work+0x1d8/0x6a0
[   62.769644]  [&lt;ffffffff81075bc8&gt;] ? process_one_work+0x178/0x6a0
[   62.769646]  [&lt;ffffffff8107659b&gt;] worker_thread+0x11b/0x370
[   62.769648]  [&lt;ffffffff81076480&gt;] ? rescuer_thread+0x350/0x350
[   62.769650]  [&lt;ffffffff8107f44a&gt;] kthread+0xea/0xf0
[   62.769652]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769654]  [&lt;ffffffff81770bac&gt;] ret_from_fork+0x7c/0xb0
[   62.769656]  [&lt;ffffffff8107f360&gt;] ? flush_kthread_worker+0x150/0x150
[   62.769657] ---[ end trace 838756c62e156ffd ]---
[   62.769724] device tap1 left promiscuous mode

This patch also affects moving devices between net namespaces.

OVS used to ignore netns move notifications which caused problems.
Like:
  ovs-dpctl add-if test tap1
  ip link set tap1 netns 3512
and then removing tap1 inside the namespace will cause hang on missing dev_put.

With this patch OVS will detach dev upon receiving netns move event.

Signed-off-by: Alexei Starovoitov &lt;ast@plumgrid.com&gt;
Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>net: ovs: flow: fix potential illegal memory access in __parse_flow_nlattrs</title>
<updated>2013-09-11T20:09:58Z</updated>
<author>
<name>Daniel Borkmann</name>
<email>dborkman@redhat.com</email>
</author>
<published>2013-09-07T07:41:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3bf4b5b11d381fed6a94a7e487e01c8b3bc436b9'/>
<id>urn:sha1:3bf4b5b11d381fed6a94a7e487e01c8b3bc436b9</id>
<content type='text'>
In function __parse_flow_nlattrs(), we check for condition
(type &gt; OVS_KEY_ATTR_MAX) and if true, print an error, but we do
not return from this function as in other checks. It seems this
has been forgotten, as otherwise, we could access beyond the
memory of ovs_key_lens, which is of ovs_key_lens[OVS_KEY_ATTR_MAX + 1].
Hence, a maliciously prepared nla_type from user space could access
beyond this upper limit.

Introduced by 03f0d916a ("openvswitch: Mega flow implementation").

Signed-off-by: Daniel Borkmann &lt;dborkman@redhat.com&gt;
Cc: Andy Zhou &lt;azhou@nicira.com&gt;
Acked-by: Jesse Gross &lt;jesse@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>openvswitch: Fix alignment of struct sw_flow_key.</title>
<updated>2013-09-05T19:54:37Z</updated>
<author>
<name>Jesse Gross</name>
<email>jesse@nicira.com</email>
</author>
<published>2013-09-05T19:17:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0d40f75bdab241868c0eb6f97aef9f8b3a66f7b3'/>
<id>urn:sha1:0d40f75bdab241868c0eb6f97aef9f8b3a66f7b3</id>
<content type='text'>
sw_flow_key alignment was declared as " __aligned(__alignof__(long))".
However, this breaks on the m68k architecture where long is 32 bit in
size but 16 bit aligned by default. This aligns to the size of a long to
ensure that we can always do comparsions in full long-sized chunks. It
also adds an additional build check to catch any reduction in alignment.

CC: Andy Zhou &lt;azhou@nicira.com&gt;
Reported-by: Fengguang Wu &lt;fengguang.wu@intel.com&gt;
Reported-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tunnels: harmonize cleanup done on skb on xmit path</title>
<updated>2013-09-04T04:27:25Z</updated>
<author>
<name>Nicolas Dichtel</name>
<email>nicolas.dichtel@6wind.com</email>
</author>
<published>2013-09-02T13:34:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=963a88b31ddbbe99f38502239b1a46601773d217'/>
<id>urn:sha1:963a88b31ddbbe99f38502239b1a46601773d217</id>
<content type='text'>
The goal of this patch is to harmonize cleanup done on a skbuff on xmit path.
Before this patch, behaviors were different depending of the tunnel type.

Signed-off-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>vxlan: remove net arg from vxlan[6]_xmit_skb()</title>
<updated>2013-09-04T04:27:25Z</updated>
<author>
<name>Nicolas Dichtel</name>
<email>nicolas.dichtel@6wind.com</email>
</author>
<published>2013-09-02T13:34:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=117961878cc1386923cfddcdd9016b777827c8dd'/>
<id>urn:sha1:117961878cc1386923cfddcdd9016b777827c8dd</id>
<content type='text'>
This argument is not used, let's remove it.

Signed-off-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>iptunnels: remove net arg from iptunnel_xmit()</title>
<updated>2013-09-04T04:27:25Z</updated>
<author>
<name>Nicolas Dichtel</name>
<email>nicolas.dichtel@6wind.com</email>
</author>
<published>2013-09-02T13:34:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8b7ed2d91d6afb0b55ba75f94b66e51f70783a46'/>
<id>urn:sha1:8b7ed2d91d6afb0b55ba75f94b66e51f70783a46</id>
<content type='text'>
This argument is not used, let's remove it.

Signed-off-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>vxlan: add ipv6 support</title>
<updated>2013-09-01T02:30:00Z</updated>
<author>
<name>Cong Wang</name>
<email>amwang@redhat.com</email>
</author>
<published>2013-08-31T05:44:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e4c7ed415387cf718ffbec305396c30cee092987'/>
<id>urn:sha1:e4c7ed415387cf718ffbec305396c30cee092987</id>
<content type='text'>
This patch adds IPv6 support to vxlan device, as the new version
RFC already mentions it:

   http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-03

Cc: David Stevens &lt;dlstevens@us.ibm.com&gt;
Cc: Stephen Hemminger &lt;stephen@networkplumber.org&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>openvswitch: optimize flow compare and mask functions</title>
<updated>2013-08-27T20:13:09Z</updated>
<author>
<name>Andy Zhou</name>
<email>azhou@nicira.com</email>
</author>
<published>2013-08-27T20:02:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5828cd9a68873df1340b420371c02c47647878fb'/>
<id>urn:sha1:5828cd9a68873df1340b420371c02c47647878fb</id>
<content type='text'>
Make sure the sw_flow_key structure and valid mask boundaries are always
machine word aligned. Optimize the flow compare and mask operations
using machine word size operations. This patch improves throughput on
average by 15% when CPU is the bottleneck of forwarding packets.

This patch is inspired by ideas and code from a patch submitted by Peter
Klausler titled "replace memcmp() with specialized comparator".
However, The original patch only optimizes for architectures
support unaligned machine word access. This patch optimizes for all
architectures.

Signed-off-by: Andy Zhou &lt;azhou@nicira.com&gt;
Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
</content>
</entry>
<entry>
<title>openvswitch: Rename key_len to key_end</title>
<updated>2013-08-26T21:03:14Z</updated>
<author>
<name>Andy Zhou</name>
<email>azhou@nicira.com</email>
</author>
<published>2013-08-22T19:12:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=02237373b1c61a09a4db329545e39cffc48910d5'/>
<id>urn:sha1:02237373b1c61a09a4db329545e39cffc48910d5</id>
<content type='text'>
Key_end is a better name describing the ending boundary than key_len.
Rename those variables to make it less confusing.

Signed-off-by: Andy Zhou &lt;azhou@nicira.com&gt;
Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
</content>
</entry>
<entry>
<title>openvswitch: Add SCTP support</title>
<updated>2013-08-26T21:03:13Z</updated>
<author>
<name>Joe Stringer</name>
<email>joe@wand.net.nz</email>
</author>
<published>2013-08-22T19:30:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a175a723301a8a4a9fedf9ce5b8ca586e7a97b40'/>
<id>urn:sha1:a175a723301a8a4a9fedf9ce5b8ca586e7a97b40</id>
<content type='text'>
This patch adds support for rewriting SCTP src,dst ports similar to the
functionality already available for TCP/UDP.

Rewriting SCTP ports is expensive due to double-recalculation of the
SCTP checksums; this is performed to ensure that packets traversing OVS
with invalid checksums will continue to the destination with any
checksum corruption intact.

Reviewed-by: Simon Horman &lt;horms@verge.net.au&gt;
Signed-off-by: Joe Stringer &lt;joe@wand.net.nz&gt;
Signed-off-by: Ben Pfaff &lt;blp@nicira.com&gt;
Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
</content>
</entry>
</feed>
