summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/linux/rtnetlink.h1
-rw-r--r--net/core/neighbour.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h
index 3f5f66cc738f..d93abe3c9faa 100644
--- a/include/linux/rtnetlink.h
+++ b/include/linux/rtnetlink.h
@@ -446,6 +446,7 @@ enum
NDA_DST,
NDA_LLADDR,
NDA_CACHEINFO,
+ NDA_PROBES,
__NDA_MAX
};
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index 8b673c03a3cb..9eb332e495c9 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -1554,6 +1554,7 @@ static int neigh_fill_info(struct sk_buff *skb, struct neighbour *n,
unsigned char *b = skb->tail;
struct nda_cacheinfo ci;
int locked = 0;
+ u32 probes;
struct nlmsghdr *nlh = NLMSG_PUT(skb, pid, seq, event,
sizeof(struct ndmsg));
struct ndmsg *ndm = NLMSG_DATA(nlh);
@@ -1573,9 +1574,11 @@ static int neigh_fill_info(struct sk_buff *skb, struct neighbour *n,
ci.ndm_confirmed = now - n->confirmed;
ci.ndm_updated = now - n->updated;
ci.ndm_refcnt = atomic_read(&n->refcnt) - 1;
+ probes = atomic_read(&n->probes);
read_unlock_bh(&n->lock);
locked = 0;
RTA_PUT(skb, NDA_CACHEINFO, sizeof(ci), &ci);
+ RTA_PUT(skb, NDA_PROBES, sizeof(probes), &probes);
nlh->nlmsg_len = skb->tail - b;
return skb->len;