[ovs-git] Open vSwitch: datapath: Hash and compare only the part of sw_flow_key actually used. (master)

dev at openvswitch.org dev at openvswitch.org
Wed May 18 18:31:37 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  76abe283baa043bae84163873b0c7c498bfb260a (commit)
      from  f9c71a155bb27a981865407d5a3d78ecd9ca24af (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 76abe283baa043bae84163873b0c7c498bfb260a
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=76abe283baa043bae84163873b0c7c498bfb260a
Author: Andrew Evans <aevans at nicira.com>
		
datapath: Hash and compare only the part of sw_flow_key actually used.
		
Currently the whole flow key struct is hashed on every packet received from the
network or userspace. The whole struct is also compared byte-for-byte when
doing flow table lookups. This consumes a fair percentage of CPU time, and most
of the time part of the structure is unused (e.g. the IPv6 fields when handling
IPv4 traffic; the IPv4 fields when handling Ethernet frames).

This commit reorders the fields in the flow key struct to put the least
commonly used elements at the end and changes the hash and comparison functions
to look only at the part that contains data.

Signed-off-by: Andrew Evans <aevans at nicira.com>
Acked-by: Jesse Gross <jesse at nicira.com>


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

Summary of changes:
 datapath/actions.c  |    6 +-
 datapath/datapath.c |   31 ++--
 datapath/flow.c     |  505 +++++++++++++++++++++++++++++----------------------
 datapath/flow.h     |   70 +++++---
 datapath/table.c    |   14 +-
 datapath/table.h    |    4 +-
 datapath/tunnel.c   |   21 ++-
 7 files changed, 385 insertions(+), 266 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list