[ovs-git] Open vSwitch: ofproto: Add support for master/slave controller coordination. (master)

dev at openvswitch.org dev at openvswitch.org
Tue Apr 20 18:14:40 UTC 2010


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  9deba63bdebc2e0eceab8da186b79703fe694186 (commit)
       via  76ce9432393df462e2030036021ea60096a734d4 (commit)
       via  79c9f2ee7883b52860c76c3730725f5731402874 (commit)
       via  0ade584ebe8ca1a1de92fb7422566726f276918c (commit)
       via  f7de2cdffcadaca5f62003f9c115052aa295aa70 (commit)
       via  7103dec49eb569c3196239da6c178a29c3003e2b (commit)
       via  a35801789a04c3c2abfdccb8afe9b21289bf190a (commit)
       via  dc6ddf68b20d802f01cd4a82aca29f442b5c4097 (commit)
       via  25bfb758931fbb1c53ac351caed8756ea516b734 (commit)
       via  ab48643b58bb081cab6408ee2a4aca50cf7ddcc6 (commit)
       via  4a2026dd696e283488c5372bce97eb02005bee6f (commit)
       via  fb0d597fb64308c60001e3afc9b31eb295dedb6b (commit)
       via  fcbaf28cb38d2a848e78d7ba42800eb03fbe6579 (commit)
      from  ede818437a16d1cf50c5e8f285593f85cd6f2513 (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 9deba63bdebc2e0eceab8da186b79703fe694186
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=9deba63bdebc2e0eceab8da186b79703fe694186
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Add support for master/slave controller coordination.
		
Now that Open vSwitch has support for multiple simultaneous controllers,
there is some need for a degree of coordination among them.  For now, the
plan is for the controllers themselves to take the lead on this.  This
commit adds a small bit of OVS infrastructure: the ability for a controller
to designate itself as a "master" or a "slave".  There may be at most one
master at a time; when a controller designates itself as the master, then
any existing master is demoted to slave status.  Slave controllers are not
allowed to modify the flow table or global configuration; any attempt to
do so is rejected with a "bad request" error.

Feature #2495.


commit 76ce9432393df462e2030036021ea60096a734d4
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=76ce9432393df462e2030036021ea60096a734d4
Author: Ben Pfaff <blp at nicira.com>
		
Add support for multiple OpenFlow controllers on a single bridge.
		
With this commit, Open vSwitch permits a bridge to have any number of
OpenFlow controllers.  When multiple controllers are configured, Open
vSwitch connects to all of them simultaneously.  Details of configuration
are in the vswitch schema documentation.

OpenFlow 1.0 does not specify how multiple controllers coordinate in
interacting with a single switch, so more than one controller should be
specified only if the controllers are themselves designed to coordinate
with each other.

An upcoming commit will provide a simple means for coordination between
multiple controllers.

Feature #2495.


commit 79c9f2ee7883b52860c76c3730725f5731402874
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=79c9f2ee7883b52860c76c3730725f5731402874
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Bundle all controller-related settings into a struct.
		
Many ofproto settings are controller-related.  Upcoming commits will add
to ofproto the ability to support multiple controllers, so it is important
to be able to refer to controller settings as a group.  Hence, this commit
bundles them into a new "struct ofproto_controller".


commit 0ade584ebe8ca1a1de92fb7422566726f276918c
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=0ade584ebe8ca1a1de92fb7422566726f276918c
Author: Ben Pfaff <blp at nicira.com>
		
in-band: Support an arbitrary number of controllers.
		


commit f7de2cdffcadaca5f62003f9c115052aa295aa70
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=f7de2cdffcadaca5f62003f9c115052aa295aa70
Author: Ben Pfaff <blp at nicira.com>
		
in-band: Drop in-band flows when turning off in-band control.
		
Destroying the in-band control object didn't remove the flows related to
in-band control, so they could persist until another event caused the
flow table to be reset.  Changing or removing the controller is one such
event, which would probably happen at the same time as turning off in-band
control, so this is a rather minor flaw, but it still seems good to fix it.


commit 7103dec49eb569c3196239da6c178a29c3003e2b
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=7103dec49eb569c3196239da6c178a29c3003e2b
Author: Ben Pfaff <blp at nicira.com>
		
in-band: Fix memory leak in in_band_destroy().
		


commit a35801789a04c3c2abfdccb8afe9b21289bf190a
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=a35801789a04c3c2abfdccb8afe9b21289bf190a
Author: Ben Pfaff <blp at nicira.com>
		
in-band: Fix null pointer dereference.
		
Triggering this would require deleting the in-use datapath at just the
right time, but we still don't want it to happen.


commit dc6ddf68b20d802f01cd4a82aca29f442b5c4097
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=dc6ddf68b20d802f01cd4a82aca29f442b5c4097
Author: Ben Pfaff <blp at nicira.com>
		
in-band: Fix memory leak in get_remote_mac().
		
If the call to netdev_open_default() failed then next_hop_dev was not
freed, but it should be.


commit 25bfb758931fbb1c53ac351caed8756ea516b734
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=25bfb758931fbb1c53ac351caed8756ea516b734
Author: Ben Pfaff <blp at nicira.com>
		
in-band: Fix inconsistency in in-band code.
		
The IBR_TO_LOCAL_ARP and IBR_FROM_LOCAL_ARP flows are dropped if there is
no local MAC.  I don't see why IBR_FROM_LOCAL_DHCP should be different, so
this commit adds it too.


commit ab48643b58bb081cab6408ee2a4aca50cf7ddcc6
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=ab48643b58bb081cab6408ee2a4aca50cf7ddcc6
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Make valgrind happy.
		
The "flags" member of struct odp_flow is not used for adding or deleting
flows, but valgrind doesn't know that.  By zeroing it out we can suppress
spurious warnings.


commit 4a2026dd696e283488c5372bce97eb02005bee6f
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=4a2026dd696e283488c5372bce97eb02005bee6f
Author: Ben Pfaff <blp at nicira.com>
		
fail-open: Fix typo in comment.
		


commit fb0d597fb64308c60001e3afc9b31eb295dedb6b
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=fb0d597fb64308c60001e3afc9b31eb295dedb6b
Author: Ben Pfaff <blp at nicira.com>
		
ovs-openflowd: Remove documentation for obsolete --mgmt-id option.
		
Also remove unused OPT_MGMT_ID enum.


commit fcbaf28cb38d2a848e78d7ba42800eb03fbe6579
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=fcbaf28cb38d2a848e78d7ba42800eb03fbe6579
Author: Ben Pfaff <blp at nicira.com>
		
ovsdb-doc: Distinguish hyphens and minus signs in nroff output.
		
In nroff, a minus sign (\-) should generally be used in literal text,
whereas hyphens are generally correct elsewhere.  This roughly corresponds
to bold versus non-bold text, so this commit makes ovsdb-doc output "-"
that appears in input as a minus sign if it is bold or a hyphen if it is
not.


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

Summary of changes:
 include/openflow/nicira-ext.h |   35 ++
 ofproto/discovery.c           |   12 +
 ofproto/discovery.h           |    4 +-
 ofproto/fail-open.c           |  166 ++++++++--
 ofproto/fail-open.h           |   12 +-
 ofproto/in-band.c             |  710 +++++++++++++++++++++++++---------------
 ofproto/in-band.h             |   10 +-
 ofproto/ofproto.c             |  738 ++++++++++++++++++++++++++---------------
 ofproto/ofproto.h             |   44 ++-
 ofproto/pinsched.c            |    8 +
 ofproto/pinsched.h            |    4 +-
 ofproto/status.c              |   11 -
 ovsdb/ovsdb-doc.in            |   14 +-
 tests/ovs-vsctl.at            |   81 +++++
 utilities/ovs-openflowd.8.in  |   32 +--
 utilities/ovs-openflowd.c     |  151 ++++-----
 utilities/ovs-vsctl.8.in      |   20 +-
 utilities/ovs-vsctl.c         |  217 +++++++++----
 vswitchd/bridge.c             |  214 +++++++------
 vswitchd/ovs-brcompatd.c      |    4 +-
 vswitchd/vswitch.ovsschema    |    4 +-
 vswitchd/vswitch.xml          |  146 ++++++--
 22 files changed, 1724 insertions(+), 913 deletions(-)


hooks/post-receive
-- 
Open vSwitch




More information about the git mailing list