diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2013-04-25 10:53:53 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-04-29 21:21:30 +0400 |
commit | 76d0eeb1a1579453cfd7c4da22004d4b34187ab4 (patch) | |
tree | 86deb897a9bf6fe95b72634a7d413abbd1780629 | |
parent | 626419038a3e4a1f61119a4af08d01415961eb4e (diff) | |
download | linux-76d0eeb1a1579453cfd7c4da22004d4b34187ab4.tar.xz |
packet_diag: disclose meminfo values
sk_rmem_alloc is disclosed via /proc/net/packet but not via netlink messages.
The goal is to have the same level of information.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/uapi/linux/packet_diag.h | 2 | ||||
-rw-r--r-- | net/packet/diag.c | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/uapi/linux/packet_diag.h b/include/uapi/linux/packet_diag.h index 84f83a47b6f6..c0802c18c8ad 100644 --- a/include/uapi/linux/packet_diag.h +++ b/include/uapi/linux/packet_diag.h @@ -16,6 +16,7 @@ struct packet_diag_req { #define PACKET_SHOW_MCLIST 0x00000002 /* A set of packet_diag_mclist-s */ #define PACKET_SHOW_RING_CFG 0x00000004 /* Rings configuration parameters */ #define PACKET_SHOW_FANOUT 0x00000008 +#define PACKET_SHOW_MEMINFO 0x00000010 struct packet_diag_msg { __u8 pdiag_family; @@ -33,6 +34,7 @@ enum { PACKET_DIAG_TX_RING, PACKET_DIAG_FANOUT, PACKET_DIAG_UID, + PACKET_DIAG_MEMINFO, __PACKET_DIAG_MAX, }; diff --git a/net/packet/diag.c b/net/packet/diag.c index 04c8219a2d06..822fe9b33a49 100644 --- a/net/packet/diag.c +++ b/net/packet/diag.c @@ -166,6 +166,10 @@ static int sk_diag_fill(struct sock *sk, struct sk_buff *skb, pdiag_put_fanout(po, skb)) goto out_nlmsg_trim; + if ((req->pdiag_show & PACKET_SHOW_MEMINFO) && + sock_diag_put_meminfo(sk, skb, PACKET_DIAG_MEMINFO)) + goto out_nlmsg_trim; + return nlmsg_end(skb, nlh); out_nlmsg_trim: |