diff options
author | Jakub Kicinski <kuba@kernel.org> | 2020-10-18 14:31:48 -0700 |
---|---|---|
committer | Michal Kubecek <mkubecek@suse.cz> | 2020-10-19 09:45:55 +0200 |
commit | 66ecd38ca8b4e6184af4c38c234a9dcfb6804a4a (patch) | |
tree | 9da5a03a8b2a0d84a7d53ac2a220c416107417ac | |
parent | d944e60dbeee28ef0c3581e6a90f2e3b75b1c8f7 (diff) | |
download | ethtool-66ecd38ca8b4e6184af4c38c234a9dcfb6804a4a.tar.gz |
add support for stats in subcommands
Add new parameters (-I | --include-statistics) which will
control requesting statistic dumps from the kernel.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
-rw-r--r-- | ethtool.8.in | 7 | ||||
-rw-r--r-- | ethtool.c | 8 | ||||
-rw-r--r-- | internal.h | 1 |
3 files changed, 16 insertions, 0 deletions
diff --git a/ethtool.8.in b/ethtool.8.in index 9beb1e5..429c75f 100644 --- a/ethtool.8.in +++ b/ethtool.8.in @@ -140,6 +140,9 @@ ethtool \- query or control network driver and hardware settings .B ethtool [--json] .I args .HP +.B ethtool [-I | --include-statistics] +.I args +.HP .B ethtool \-\-monitor [ .I command @@ -499,6 +502,10 @@ Output results in JavaScript Object Notation (JSON). Only a subset of options support this. Those which do not will continue to output plain text in the presence of this option. .TP +.B \-I \-\-include\-statistics +Include command-related statistics in the output. This option allows +displaying relevant device statistics for selected get commands. +.TP .B \-a \-\-show\-pause Queries the specified Ethernet device for pause parameter information. .TP @@ -6031,6 +6031,7 @@ static int show_usage(struct cmd_context *ctx __maybe_unused) fprintf(stdout, "FLAGS:\n"); fprintf(stdout, " --debug MASK turn on debugging messages\n"); fprintf(stdout, " --json enable JSON output format (not supported by all commands)\n"); + fprintf(stdout, " -I|--include-statistics request device statistics related to the command (not supported by all commands)\n"); return 0; } @@ -6291,6 +6292,13 @@ int main(int argc, char **argp) argc -= 1; continue; } + if (*argp && (!strcmp(*argp, "--include-statistics") || + !strcmp(*argp, "-I"))) { + ctx.show_stats = true; + argp += 1; + argc -= 1; + continue; + } break; } if (*argp && !strcmp(*argp, "--monitor")) { @@ -225,6 +225,7 @@ struct cmd_context { char **argp; /* arguments to the sub-command */ unsigned long debug; /* debugging mask */ bool json; /* Output JSON, if supported */ + bool show_stats; /* include command-specific stats */ #ifdef ETHTOOL_ENABLE_NETLINK struct nl_context *nlctx; /* netlink context (opaque) */ #endif |