In the future, the kernel will use unicast messages instead of
multicast to send upcalls.  As a result, we need to be able to
tell it where to direct the traffic.  This adds a function to expose
the Netlink pid of a socket so it can be included in messages to the
kernel.
---
 lib/netlink-socket.c |    7 +++++++
 lib/netlink-socket.h |    2 ++
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/lib/netlink-socket.c b/lib/netlink-socket.c
index 24e6848..979da57 100644
--- a/lib/netlink-socket.c
+++ b/lib/netlink-socket.c
@@ -667,6 +667,13 @@ nl_sock_wait(const struct nl_sock *sock, short int events)
 {
     poll_fd_wait(sock->fd, events);
 }
+
+/* Returns the PID associated with this socket. */
+uint32_t
+nl_sock_pid(const struct nl_sock *sock)
+{
+    return sock->pid;
+}
 
 /* Miscellaneous.  */
 
diff --git a/lib/netlink-socket.h b/lib/netlink-socket.h
index 3ea790c..ff24858 100644
--- a/lib/netlink-socket.h
+++ b/lib/netlink-socket.h
@@ -60,6 +60,8 @@ int nl_sock_drain(struct nl_sock *);
 
 void nl_sock_wait(const struct nl_sock *, short int events);
 
+uint32_t nl_sock_pid(const struct nl_sock *);
+
 /* Table dumping. */
 struct nl_dump {
     struct nl_sock *sock;       /* Socket being dumped. */
-- 
1.7.4.1

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to