[ovs-dev] [PATCH 2/3] Windows: Drop TCP sockets and switch to named pipe

Paul Boca pboca at cloudbasesolutions.com
Tue Jul 12 19:30:36 UTC 2016


Acked-by: Paul Boca <pboca at cloudbasesolutions.com>

> -----Original Message-----
> From: dev [mailto:dev-bounces at openvswitch.org] On Behalf Of Alin Serdean
> Sent: Tuesday, July 12, 2016 6:55 PM
> To: dev at 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 at 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 at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev


More information about the dev mailing list