diff mbox

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

Message ID 1468338908-10848-3-git-send-email-aserdean@cloudbasesolutions.com
State Superseded
Headers show

Commit Message

Alin Serdean July 12, 2016, 3:55 p.m. UTC
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(-)

Comments

Paul Boca July 12, 2016, 7:30 p.m. UTC | #1
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 mbox

Patch

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