ovs-appctl: A port for Windows.
authorGurucharan Shetty <gshetty@nicira.com>
Fri, 28 Mar 2014 15:37:36 +0000 (08:37 -0700)
committerGurucharan Shetty <gshetty@nicira.com>
Fri, 28 Mar 2014 18:09:31 +0000 (11:09 -0700)
Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
BUILD.Windows
utilities/ovs-appctl.8.in
utilities/ovs-appctl.c

index 119334b..ca0d252 100644 (file)
@@ -61,7 +61,8 @@ or from a distribution tar ball.
   % make lib/vswitch-idl.h lib/vtep-idl.h ofproto/ipfix-entities.def
   % make ovsdb/ovsdb-server.exe ovsdb/ovsdb-tool.exe ovsdb/ovsdb-client.exe \
          utilities/ovs-vsctl.exe utilities/ovs-ofctl.exe \
   % make lib/vswitch-idl.h lib/vtep-idl.h ofproto/ipfix-entities.def
   % make ovsdb/ovsdb-server.exe ovsdb/ovsdb-tool.exe ovsdb/ovsdb-client.exe \
          utilities/ovs-vsctl.exe utilities/ovs-ofctl.exe \
-         utilities/ovs-dpctl.exe vswitchd/ovs-vswitchd.exe
+         utilities/ovs-dpctl.exe vswitchd/ovs-vswitchd.exe \
+         utilities/ovs-appctl.exe
 
 OpenSSL, Open vSwitch and Visual C++
 ------------------------------------
 
 OpenSSL, Open vSwitch and Visual C++
 ------------------------------------
index cfb74eb..440853a 100644 (file)
@@ -52,6 +52,15 @@ named \fB@RUNDIR@/\fItarget\fB.\fIpid\fB.ctl\fR, where \fIpid\fR is
 replaced by the process ID read from the pidfile, and uses that file
 as if it had been specified directly as the target.
 .IP
 replaced by the process ID read from the pidfile, and uses that file
 as if it had been specified directly as the target.
 .IP
+On Windows, \fItarget\fR can be an absolute path to a file that contains
+a localhost TCP port on which an Open vSwitch daemon is listening
+for control channel connections. By default, each daemon writes the
+TCP port on which it is listening for control connection into the file
+\fIprogram\fB.ctl\fR located inside the configured \fIOVS_RUNDIR\fR
+directory. If \fItarget\fR is not an absolute path, \fBovs\-appctl\fR
+looks for a file named \fItarget\fB.ctl\fR in the configured \fIOVS_RUNDIR\fR
+directory.
+.IP
 The default target is \fBovs\-vswitchd\fR.
 .
 .SH COMMON COMMANDS
 The default target is \fBovs\-vswitchd\fR.
 .
 .SH COMMON COMMANDS
index c6a7fd4..a6fbebd 100644 (file)
@@ -181,6 +181,7 @@ connect_to_target(const char *target)
     char *socket_name;
     int error;
 
     char *socket_name;
     int error;
 
+#ifndef _WIN32
     if (target[0] != '/') {
         char *pidfile_name;
         pid_t pid;
     if (target[0] != '/') {
         char *pidfile_name;
         pid_t pid;
@@ -193,6 +194,12 @@ connect_to_target(const char *target)
         free(pidfile_name);
         socket_name = xasprintf("%s/%s.%ld.ctl",
                                 ovs_rundir(), target, (long int) pid);
         free(pidfile_name);
         socket_name = xasprintf("%s/%s.%ld.ctl",
                                 ovs_rundir(), target, (long int) pid);
+#else
+    /* On windows, if the 'target' contains ':', we make an assumption that
+     * it is an absolute path. */
+    if (!strchr(target, ':')) {
+        socket_name = xasprintf("%s/%s.ctl", ovs_rundir(), target);
+#endif
     } else {
         socket_name = xstrdup(target);
     }
     } else {
         socket_name = xstrdup(target);
     }