ovs-openflowd: Add --unixctl command line option.
authorBen Pfaff <blp@nicira.com>
Fri, 12 Nov 2010 20:42:57 +0000 (12:42 -0800)
committerBen Pfaff <blp@nicira.com>
Tue, 30 Nov 2010 00:29:11 +0000 (16:29 -0800)
utilities/ovs-openflowd.8.in
utilities/ovs-openflowd.c

index 176459ca452b48bd07bc9e15522f28fe32063f81..6084d463c95e66729b8520b04ae61ea9facae355 100644 (file)
@@ -429,9 +429,16 @@ switching.
 .SS "Logging Options"
 .so lib/vlog.man
 .SS "Other Options"
+.so lib/unixctl.man
 .so lib/common.man
 .so lib/leak-checker.man
 .
+.SH "RUNTIME MANAGEMENT COMMANDS"
+\fBovs\-appctl\fR(8) can send commands to a running
+\fBovs\-openflowd\fR process.  The currently supported commands are
+described below.
+.so lib/vlog-unixctl.man
+.
 .SH "SEE ALSO"
 .
 .BR ovs\-appctl (8),
index da3a260f7564c6478c51180a082a087d018f27e2..20b08c13a31725a9eab70a5b438ad3f1be44a149 100644 (file)
@@ -50,6 +50,8 @@ VLOG_DEFINE_THIS_MODULE(openflowd);
 
 /* Settings that may be configured by the user. */
 struct ofsettings {
+    const char *unixctl_path;   /* File name for unixctl socket. */
+
     /* Controller configuration. */
     struct ofproto_controller *controllers;
     size_t n_controllers;
@@ -100,7 +102,7 @@ main(int argc, char *argv[])
     daemonize_start();
 
     /* Start listening for ovs-appctl requests. */
-    error = unixctl_server_create(NULL, &unixctl);
+    error = unixctl_server_create(s.unixctl_path, &unixctl);
     if (error) {
         exit(EXIT_FAILURE);
     }
@@ -200,6 +202,7 @@ parse_options(int argc, char *argv[], struct ofsettings *s)
         OPT_IN_BAND,
         OPT_NETFLOW,
         OPT_PORTS,
+        OPT_UNIXCTL,
         VLOG_OPTION_ENUMS,
         LEAK_CHECKER_OPTION_ENUMS
     };
@@ -226,6 +229,7 @@ parse_options(int argc, char *argv[], struct ofsettings *s)
         {"in-band",     no_argument, 0, OPT_IN_BAND},
         {"netflow",     required_argument, 0, OPT_NETFLOW},
         {"ports",       required_argument, 0, OPT_PORTS},
+        {"unixctl",     required_argument, 0, OPT_UNIXCTL},
         {"verbose",     optional_argument, 0, 'v'},
         {"help",        no_argument, 0, 'h'},
         {"version",     no_argument, 0, 'V'},
@@ -252,6 +256,7 @@ parse_options(int argc, char *argv[], struct ofsettings *s)
     controller_opts.update_resolv_conf = true;
     controller_opts.rate_limit = 0;
     controller_opts.burst_limit = 0;
+    s->unixctl_path = NULL;
     s->fail_mode = OFPROTO_FAIL_STANDALONE;
     s->datapath_id = 0;
     s->mfr_desc = NULL;
@@ -390,6 +395,10 @@ parse_options(int argc, char *argv[], struct ofsettings *s)
             svec_split(&s->ports, optarg, ",");
             break;
 
+        case OPT_UNIXCTL:
+            s->unixctl_path = optarg;
+            break;
+
         case 'h':
             usage();
 
@@ -514,6 +523,7 @@ usage(void)
     daemon_usage();
     vlog_usage();
     printf("\nOther options:\n"
+           "  --unixctl=SOCKET        override default control socket name\n"
            "  -h, --help              display this help message\n"
            "  -V, --version           display version information\n");
     leak_checker_usage();