aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Loeliger <jdl@netgate.com>2018-03-02 13:05:12 -0600
committerDamjan Marion <dmarion.lists@gmail.com>2018-03-03 10:16:39 +0000
commit258fefd92fc2f451f7f0248c85542b0ee40c7302 (patch)
tree35fecbbd1994381d0c398b5ae126d160a8d51590
parentdcde92743ee012d105e4fd0863706642d2079e11 (diff)
netlink: Use nl_pid 0 to play nice with others.
While the netlink field is named nl_pid, and typically contains a process id, setting it to a pid value directly prevents other modules from also using a netlink socket. On the other hand, setting it to 0 allows multiple modules to use a netlink socket by letting the kernel assign the nl_pid a value. This allows the verito tap code to interact nicely with the router plugin's librtnl after, say, tap-inject has been enabled. Change-Id: I9771929f34d15497a5f7b8c5fd78dac28e31383b Signed-off-by: Jon Loeliger <jdl@netgate.com>
-rw-r--r--src/vnet/devices/netlink.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vnet/devices/netlink.c b/src/vnet/devices/netlink.c
index 8346b1c77ea..1d44f287bdc 100644
--- a/src/vnet/devices/netlink.c
+++ b/src/vnet/devices/netlink.c
@@ -76,7 +76,7 @@ vnet_netlink_msg_send (vnet_netlink_msg_t * m)
return clib_error_return_unix (0, "socket(AF_NETLINK)");
ra.nl_family = AF_NETLINK;
- ra.nl_pid = getpid ();
+ ra.nl_pid = 0;
if ((bind (sock, (struct sockaddr *) &ra, sizeof (ra))) == -1)
{