udp_diag: implement idiag_get_info for udp/udplite to get queue information
Subsystems (2)
PATCH 1/1 udp_diag: implement idiag_get_info for udp/udplite to get queue information
From: Shan Wei <[email protected]>
When we use netlink to monitor queue information for udp socket, idiag_rqueue and idiag_wqueue of inet_diag_msg are returned with 0.
Keep consistent with netstat, just return back allocated rmem/wmem size.
--- net/ipv4/inet_diag.c | 2 +- net/ipv4/udp_diag.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletions(-)
net/ipv4/inet_diag.c +1 -1
@@ -141,7 +141,7 @@ int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk, goto rtattr_failure;if (icsk ==NULL ) { - r->idiag_rqueue = r->idiag_wqueue =0 ; + handler->idiag_get_info (sk, r,NULL ); goto out; }
net/ipv4/udp_diag.c +9 -0
@@ -146,9 +146,17 @@ static int udp_diag_dump_one(struct sk_buff *in_skb, const struct nlmsghdr *nlh,return udp_dump_one (&udp_table, in_skb, nlh, req); } +static void udp_diag_get_info (struct sock *sk,struct inet_diag_msg *r, +void *info) +{ + r->idiag_rqueue =sk_rmem_alloc_get (sk); + r->idiag_wqueue =sk_wmem_alloc_get (sk); +} +static const struct inet_diag_handler udp_diag_handler = { .dump = udp_diag_dump, .dump_one = udp_diag_dump_one, + .idiag_get_info = udp_diag_get_info, .idiag_type =IPPROTO_UDP , };
@@ -167,6 +175,7 @@ static int udplite_diag_dump_one(struct sk_buff *in_skb, const struct nlmsghdr *static const struct inet_diag_handler udplite_diag_handler = { .dump = udplite_diag_dump, .dump_one = udplite_diag_dump_one, + .idiag_get_info = udp_diag_get_info, .idiag_type =IPPROTO_UDPLITE , };
Signature · 1 line
1.7.1
Quoted 8 lines · Shan Wei
From: Shan Wei <[email protected]>
When we use netlink to monitor queue information for udp socket,
idiag_rqueueandidiag_wqueueofinet_diag_msgare returned with 0.Keep consistent with netstat, just return back allocated rmem/wmem size.
Signed-off-by Shan Wei <[email protected]>
From: Pavel Emelyanov <[email protected]>
Date: Wed, 25 Apr 2012 16:28:31 +0400
Quoted 11 lines · Shan Wei
Quoted 8 lines
From: Shan Wei <[email protected]>
When we use netlink to monitor queue information for udp socket,
idiag_rqueueandidiag_wqueueofinet_diag_msgare returned with 0.Keep consistent with netstat, just return back allocated rmem/wmem size.
Signed-off-by Shan Wei <[email protected]>Acked-by Pavel Emelyanov <[email protected]>
Applied, thanks.