Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
% 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++
------------------------------------
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
char *socket_name;
int error;
char *socket_name;
int error;
if (target[0] != '/') {
char *pidfile_name;
pid_t pid;
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);
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);
}