lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Wed, 20 Apr 2016 20:57:42 +0000
From:	Elad Raz <eladr@...lanox.com>
To:	Roopa Prabhu <roopa@...ulusnetworks.com>
CC:	"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
	"jhs@...atatu.com" <jhs@...atatu.com>,
	"davem@...emloft.net" <davem@...emloft.net>,
	"tgraf@...g.ch" <tgraf@...g.ch>,
	"nicolas.dichtel@...nd.com" <nicolas.dichtel@...nd.com>,
	"nikolay@...ulusnetworks.com" <nikolay@...ulusnetworks.com>
Subject: Re: [PATCH net-next v6] rtnetlink: add new RTM_GETSTATS message to
 dump link stats


> On 20 Apr 2016, at 6:43 PM, Roopa Prabhu <roopa@...ulusnetworks.com> wrote:
> 
> From: Roopa Prabhu <roopa@...ulusnetworks.com>
> 
> This patch adds a new RTM_GETSTATS message to query link stats via netlink
> from the kernel. RTM_NEWLINK also dumps stats today, but RTM_NEWLINK
> returns a lot more than just stats and is expensive in some cases when
> frequent polling for stats from userspace is a common operation.
> 
> RTM_GETSTATS is an attempt to provide a light weight netlink message
> to explicity query only link stats from the kernel on an interface.
> The idea is to also keep it extensible so that new kinds of stats can be
> added to it in the future.
> 
> This patch adds the following attribute for NETDEV stats:
> struct nla_policy ifla_stats_policy[IFLA_STATS_MAX + 1] = {
>        [IFLA_STATS_LINK_64]  = { .len = sizeof(struct rtnl_link_stats64) },
> };
> 
> Like any other rtnetlink message, RTM_GETSTATS can be used to get stats of
> a single interface or all interfaces with NLM_F_DUMP.
> 
> Future possible new types of stat attributes:
> link af stats:
>    - IFLA_STATS_LINK_IPV6  (nested. for ipv6 stats)
>    - IFLA_STATS_LINK_MPLS  (nested. for mpls/mdev stats)
> extended stats:
>    - IFLA_STATS_LINK_EXTENDED (nested. extended software netdev stats like bridge,
>      vlan, vxlan etc)
>    - IFLA_STATS_LINK_HW_EXTENDED (nested. extended hardware stats which are
>      available via ethtool today)

I think that it’s better to have IFLA_STATS_LINK_CPU_ONLY attribute. The default stat should be aggregation of HW only packets and packets that got trapped to CPU together.

> 
> This patch also declares a filter mask for all stat attributes.
> User has to provide a mask of stats attributes to query. filter mask
> can be specified in the new hdr 'struct if_stats_msg' for stats messages.
> Other important field in the header is the ifindex.
> 
> This api can also include attributes for global stats (eg tcp) in the future.
> When global stats are included in a stats msg, the ifindex in the header
> must be zero. A single stats message cannot contain both global and
> netdev specific stats. To easily distinguish them, netdev specific stat
> attributes name are prefixed with IFLA_STATS_LINK_
> 
> Without any attributes in the filter_mask, no stats will be returned.
> 
> This patch has been tested with mofified iproute2 ifstat.
> 
> Suggested-by: Jamal Hadi Salim <jhs@...atatu.com>
> Signed-off-by: Roopa Prabhu <roopa@...ulusnetworks.com>

Nice work! Thank you Roopa!

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