[PATCH 0/1] openvswitch: Add missing case OVS_TUNNEL_KEY_ATTR_PAD

STALE3413d

7 messages, 3 authors, 2017-03-28 · open the first message on its own page

[PATCH 0/1] openvswitch: Add missing case OVS_TUNNEL_KEY_ATTR_PAD

From: Kris Murphy <hidden>
Date: 2017-03-16 15:26:23

Recreate and error info:

Hit a new issue with OVS after updating to the Ubuntu 4.8 kernel from the
Ubuntu 4.4 kernel.

Iperf was used to send traffic between client VMs over VXLAN. The traffic did 
still flow, but every packet had to go to user space due to the flow creation 
failures, which drastically impacted performance and cpu utilization.

When using VXLAN, the following error is showing up in dmesg

openvswitch: netlink: Unknown IP tunnel attribute 14

Also there are tons of these errors in the openvswitch log

2017-03-01T15:50:47.860Z|00018|dpif(handler164)|WARN|system@ovs-system: failed 
to put[create] (Invalid argument) ufid:2d1a9aeb-7b24-4235-a208-a01f98237e60 
recirc_id(0),dp_hash(0/0),skb_pri

Debug showed that this attribute, OVS_TUNNEL_KEY_ATTR_PAD, was being seen in the 
switch statement in method, static int ip_tun_from_nlattr, in flow_netlink.c .  
Because there is no case for this attribute, the default is hit and returns an 
error.

The issue was first seen using the packages in the Ubuntu 4.8 kernel, which is 
OVS 2.5.  OVS 2.6 and 2.6.1 were also tried with the kernel packages and the 
same issue was seen.  Tried building OVS 2.7 and loading the 
openvswitch-datapath-dkms_2.7.0-1_all.deb that got built but the issue persisted.  
The proposed patch seems to eliminate the error messages and also fixed the 
segmentation and performance issues that were seen. 

Kris Murphy (1):
  openvswitch: Add missing case OVS_TUNNEL_KEY_ATTR_PAD

 net/openvswitch/flow_netlink.c | 2 ++
 1 file changed, 2 insertions(+)

-- 
2.7.4

[PATCH 1/1] openvswitch: Add missing case OVS_TUNNEL_KEY_ATTR_PAD

From: Kris Murphy <hidden>
Date: 2017-03-16 15:26:23

Added a case for OVS_TUNNEL_KEY_ATTR_PAD to the switch statement
in ip_tun_from_nlattr in order to prevent the default case
returning an error.

Fixes: b46f6ded906e ("libnl: nla_put_be64(): align on a 64-bit area")
Signed-off-by: Kris Murphy <redacted>
---
 net/openvswitch/flow_netlink.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/net/openvswitch/flow_netlink.c b/net/openvswitch/flow_netlink.c
