datapath: Use vlan acceleration for vlan operations.
authorJesse Gross <jesse@nicira.com>
Thu, 30 Dec 2010 06:13:15 +0000 (22:13 -0800)
committerJesse Gross <jesse@nicira.com>
Mon, 7 Feb 2011 21:49:01 +0000 (13:49 -0800)
commit6ce39213456b27257acbaf146398dce26d1466b9
tree3841453cfdde9261c94b343f341c6bc15e257ed3
parent6e0ce48e27d5a845bdc8b57fb41bcec8a54f336a
datapath: Use vlan acceleration for vlan operations.

Using the kernel vlan acceleration has a number of benefits:
it enables hardware tagging, allows usage of TSO and checksum
offloading, and is generally easier to manipulate.  This switches
the vlan actions to use skb->vlan_tci field for any necessary
changes.  In places that do not support vlan acceleration in a way
that we can use (in particular kernels before 2.6.37) we perform
any necessary conversions, such as tagging and GSO before the
packet leaves Open vSwitch.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
datapath/actions.c
datapath/datapath.c
datapath/flow.c
datapath/tunnel.c
datapath/vlan.h
datapath/vport-internal_dev.c
datapath/vport-netdev.c