From: Ben Pfaff Date: Mon, 28 Jul 2014 17:31:25 +0000 (-0700) Subject: ovs-ofctl: Add --unixctl command line option. X-Git-Tag: v2.3~13 X-Git-Url: http://git.cascardo.eti.br/?a=commitdiff_plain;ds=sidebyside;h=bc814d7c8ac2ed33eb9d17fa4d570489a7105881;p=cascardo%2Fovs.git ovs-ofctl: Add --unixctl command line option. This matches the option offered by some other Open vSwitch daemons. I intend to use it in tests in an upcoming commit. Signed-off-by: Ben Pfaff Acked-by: Justin Pettit --- diff --git a/manpages.mk b/manpages.mk index 1d9ac4526..a60e6114e 100644 --- a/manpages.mk +++ b/manpages.mk @@ -146,6 +146,7 @@ utilities/ovs-ofctl.8: \ lib/daemon.man \ lib/ofp-version.man \ lib/ssl.man \ + lib/unixctl.man \ lib/vconn-active.man \ lib/vlog.man utilities/ovs-ofctl.8.in: @@ -153,6 +154,7 @@ lib/common.man: lib/daemon.man: lib/ofp-version.man: lib/ssl.man: +lib/unixctl.man: lib/vconn-active.man: lib/vlog.man: diff --git a/utilities/ovs-ofctl.8.in b/utilities/ovs-ofctl.8.in index fc264c72c..5b0c52e57 100644 --- a/utilities/ovs-ofctl.8.in +++ b/utilities/ovs-ofctl.8.in @@ -2085,6 +2085,7 @@ These options currently affect only \fBdump\-flows\fR output. \fBovs\-ofctl\fR detaches only when executing the \fBmonitor\fR or \ \fBsnoop\fR commands. .so lib/daemon.man +.so lib/unixctl.man .SS "Public Key Infrastructure Options" .so lib/ssl.man .so lib/vlog.man diff --git a/utilities/ovs-ofctl.c b/utilities/ovs-ofctl.c index d62d32831..01b3f60b8 100644 --- a/utilities/ovs-ofctl.c +++ b/utilities/ovs-ofctl.c @@ -91,6 +91,10 @@ static int verbosity; * "snoop" command? */ static bool timestamp; +/* --unixctl-path: Path to use for unixctl server, for "monitor" and "snoop" + commands. */ +static char *unixctl_path; + /* --sort, --rsort: Sort order. */ enum sort_order { SORT_ASC, SORT_DESC }; struct sort_criterion { @@ -149,6 +153,7 @@ parse_options(int argc, char *argv[]) OPT_TIMESTAMP, OPT_SORT, OPT_RSORT, + OPT_UNIXCTL, DAEMON_OPTION_ENUMS, OFP_VERSION_OPTION_ENUMS, VLOG_OPTION_ENUMS @@ -163,6 +168,7 @@ parse_options(int argc, char *argv[]) {"timestamp", no_argument, NULL, OPT_TIMESTAMP}, {"sort", optional_argument, NULL, OPT_SORT}, {"rsort", optional_argument, NULL, OPT_RSORT}, + {"unixctl", required_argument, NULL, OPT_UNIXCTL}, {"help", no_argument, NULL, 'h'}, DAEMON_LONG_OPTIONS, OFP_VERSION_LONG_OPTIONS, @@ -253,6 +259,10 @@ parse_options(int argc, char *argv[]) add_sort_criterion(SORT_DESC, optarg); break; + case OPT_UNIXCTL: + unixctl_path = optarg; + break; + DAEMON_OPTION_HANDLERS OFP_VERSION_OPTION_HANDLERS VLOG_OPTION_HANDLERS @@ -361,6 +371,7 @@ usage(void) " -t, --timeout=SECS give up after SECS seconds\n" " --sort[=field] sort in ascending order\n" " --rsort[=field] sort in descending order\n" + " --unixctl=SOCKET set control socket name\n" " -h, --help display this help message\n" " -V, --version display version information\n"); exit(EXIT_SUCCESS); @@ -1437,7 +1448,7 @@ monitor_vconn(struct vconn *vconn, bool reply_to_echo_requests) daemon_save_fd(STDERR_FILENO); daemonize_start(); - error = unixctl_server_create(NULL, &server); + error = unixctl_server_create(unixctl_path, &server); if (error) { ovs_fatal(error, "failed to create unixctl server"); }