On Tue, 22 Nov 2016 20:09:34 -0800, Jarno Rajahalme wrote: > Do not set skb->protocol to be the ethertype of the L3 header, unless > the packet only has the L3 header. For a non-hardware offloaded VLAN > frame skb->protocol needs to be one of the VLAN ethertypes. > > Any VLAN offloading is undone on the OVS netlink interface. Due to > this all VLAN packets sent to openvswitch module from userspace are > non-offloaded.
This is exactly why I wanted to always accelerate the vlan tag, the same way it is done in other parts of the networking stack: to prevent all those weird corner cases. Looks to me this is the only real way forward. This patch is wrong, it would leave skb->protocol as ETH_P_TEB for L2 frames received via ARPHRD_NONE interface. Jiri