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
| ||
|
Message-ID: <5709120D.9010107@mojatatu.com> Date: Sat, 9 Apr 2016 10:30:37 -0400 From: Jamal Hadi Salim <jhs@...atatu.com> To: Roopa Prabhu <roopa@...ulusnetworks.com>, netdev@...r.kernel.org Cc: davem@...emloft.net Subject: Re: [PATCH net-next v2 1/2] rtnetlink: add new RTM_GETSTATS message to dump link stats Thanks for doing the work Roopa and I apologize for late comments below: On 16-04-09 02:38 AM, Roopa Prabhu wrote: > From: Roopa Prabhu <roopa@...ulusnetworks.com> > > This patch also allows for af family stats (an example af stats for IPV6 > is available with the second patch in the series). > > 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: > - IFLA_MPLS_STATS (nested. for mpls/mdev stats) > - IFLA_EXTENDED_STATS (nested. extended software netdev stats like bridge, > vlan, vxlan etc) > - IFLA_EXTENDED_HW_STATS (nested. extended hardware stats which are > available via ethtool today) > I got the extended_hw_stats (which are very common in a lot of ASICS) if you mean stats on packet sizes. But would the other extended stats not just be per netdev kind specific? We have concept of XSTATS which maybe a fit. > This patch also declares a filter mask for all stat attributes. > User has to provide a mask of stats attributes to query. This will be > specified in a new hdr 'struct if_stats_msg' for stats messages. > > Without any attributes in the filter_mask, no stats will be returned. > Should such a command then not be rejected with an error code? > +/* STATS section */ > + > +struct if_stats_msg { > + __u8 family; > + __u32 ifindex; > + __u32 filter_mask; > +}; Needs to be 32 bit aligned. Do you need 32 bits for the filter mask? Perhaps a 16bit mask and an 8bit pad for future use. struct if_stats_msg { __u32 ifindex; __u16 filter_mask; __u8 family; __u8 pad; /* future use */ }; Or you could reverse those (from smallest to largest). BTW, any plans to do the cool feature where i inject a timeout period and i just get STATS events ;-> The filter struct would have to be more sophisticated - user would need to pass a list of ifindices and filter_mask as well as timeout. cheers, jamal
Powered by blists - more mailing lists