ifstat: Add "sw only" extended statistics to ifstat

Add support for extended statistics of SW only type, for counting only the
packets that went via the cpu. (useful for systems with forward
offloading). It reads it from filter type IFLA_STATS_LINK_OFFLOAD_XSTATS
and sub type IFLA_OFFLOAD_XSTATS_CPU_HIT.

It is under the name 'cpu_hits'
(or any shorten of it as 'cpu' or simply 'c')

For example:
ifstat -x c

Signed-off-by: Nogah Frankel <nogahf@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
This commit is contained in:
Nogah Frankel 2017-01-26 14:44:40 +02:00 committed by Stephen Hemminger
parent 5a52102b7c
commit 1c2df61344
1 changed files with 3 additions and 1 deletions

View File

@ -729,7 +729,8 @@ static int verify_forging(int fd)
static void xstat_usage(void)
{
fprintf(stderr,
"Usage: ifstat supported xstats:\n");
"Usage: ifstat supported xstats:\n"
" cpu_hits Counts only packets that went via the CPU.\n");
}
struct extended_stats_options_t {
@ -743,6 +744,7 @@ struct extended_stats_options_t {
* Name length must be under 64 chars.
*/
static const struct extended_stats_options_t extended_stats_options[] = {
{"cpu_hits", IFLA_STATS_LINK_OFFLOAD_XSTATS, IFLA_OFFLOAD_XSTATS_CPU_HIT},
};
static const char *get_filter_type(const char *name)