[ovs-git] Open vSwitch: ofproto-dpif: Always un-wildcard fields that are being set. (branch-1.11)

dev at openvswitch.org dev at openvswitch.org
Sat Aug 3 07:09:16 UTC 2013


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, branch-1.11 has been updated
       via  983162be835d9e24b6c41e28dc2b310b139e9b54 (commit)
      from  5b12e2ae1d2519c52c08d9b303f9e2decdecb700 (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 983162be835d9e24b6c41e28dc2b310b139e9b54
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=983162be835d9e24b6c41e28dc2b310b139e9b54
Author: Justin Pettit <jpettit at nicira.com>
		
ofproto-dpif: Always un-wildcard fields that are being set.
		
The ODP library has an optimization to not set a header if the field was
not changed, regardless of whether an action to set the field was
present.  That library is also responsible for un-wildcarding fields
that are bieng modified.  This leads to a problem where a packet matches
a flow that updates a field, but that particular packet's field already
has that value.  As such, an overly loose megaflow will be generated
that doesn't match on that field and the actions won't update it.  A
second packet that should have the field set will match that flow and
will not be modified.

This commit changes the behavior to always un-wildcard fields that are
being modified.  Since the ODP library updates the entire header if a
field in it is modified, and all those fields will be un-wildcarded, the
generated flows may be different.  However, they should be correct.

Bug #18946.

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


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

Summary of changes:
 lib/multipath.c        |    2 +-
 lib/nx-match.c         |   14 ++++++++++++--
 lib/nx-match.h         |    5 +++--
 ofproto/ofproto-dpif.c |   35 ++++++++++++++++++++++-------------
 tests/ofproto-dpif.at  |   31 +++++++++++++++++++++++++++++++
 5 files changed, 69 insertions(+), 18 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list