From patchwork Wed Apr 24 15:52:33 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Dichtel X-Patchwork-Id: 239250 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id BCFC62C00F5 for ; Thu, 25 Apr 2013 01:53:26 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932078Ab3DXPxR (ORCPT ); Wed, 24 Apr 2013 11:53:17 -0400 Received: from 33.106-14-84.ripe.coltfrance.com ([84.14.106.33]:54884 "EHLO proxy.6wind.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756641Ab3DXPxP (ORCPT ); Wed, 24 Apr 2013 11:53:15 -0400 Received: from schnaps.dev.6wind.com (unknown [10.16.0.249]) by proxy.6wind.com (Postfix) with ESMTPS id 2077F5986C; Wed, 24 Apr 2013 17:18:45 +0200 (CEST) Received: from root by schnaps.dev.6wind.com with local (Exim 4.80) (envelope-from ) id 1UV20R-00018O-5V; Wed, 24 Apr 2013 17:53:15 +0200 From: Nicolas Dichtel To: netdev@vger.kernel.org Cc: xiyou.wangcong@gmail.com, eric.dumazet@gmail.com, davem@davemloft.net, Nicolas Dichtel Subject: [PATCH net-next v2 2/5] packet_diag: disclose meminfo values Date: Wed, 24 Apr 2013 17:52:33 +0200 Message-Id: <1366818756-4234-3-git-send-email-nicolas.dichtel@6wind.com> X-Mailer: git-send-email 1.8.2.1 In-Reply-To: <1366818756-4234-1-git-send-email-nicolas.dichtel@6wind.com> References: <51779426.7020800@6wind.com> <1366818756-4234-1-git-send-email-nicolas.dichtel@6wind.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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 --- include/uapi/linux/packet_diag.h | 2 ++ net/packet/diag.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/include/uapi/linux/packet_diag.h b/include/uapi/linux/packet_diag.h index 84f83a4..c0802c1 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 04c8219..822fe9b 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: