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

From: Kris Murphy <[email-masked]>
Date: Thu, 16 Mar 2017 10:26:02 -0500

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