[ovs-git] Open vSwitch: datapath: Add module parameter to allow TSO with vlans. (master)

dev at openvswitch.org dev at openvswitch.org
Mon Feb 7 21:51:53 UTC 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Open vSwitch".

The branch, master has been updated
       via  3f6256afdcf7021b0ce85dfe0c4afb62b967bef4 (commit)
       via  1c5b70c68a642b1fc56e9801ca438df59ead22e1 (commit)
       via  6ce39213456b27257acbaf146398dce26d1466b9 (commit)
       via  6e0ce48e27d5a845bdc8b57fb41bcec8a54f336a (commit)
      from  a992ec0b06bfddc4e8c2a50d79362b3dfb286dd5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 3f6256afdcf7021b0ce85dfe0c4afb62b967bef4
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=3f6256afdcf7021b0ce85dfe0c4afb62b967bef4
Author: Jesse Gross <jesse at nicira.com>
		
datapath: Add module parameter to allow TSO with vlans.
		
We currently perform GSO on packets before adding a vlan tag,
which is reliable but hurts performance.  Even NICs that support
TSO on vlan tagged packets typically expect vlan acceleration to
be used.  Before 2.6.37 we can't use vlan acceleration and must
place the tag in the packet itself, which is risky when used with
TSO.  However, if the driver is known to work with internally
tagged packets and TSO this exposes a module parameter to enable it.

Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


commit 1c5b70c68a642b1fc56e9801ca438df59ead22e1
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=1c5b70c68a642b1fc56e9801ca438df59ead22e1
Author: Jesse Gross <jesse at nicira.com>
		
datapath: Add definition for FCoE offload.
		
FCoE offload was introduced in 2.6.30, so this introduces a null
definition for it on earlier kernels.

Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


commit 6ce39213456b27257acbaf146398dce26d1466b9
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=6ce39213456b27257acbaf146398dce26d1466b9
Author: Jesse Gross <jesse at nicira.com>
		
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 at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


commit 6e0ce48e27d5a845bdc8b57fb41bcec8a54f336a
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=6e0ce48e27d5a845bdc8b57fb41bcec8a54f336a
Author: Jesse Gross <jesse at nicira.com>
		
datapath: Add vlan acceleration field for older kernels.
		
Kernels prior to 2.6.27 did not have a vlan_tci field in struct
sk_buff for vlan acceleration.  It's very convenient to use this
field for manipulating vlan tags, so we would like to use it as
the primary mechanism.  To enable this, this commit adds similar
infrastructure to the OVS_CB on the kernels that need it and a
set of functions to use the correct location.

Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


-----------------------------------------------------------------------

Summary of changes:
 INSTALL.Linux                                      |   11 ++
 datapath/Modules.mk                                |    2 +
 datapath/actions.c                                 |  152 ++++----------------
 datapath/datapath.c                                |    8 +
 datapath/datapath.h                                |    6 +
 datapath/flow.c                                    |    8 +-
 .../linux-2.6/compat-2.6/include/linux/netdevice.h |    4 +
 datapath/tunnel.c                                  |   92 ++++++------
 datapath/vlan.c                                    |   48 ++++++
 datapath/vlan.h                                    |   60 ++++++++
 datapath/vport-internal_dev.c                      |   10 ++-
 datapath/vport-netdev.c                            |   77 ++++++++++-
 12 files changed, 305 insertions(+), 173 deletions(-)
 create mode 100644 datapath/vlan.c
 create mode 100644 datapath/vlan.h


hooks/post-receive
-- 
Open vSwitch




More information about the git mailing list