[ovs-git] Open vSwitch: ofproto-dpif: Handle tunnel config changes in facet_revalidate(). (branch-1.10)

dev at openvswitch.org dev at openvswitch.org
Thu Feb 28 02:02:05 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.10 has been updated
       via  08ac89c1f719ee5cfab46212eef7384f002d70ba (commit)
       via  35bd902c33417cdedf72997e77635178e7239c4e (commit)
       via  761bc602429b4fc505914bec7ed180a1545f8b37 (commit)
      from  f206bfc51515e1f218dc2b5a888c1475191bead4 (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 08ac89c1f719ee5cfab46212eef7384f002d70ba
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=08ac89c1f719ee5cfab46212eef7384f002d70ba
Author: Ethan Jackson <ethan at nicira.com>
		
ofproto-dpif: Handle tunnel config changes in facet_revalidate().
		
For most of the history of Open vSwitch, one could assume that a
given datapath flow key would consistently translate into the same
userspace struct flow representation.  However, with the switch to
flow based tunneling, we now have a situation where a database
configuration change can cause a datapath flow key's in_port to
correspond to a completely different OpenFlow in_port possibly on a
completely different bridge.  This can cause all sorts of problems,
including traffic black holes due to confused facet revalidations.

To solve the problem, this patch verifies that each facet's
subfacets still result in the appropriate struct flow.  If a facet
fails this test, it is simply removed.

Bug #15213.
Signed-off-by: Ethan Jackson <ethan at nicira.com>


commit 35bd902c33417cdedf72997e77635178e7239c4e
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=35bd902c33417cdedf72997e77635178e7239c4e
Author: Ethan Jackson <ethan at nicira.com>
		
ofproto-dpif: Ignore subfacet install errors.
		
When we fail to install a subfacet, there's not much we can do
other than note that it happened.  However, doing this requires us
to maintain a pointer to a subfacet which theoretically could be
destroyed by facet_revalidate() later.  This patch solves the
problem by simply assuming dpif_flow_put() always succeeds.  This
should have no effect on behavior.

Signed-off-by: Ethan Jackson <ethan at nicira.com>


commit 761bc602429b4fc505914bec7ed180a1545f8b37
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=761bc602429b4fc505914bec7ed180a1545f8b37
Author: Ethan Jackson <ethan at nicira.com>
		
ofproto-dpif: Always maintain subfacet key.
		
Due to flow based tunneling, we can no longer assume that it's
possible to reconstruct a subfacet's key from its facet's flow.
The flow's in_port may be stale due to tunnel configuration
changes.

Signed-off-by: Ethan Jackson <ethan at nicira.com>


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

Summary of changes:
 ofproto/ofproto-dpif.c |  140 ++++++++++++++++-------------------------------
 1 files changed, 48 insertions(+), 92 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list