Global replace of Nicira Networks.
[sliver-openvswitch.git] / lib / stream-unix.c
index 33f566b..99a9962 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2009, 2010 Nicira Networks.
+ * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,6 +21,7 @@
 #include <inttypes.h>
 #include <netdb.h>
 #include <poll.h>
+#include <sys/socket.h>
 #include <sys/types.h>
 #include <sys/un.h>
 #include <stdlib.h>
 #include "util.h"
 #include "stream-provider.h"
 #include "stream-fd.h"
-
 #include "vlog.h"
-#define THIS_MODULE VLM_stream_unix
 
-/* Active UNIX socket. */
+VLOG_DEFINE_THIS_MODULE(stream_unix);
 
-/* Number of unix sockets created so far, to ensure binding path uniqueness. */
-static int n_unix_sockets;
+/* Active UNIX socket. */
 
 static int
-unix_open(const char *name, char *suffix, struct stream **streamp)
+unix_open(const char *name, char *suffix, struct stream **streamp,
+          uint8_t dscp OVS_UNUSED)
 {
     const char *connect_path = suffix;
-    char *bind_path;
     int fd;
 
-    bind_path = xasprintf("/tmp/stream-unix.%ld.%d",
-                          (long int) getpid(), n_unix_sockets++);
-    fd = make_unix_socket(SOCK_STREAM, true, false, bind_path, connect_path);
+    fd = make_unix_socket(SOCK_STREAM, true, false, NULL, connect_path);
     if (fd < 0) {
-        VLOG_ERR("%s: connection to %s failed: %s",
-                 bind_path, connect_path, strerror(-fd));
-        free(bind_path);
+        VLOG_ERR("%s: connection failed (%s)", connect_path, strerror(-fd));
         return -fd;
     }
 
-    return new_fd_stream(name, fd, check_connection_completion(fd),
-                         bind_path, streamp);
+    return new_fd_stream(name, fd, check_connection_completion(fd), streamp);
 }
 
-struct stream_class unix_stream_class = {
+const struct stream_class unix_stream_class = {
     "unix",                     /* name */
+    false,                      /* needs_probes */
     unix_open,                  /* open */
     NULL,                       /* close */
     NULL,                       /* connect */
@@ -81,7 +75,7 @@ static int punix_accept(int fd, const struct sockaddr *sa, size_t sa_len,
 
 static int
 punix_open(const char *name OVS_UNUSED, char *suffix,
-           struct pstream **pstreamp)
+           struct pstream **pstreamp, uint8_t dscp OVS_UNUSED)
 {
     int fd, error;
 
@@ -98,7 +92,7 @@ punix_open(const char *name OVS_UNUSED, char *suffix,
         return error;
     }
 
-    return new_fd_pstream("punix", fd, punix_accept,
+    return new_fd_pstream(name, fd, punix_accept,
                           xstrdup(suffix), pstreamp);
 }
 
@@ -115,11 +109,12 @@ punix_accept(int fd, const struct sockaddr *sa, size_t sa_len,
     } else {
         strcpy(name, "unix");
     }
-    return new_fd_stream(name, fd, 0, NULL, streamp);
+    return new_fd_stream(name, fd, 0, streamp);
 }
 
-struct pstream_class punix_pstream_class = {
+const struct pstream_class punix_pstream_class = {
     "punix",
+    false,
     punix_open,
     NULL,
     NULL,