]> git.baikalelectronics.ru Git - kernel.git/commit
openvswitch: upcall: Fix vlan handling.
authorpravin shelar <pshelar@ovn.org>
Mon, 26 Dec 2016 16:31:27 +0000 (08:31 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 27 Dec 2016 17:28:07 +0000 (12:28 -0500)
commit2ba87c54b6211b9b8ffe8047b48bde876a83b9df
tree568e6d73d59770d9afbb69fb0ce5844aae65d993
parentdb76acb207e9b47896f1031ac554b3703c970ee5
openvswitch: upcall: Fix vlan handling.

Networking stack accelerate vlan tag handling by
keeping topmost vlan header in skb. This works as
long as packet remains in OVS datapath. But during
OVS upcall vlan header is pushed on to the packet.
When such packet is sent back to OVS datapath, core
networking stack might not handle it correctly. Following
patch avoids this issue by accelerating the vlan tag
during flow key extract. This simplifies datapath by
bringing uniform packet processing for packets from
all code paths.

Fixes: 25aee51164 ("openvswitch: add processing of L3 packets").
CC: Jarno Rajahalme <jarno@ovn.org>
CC: Jiri Benc <jbenc@redhat.com>
Signed-off-by: Pravin B Shelar <pshelar@ovn.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/openvswitch/datapath.c
net/openvswitch/flow.c