X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fstream-unix.c;h=689dcf1cfaaeba79abf825b405f71927eb21be24;hb=51c14ddd8df9617e641748a98ac52b78fd19290a;hp=d7dde8fc44f1e3c819c4d3eb6aab147fa08e90cb;hpb=da327b18bdbd36ad3dc465e07f6700795c684b14;p=sliver-openvswitch.git diff --git a/lib/stream-unix.c b/lib/stream-unix.c index d7dde8fc4..689dcf1cf 100644 --- a/lib/stream-unix.c +++ b/lib/stream-unix.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2010, 2011 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. @@ -39,32 +39,25 @@ VLOG_DEFINE_THIS_MODULE(stream_unix); /* Active UNIX socket. */ -/* Number of unix sockets created so far, to ensure binding path uniqueness. */ -static int n_unix_sockets; - 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, 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); } const struct stream_class unix_stream_class = { "unix", /* name */ + false, /* needs_probes */ unix_open, /* open */ NULL, /* close */ NULL, /* connect */ @@ -82,11 +75,11 @@ 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; - fd = make_unix_socket(SOCK_STREAM, true, true, suffix, NULL); + fd = make_unix_socket(SOCK_STREAM, true, suffix, NULL); if (fd < 0) { VLOG_ERR("%s: binding failed: %s", suffix, strerror(errno)); return errno; @@ -116,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); } const struct pstream_class punix_pstream_class = { "punix", + false, punix_open, NULL, NULL,