Message ID | 1468338908-10848-3-git-send-email-aserdean@cloudbasesolutions.com |
---|---|
State | Superseded |
Headers | show |
Acked-by: Paul Boca <pboca@cloudbasesolutions.com> > -----Original Message----- > From: dev [mailto:dev-bounces@openvswitch.org] On Behalf Of Alin Serdean > Sent: Tuesday, July 12, 2016 6:55 PM > To: dev@openvswitch.org > Subject: [ovs-dev] [PATCH 2/3] Windows: Drop TCP sockets and switch to > named pipe > > This patch drops the TCP socket implementation behind command line > arguments punix/unix and switches to the local named pipe implementation. > > Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> > --- > lib/automake.mk | 1 + > lib/stream-tcp.c | 115 ------------------------------------------------------- > 2 files changed, 1 insertion(+), 115 deletions(-) > > diff --git a/lib/automake.mk b/lib/automake.mk > index 4d4ee01..f8bd33b 100644 > --- a/lib/automake.mk > +++ b/lib/automake.mk > @@ -294,6 +294,7 @@ lib_libopenvswitch_la_SOURCES += \ > lib/latch-windows.c \ > lib/route-table-stub.c \ > lib/if-notifier-stub.c \ > + lib/stream-windows.c \ > lib/strsep.c > else > lib_libopenvswitch_la_SOURCES += \ > diff --git a/lib/stream-tcp.c b/lib/stream-tcp.c > index 2b57ca7..1749fad 100644 > --- a/lib/stream-tcp.c > +++ b/lib/stream-tcp.c > @@ -74,64 +74,6 @@ const struct stream_class tcp_stream_class = { > NULL, /* run_wait */ > NULL, /* wait */ > }; > - > -#ifdef _WIN32 > -#include "dirs.h" > - > -static int > -windows_open(const char *name, char *suffix, struct stream **streamp, > - uint8_t dscp) > -{ > - int error, port; > - FILE *file; > - char *suffix_new, *path; > - > - /* If the path does not contain a ':', assume it is relative to > - * OVS_RUNDIR. */ > - if (!strchr(suffix, ':')) { > - path = xasprintf("%s/%s", ovs_rundir(), suffix); > - } else { > - path = xstrdup(suffix); > - } > - > - file = fopen(path, "r"); > - if (!file) { > - error = errno; > - VLOG_DBG("%s: could not open %s (%s)", name, suffix, > - ovs_strerror(error)); > - return error; > - } > - > - error = fscanf(file, "%d", &port); > - if (error != 1) { > - VLOG_ERR("failed to read port from %s", suffix); > - fclose(file); > - return EINVAL; > - } > - fclose(file); > - > - suffix_new = xasprintf("127.0.0.1:%d", port); > - > - error = tcp_open(name, suffix_new, streamp, dscp); > - > - free(suffix_new); > - free(path); > - return error; > -} > - > -const struct stream_class windows_stream_class = { > - "unix", /* name */ > - false, /* needs_probes */ > - windows_open, /* open */ > - NULL, /* close */ > - NULL, /* connect */ > - NULL, /* recv */ > - NULL, /* send */ > - NULL, /* run */ > - NULL, /* run_wait */ > - NULL, /* wait */ > -}; > -#endif > > /* Passive TCP. */ > > @@ -198,60 +140,3 @@ const struct pstream_class ptcp_pstream_class = { > NULL, > NULL, > }; > - > -#ifdef _WIN32 > -static int > -pwindows_open(const char *name, char *suffix, struct pstream > **pstreamp, > - uint8_t dscp) > -{ > - int error; > - char *suffix_new, *path; > - FILE *file; > - struct pstream *listener; > - > - suffix_new = xstrdup("0:127.0.0.1"); > - > - /* If the path does not contain a ':', assume it is relative to > - * OVS_RUNDIR. */ > - if (!strchr(suffix, ':')) { > - path = xasprintf("%s/%s", ovs_rundir(), suffix); > - } else { > - path = xstrdup(suffix); > - } > - > - error = new_pstream(suffix_new, name, pstreamp, dscp, path, false); > - if (error) { > - goto exit; > - } > - listener = *pstreamp; > - > - file = fopen(path, "w"); > - if (!file) { > - error = errno; > - VLOG_DBG("could not open %s (%s)", path, ovs_strerror(error)); > - goto exit; > - } > - > - fprintf(file, "%d\n", ntohs(listener->bound_port)); > - if (fflush(file) == EOF) { > - error = EIO; > - VLOG_ERR("write failed for %s", path); > - fclose(file); > - goto exit; > - } > - fclose(file); > - > -exit: > - free(suffix_new); > - return error; > -} > - > -const struct pstream_class pwindows_pstream_class = { > - "punix", > - false, > - pwindows_open, > - NULL, > - NULL, > - NULL, > -}; > -#endif > -- > 1.9.5.msysgit.0 > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev
diff --git a/lib/automake.mk b/lib/automake.mk index 4d4ee01..f8bd33b 100644 --- a/lib/automake.mk +++ b/lib/automake.mk @@ -294,6 +294,7 @@ lib_libopenvswitch_la_SOURCES += \ lib/latch-windows.c \ lib/route-table-stub.c \ lib/if-notifier-stub.c \ + lib/stream-windows.c \ lib/strsep.c else lib_libopenvswitch_la_SOURCES += \ diff --git a/lib/stream-tcp.c b/lib/stream-tcp.c index 2b57ca7..1749fad 100644 --- a/lib/stream-tcp.c +++ b/lib/stream-tcp.c @@ -74,64 +74,6 @@ const struct stream_class tcp_stream_class = { NULL, /* run_wait */ NULL, /* wait */ }; - -#ifdef _WIN32 -#include "dirs.h" - -static int -windows_open(const char *name, char *suffix, struct stream **streamp, - uint8_t dscp) -{ - int error, port; - FILE *file; - char *suffix_new, *path; - - /* If the path does not contain a ':', assume it is relative to - * OVS_RUNDIR. */ - if (!strchr(suffix, ':')) { - path = xasprintf("%s/%s", ovs_rundir(), suffix); - } else { - path = xstrdup(suffix); - } - - file = fopen(path, "r"); - if (!file) { - error = errno; - VLOG_DBG("%s: could not open %s (%s)", name, suffix, - ovs_strerror(error)); - return error; - } - - error = fscanf(file, "%d", &port); - if (error != 1) { - VLOG_ERR("failed to read port from %s", suffix); - fclose(file); - return EINVAL; - } - fclose(file); - - suffix_new = xasprintf("127.0.0.1:%d", port); - - error = tcp_open(name, suffix_new, streamp, dscp); - - free(suffix_new); - free(path); - return error; -} - -const struct stream_class windows_stream_class = { - "unix", /* name */ - false, /* needs_probes */ - windows_open, /* open */ - NULL, /* close */ - NULL, /* connect */ - NULL, /* recv */ - NULL, /* send */ - NULL, /* run */ - NULL, /* run_wait */ - NULL, /* wait */ -}; -#endif /* Passive TCP. */ @@ -198,60 +140,3 @@ const struct pstream_class ptcp_pstream_class = { NULL, NULL, }; - -#ifdef _WIN32 -static int -pwindows_open(const char *name, char *suffix, struct pstream **pstreamp, - uint8_t dscp) -{ - int error; - char *suffix_new, *path; - FILE *file; - struct pstream *listener; - - suffix_new = xstrdup("0:127.0.0.1"); - - /* If the path does not contain a ':', assume it is relative to - * OVS_RUNDIR. */ - if (!strchr(suffix, ':')) { - path = xasprintf("%s/%s", ovs_rundir(), suffix); - } else { - path = xstrdup(suffix); - } - - error = new_pstream(suffix_new, name, pstreamp, dscp, path, false); - if (error) { - goto exit; - } - listener = *pstreamp; - - file = fopen(path, "w"); - if (!file) { - error = errno; - VLOG_DBG("could not open %s (%s)", path, ovs_strerror(error)); - goto exit; - } - - fprintf(file, "%d\n", ntohs(listener->bound_port)); - if (fflush(file) == EOF) { - error = EIO; - VLOG_ERR("write failed for %s", path); - fclose(file); - goto exit; - } - fclose(file); - -exit: - free(suffix_new); - return error; -} - -const struct pstream_class pwindows_pstream_class = { - "punix", - false, - pwindows_open, - NULL, - NULL, - NULL, -}; -#endif
This patch drops the TCP socket implementation behind command line arguments punix/unix and switches to the local named pipe implementation. Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> --- lib/automake.mk | 1 + lib/stream-tcp.c | 115 ------------------------------------------------------- 2 files changed, 1 insertion(+), 115 deletions(-)