[ovs-git] Open vSwitch: ofproto-dpif: Initialize tunnel metadata in both 'flow' and 'base_flow'. (master)

dev at openvswitch.org dev at openvswitch.org
Mon Dec 31 21:00:25 UTC 2012


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  47d4a9db26329f9d93eb945c1fcc0e248cf2656a (commit)
       via  194254d7f3a902a7554e617b8ab6869de388e80b (commit)
      from  39bbf1bd166ab5dc9a98066ee6a4e2effabca922 (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 47d4a9db26329f9d93eb945c1fcc0e248cf2656a
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=47d4a9db26329f9d93eb945c1fcc0e248cf2656a
Author: Jesse Gross <jesse at nicira.com>
		
ofproto-dpif: Initialize tunnel metadata in both 'flow' and 'base_flow'.
		
The datapath doesn't carry over tunnel metadata between input and
output because such an operation doesn't generally make sense.  In
order to keep the flow information in sync, userspace needs to do
this as well.  However, userspace was clearing out only the base
flow, which means that it later generated an action with the original
tunnel metadata.  If a packet is both being sent and received on a
tunnel then this will cause the output tunnel's configuration to be
overriden with incorrect information.  This was recently exposed
when the ability to interpret tunnel metadata was added to userspace.

Reported-by: Anand Krishnamurthy <krishnamurt4 at wisc.edu>
Reported-by: Saul St. John <sstjohn at cs.wisc.edu>
Signed-off-by: Jesse Gross <jesse at nicira.com>


commit 194254d7f3a902a7554e617b8ab6869de388e80b
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=194254d7f3a902a7554e617b8ab6869de388e80b
Author: Jesse Gross <jesse at nicira.com>
		
datapath: Initialize tunnel_key pad member.
		
When a packet is received on a tunnel the pad member is currently
left uninitialized.  This didn't previously cause problems because
userspace didn't interprete the IPV4_TUNNEL attribute and blindly
copied back the uninitialized data.  However, now that userspace
knows how to serialize this attribute it was zeroing it out, which
prevented flows that had been previously installed from being
deleted.  In addition to zeroing out the padding on packet reception,
it also does the same thing on flow setup since we should be ignoring
the value.

Reported-by: Anand Krishnamurthy <krishnamurt4 at wisc.edu>
Reported-by: Saul St. John <sstjohn at cs.wisc.edu>
Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


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

Summary of changes:
 datapath/flow.c        |    2 ++
 datapath/tunnel.h      |    1 +
 ofproto/ofproto-dpif.c |    2 +-
 3 files changed, 4 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list