summaryrefslogtreecommitdiff
path: root/include/net/neighbour.h
diff options
context:
space:
mode:
authorRoopa Prabhu <roopa@cumulusnetworks.com>2017-03-20 08:01:28 +0300
committerDavid S. Miller <davem@davemloft.net>2017-03-22 20:48:49 +0300
commit7b8f7a402d4cfc3a1361a2766066127f9bccadc4 (patch)
treeb44eafb94e7ea3bb32b4bb234746716cc5c535b2 /include/net/neighbour.h
parent7ada7ca562714632d0fc9abb24e27cab67bdbf0d (diff)
downloadlinux-7b8f7a402d4cfc3a1361a2766066127f9bccadc4.tar.xz
neighbour: fix nlmsg_pid in notifications
neigh notifications today carry pid 0 for nlmsg_pid in all cases. This patch fixes it to carry calling process pid when available. Applications (eg. quagga) rely on nlmsg_pid to ignore notifications generated by their own netlink operations. This patch follows the routing subsystem which already sets this correctly. Reported-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/neighbour.h')
-rw-r--r--include/net/neighbour.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/net/neighbour.h b/include/net/neighbour.h
index 5ebf69491160..9496179c7b4e 100644
--- a/include/net/neighbour.h
+++ b/include/net/neighbour.h
@@ -314,7 +314,8 @@ static inline struct neighbour *neigh_create(struct neigh_table *tbl,
}
void neigh_destroy(struct neighbour *neigh);
int __neigh_event_send(struct neighbour *neigh, struct sk_buff *skb);
-int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new, u32 flags);
+int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new, u32 flags,
+ u32 nlmsg_pid);
void __neigh_set_probe_once(struct neighbour *neigh);
void neigh_changeaddr(struct neigh_table *tbl, struct net_device *dev);
int neigh_ifdown(struct neigh_table *tbl, struct net_device *dev);