% 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++
------------------------------------
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
char *socket_name;
int error;
+#ifndef _WIN32
if (target[0] != '/') {
char *pidfile_name;
pid_t 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);
}