[ovs-dev] proposal: ovs-vsctl commands for managing controllers/managers

Andrew Evans aevans at nicira.com
Thu Feb 3 18:23:52 UTC 2011

There are two ways to remotely control an Open vSwitch: OpenFlow, and
the ovsdb JSON-RPC protocol. Entities that control a vSwitch via
OpenFlow are called "controllers". Entities that control a vSwitch via
the JSON-RPC database protocol are called "managers".

Controllers and managers are conceptually very similar, but the way they
are added to and removed from the vSwitch is very different. ovs-vsctl
supports the following commands to manage controllers:

  get-controller BRIDGE      print the controller for BRIDGE
  del-controller BRIDGE      delete the controller for BRIDGE
  set-controller BRIDGE TARGET  set the controller for BRIDGE to TARGET

There are no analogous commands for managers. They must be added to and
deleted from the database manually. That is somewhat tricky with
ovs-vsctl at present, since the new/preferred way of adding a manager to
the database involves insertions into two separate tables.

I propose we add a set of commands to add/get/delete managers that work
the same way as the ones that manage controllers. I further propose we
modify the existing controller commands to make it easier to add or
remove one or more controllers to an existing set. Here's how this would

  get-controllers BRIDGE
  add-controllers BRIDGE TARGET [TARGET...]
  del-controllers BRIDGE [--all|TARGET...]

  add-managers TARGET [TARGET...]
  del-managers [--all|TARGET...]




More information about the dev mailing list