Prepare Open vSwitch 1.1.2 release.
[sliver-openvswitch.git] / lib / stream-tcp.c
index bfcf35c..d92fe3a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2009 Nicira Networks.
+ * Copyright (c) 2008, 2009, 2010 Nicira Networks.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 #include <netinet/tcp.h>
 #include <stdlib.h>
 #include <string.h>
+#include <sys/socket.h>
 #include <unistd.h>
 #include "packets.h"
 #include "socket-util.h"
 #include "util.h"
 #include "stream-provider.h"
 #include "stream-fd.h"
-
 #include "vlog.h"
-#define THIS_MODULE VLM_stream_tcp
+
+VLOG_DEFINE_THIS_MODULE(stream_tcp);
 
 /* Active TCP. */
 
@@ -101,16 +102,20 @@ static int ptcp_accept(int fd, const struct sockaddr *sa, size_t sa_len,
                        struct stream **streamp);
 
 static int
-ptcp_open(const char *name UNUSED, char *suffix, struct pstream **pstreamp)
+ptcp_open(const char *name OVS_UNUSED, char *suffix, struct pstream **pstreamp)
 {
+    struct sockaddr_in sin;
+    char bound_name[128];
     int fd;
 
-    fd = inet_open_passive(SOCK_STREAM, suffix, 0);
+    fd = inet_open_passive(SOCK_STREAM, suffix, -1, &sin);
     if (fd < 0) {
         return -fd;
-    } else {
-        return new_fd_pstream("ptcp", fd, ptcp_accept, NULL, pstreamp);
     }
+
+    sprintf(bound_name, "ptcp:%"PRIu16":"IP_FMT,
+            ntohs(sin.sin_port), IP_ARGS(&sin.sin_addr.s_addr));
+    return new_fd_pstream(bound_name, fd, ptcp_accept, NULL, pstreamp);
 }
 
 static int