index 6f5fa50..1e75fec 100644
--- a/net/openvswitch/flow_netlink.c
+++ b/net/openvswitch/flow_netlink.c
@@ -665,6 +665,8 @@ static int ip_tun_from_nlattr(const struct nlattr *attr,
 			tun_flags |= TUNNEL_VXLAN_OPT;
 			opts_type = type;
 			break;
+                case OVS_TUNNEL_KEY_ATTR_PAD:
+                        break;
 		default:
 			OVS_NLERR(log, "Unknown IP tunnel attribute %d",
 				  type);
-- 
2.7.4

[PATCH v2] openvswitch: Add missing case OVS_TUNNEL_KEY_ATTR_PAD

From: Kris Murphy <hidden>
Date: 2017-03-16 15:51:54

Added a case for OVS_TUNNEL_KEY_ATTR_PAD to the switch statement
in ip_tun_from_nlattr in order to prevent the default case
returning an error.

Fixes: b46f6ded906e ("libnl: nla_put_be64(): align on a 64-bit area")
Signed-off-by: Kris Murphy <redacted>
---
 net/openvswitch/flow_netlink.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/net/openvswitch/flow_netlink.c b/net/openvswitch/flow_netlink.c
index 6f5fa50..ceb3f3c 100644
--- a/net/openvswitch/flow_netlink.c
+++ b/net/openvswitch/flow_netlink.c
@@ -665,6 +665,8 @@ static int ip_tun_from_nlattr(const struct nlattr *attr,
 			tun_flags |= TUNNEL_VXLAN_OPT;
 			opts_type = type;
 			break;
+		case OVS_TUNNEL_KEY_ATTR_PAD:
+			break;
 		default:
 			OVS_NLERR(log, "Unknown IP tunnel attribute %d",
 				  type);
-- 
2.7.4

Re: [PATCH v2] openvswitch: Add missing case OVS_TUNNEL_KEY_ATTR_PAD

From: Joe Stringer <hidden>
Date: 2017-03-16 18:46:31

On 16 March 2017 at 08:51, Kris Murphy [off-list ref] wrote:
Added a case for OVS_TUNNEL_KEY_ATTR_PAD to the switch statement
in ip_tun_from_nlattr in order to prevent the default case
returning an error.

Fixes: b46f6ded906e ("libnl: nla_put_be64(): align on a 64-bit area")
Signed-off-by: Kris Murphy <redacted>
Thanks for the fix. In future please also place the target tree (in
this case 'net') in the subject line.

Acked-by: Joe Stringer <redacted>

Re: [PATCH v2] openvswitch: Add missing case OVS_TUNNEL_KEY_ATTR_PAD

From: David Miller <davem@davemloft.net>
Date: 2017-03-16 19:09:48

From: Kris Murphy <redacted>
Date: Thu, 16 Mar 2017 10:51:28 -0500
Added a case for OVS_TUNNEL_KEY_ATTR_PAD to the switch statement
in ip_tun_from_nlattr in order to prevent the default case
returning an error.

Fixes: b46f6ded906e ("libnl: nla_put_be64(): align on a 64-bit area")
Signed-off-by: Kris Murphy <redacted>
Applied and queued up for -stable, thanks.

Re: [PATCH v2] openvswitch: Add missing case OVS_TUNNEL_KEY_ATTR_PAD

From: Kris Murphy <hidden>
Date: 2017-03-28 15:22:46

The issue exists starting with 4.6 so can you add cc: 
Stable@vger.kernel.org #4.6+


On 3/16/2017 2:00 PM, David Miller wrote:
From: Kris Murphy <redacted>
Date: Thu, 16 Mar 2017 10:51:28 -0500
quoted
Added a case for OVS_TUNNEL_KEY_ATTR_PAD to the switch statement
in ip_tun_from_nlattr in order to prevent the default case
returning an error.

Fixes: b46f6ded906e ("libnl: nla_put_be64(): align on a 64-bit area")
Signed-off-by: Kris Murphy <redacted>
Applied and queued up for -stable, thanks.

Re: [PATCH v2] openvswitch: Add missing case OVS_TUNNEL_KEY_ATTR_PAD

From: Kris Murphy <hidden>
Date: 2017-03-28 15:32:58

Sorry that was incorrect, the commit that added the attribute was in 4.7 
so please add cc: Stable@vger.kernel.org #4.7+


On 3/28/2017 10:22 AM, Kris Murphy wrote:
The issue exists starting with 4.6 so can you add cc: 
Stable@vger.kernel.org #4.6+


On 3/16/2017 2:00 PM, David Miller wrote:
quoted
From: Kris Murphy <redacted>
Date: Thu, 16 Mar 2017 10:51:28 -0500
quoted
Added a case for OVS_TUNNEL_KEY_ATTR_PAD to the switch statement
in ip_tun_from_nlattr in order to prevent the default case
returning an error.

Fixes: b46f6ded906e ("libnl: nla_put_be64(): align on a 64-bit area")
Signed-off-by: Kris Murphy <redacted>
Applied and queued up for -stable, thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help