[ovs-dev] [service controllers 2/3] ovs-openflowd: Fix support for multiple controllers.

Ben Pfaff blp at nicira.com
Fri Aug 6 18:26:37 UTC 2010

The multiple controller support here has apparently never been tested.  I
still haven't tested it, but I fixed a few obvious problems in the source
code and in the manpage.
 utilities/ovs-openflowd.8.in |   11 +++++++++--
 utilities/ovs-openflowd.c    |    4 ++--
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/utilities/ovs-openflowd.8.in b/utilities/ovs-openflowd.8.in
index 47af872..ef9bded 100644
--- a/utilities/ovs-openflowd.8.in
+++ b/utilities/ovs-openflowd.8.in
@@ -19,12 +19,19 @@ to relay.  It takes one of the following forms:
 .so lib/dpif.man
-The optional \fIcontroller\fR arguments specify how to connect to
-the OpenFlow controller.  It takes one of the following forms:
+The optional \fIcontroller\fR arguments specify how to connect to the
+OpenFlow controller or controllers.  Each takes one of the following
 .so lib/vconn-active.man
+When multiple controllers are configured, \fBovs\-openflowd\fR
+connects to all of them simultaneously.  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.
 If no \fIcontroller\fR is specified, \fBovs\-openflowd\fR attempts to
 discover the location of a controller automatically (see below).
diff --git a/utilities/ovs-openflowd.c b/utilities/ovs-openflowd.c
index 6dda8fb..3ace4fd 100644
--- a/utilities/ovs-openflowd.c
+++ b/utilities/ovs-openflowd.c
@@ -451,8 +451,8 @@ parse_options(int argc, char *argv[], struct ofsettings *s)
     argc -= optind;
     argv += optind;
-    if (argc < 1 || argc > 2) {
-        ovs_fatal(0, "need one or two non-option arguments; "
+    if (argc < 1) {
+        ovs_fatal(0, "need at least one non-option arguments; "
                   "use --help for usage");

More information about the dev mailing list