This protocol was inspired by the NXT_ROLE_REQUEST Nicira extension to
OpenFlow.  Its motivation is to allow controllers to coordinate on choosing
a "master" for a given switch.  As a side effect, it also allows multiple
ovs-vswitchd instances (presumably started by mistake) to elect a master
and avoid interfering with one another (because occasionally I've had bug
reports caused by users accidentally starting multiple copies of daemons).

Only the final three patches are essential to this feature.  The other
patches are just minor bugs fixes and enhancements that I made along
the way, sometimes because I noticed them while testing the locking
feature.

Ben Pfaff (11):
  stream-unix: Fix naming of passive Unix streams.
  ovsdb-doc: Fix definition of .TQ macro.
  dirs: Make sysconfdir available via ovs_sysconfdir().
  ovsdb-server: Make database command-line argument optional.
  ovs-vswitchd: Make database socket command-line argument optional.
  ovsdb-client: Make "server" and "database" arguments optional.
  ovsdb-server: Reliably report status of inbound connections.
  ovsdb: Report the number of connections for inbound Managers.
  ovsdb: Refactor jsonrpc-server to make the concept of a session
    public.
  ovsdb: Implement a "lock" feature in the database protocol.
  vswitchd: Prevent multiple ovs-vswitchd processes from acting
    together.

 INSTALL.Linux              |   16 +--
 lib/automake.mk            |    1 +
 lib/dirs.c.in              |    9 ++-
 lib/dirs.h                 |    3 +-
 lib/ovsdb-idl.c            |  198 ++++++++++++++++++++++++++++++++-
 lib/ovsdb-idl.h            |    5 +
 lib/stream-unix.c          |    4 +-
 ovsdb/SPECS                |  124 ++++++++++++++++++++
 ovsdb/automake.mk          |    2 +
 ovsdb/execution.c          |   33 ++++++-
 ovsdb/jsonrpc-server.c     |  267 ++++++++++++++++++++++++++++++++++++--------
 ovsdb/jsonrpc-server.h     |   14 ++-
 ovsdb/ovsdb-client.1.in    |   41 ++++---
 ovsdb/ovsdb-client.c       |  245 ++++++++++++++++++++++++++++------------
 ovsdb/ovsdb-doc.in         |    3 +-
 ovsdb/ovsdb-server.1.in    |    9 +-
 ovsdb/ovsdb-server.c       |   90 +++++++++-------
 ovsdb/ovsdb-tool.c         |    2 +-
 ovsdb/ovsdb.h              |    4 +-
 ovsdb/server.c             |  196 ++++++++++++++++++++++++++++++++
 ovsdb/server.h             |   89 +++++++++++++++
 ovsdb/trigger.c            |   28 +++---
 ovsdb/trigger.h            |   13 +-
 tests/ovsdb-server.at      |    6 +-
 tests/test-ovsdb.c         |   14 ++-
 utilities/ovs-vsctl.c      |    4 +
 vswitchd/bridge.c          |   41 +++++--
 vswitchd/ovs-vswitchd.8.in |   10 +-
 vswitchd/ovs-vswitchd.c    |   12 ++-
 vswitchd/vswitch.xml       |   28 +++++
 30 files changed, 1253 insertions(+), 258 deletions(-)
 create mode 100644 ovsdb/server.c
 create mode 100644 ovsdb/server.h

-- 
1.7.4.4

_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to