dcb: Add -s to enable statistics

Allow selective display of statistical counters by passing -s.

Signed-off-by: Petr Machata <me@pmachata.org>
Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
Petr Machata 2020-12-11 00:02:20 +01:00 committed by David Ahern
parent 11a72186a0
commit 6e9687db04
3 changed files with 13 additions and 2 deletions

View File

@ -310,7 +310,8 @@ static void dcb_help(void)
"Usage: dcb [ OPTIONS ] OBJECT { COMMAND | help }\n" "Usage: dcb [ OPTIONS ] OBJECT { COMMAND | help }\n"
" dcb [ -f | --force ] { -b | --batch } filename [ -N | --Netns ] netnsname\n" " dcb [ -f | --force ] { -b | --batch } filename [ -N | --Netns ] netnsname\n"
"where OBJECT := ets\n" "where OBJECT := ets\n"
" OPTIONS := [ -V | --Version | -j | --json | -p | --pretty | -v | --verbose ]\n"); " OPTIONS := [ -V | --Version | -j | --json | -p | --pretty\n"
" | -s | --statistics | -v | --verbose ]\n");
} }
static int dcb_cmd(struct dcb *dcb, int argc, char **argv) static int dcb_cmd(struct dcb *dcb, int argc, char **argv)
@ -346,6 +347,7 @@ int main(int argc, char **argv)
{ "batch", required_argument, NULL, 'b' }, { "batch", required_argument, NULL, 'b' },
{ "json", no_argument, NULL, 'j' }, { "json", no_argument, NULL, 'j' },
{ "pretty", no_argument, NULL, 'p' }, { "pretty", no_argument, NULL, 'p' },
{ "statistics", no_argument, NULL, 's' },
{ "Netns", required_argument, NULL, 'N' }, { "Netns", required_argument, NULL, 'N' },
{ "help", no_argument, NULL, 'h' }, { "help", no_argument, NULL, 'h' },
{ NULL, 0, NULL, 0 } { NULL, 0, NULL, 0 }
@ -363,7 +365,7 @@ int main(int argc, char **argv)
return EXIT_FAILURE; return EXIT_FAILURE;
} }
while ((opt = getopt_long(argc, argv, "b:fhjpvN:V", while ((opt = getopt_long(argc, argv, "b:fhjpsvN:V",
long_options, NULL)) >= 0) { long_options, NULL)) >= 0) {
switch (opt) { switch (opt) {
@ -383,6 +385,9 @@ int main(int argc, char **argv)
case 'p': case 'p':
pretty = true; pretty = true;
break; break;
case 's':
dcb->stats = true;
break;
case 'N': case 'N':
if (netns_switch(optarg)) { if (netns_switch(optarg)) {
ret = EXIT_FAILURE; ret = EXIT_FAILURE;

View File

@ -11,6 +11,7 @@ struct dcb {
char *buf; char *buf;
struct mnl_socket *nl; struct mnl_socket *nl;
bool json_output; bool json_output;
bool stats;
}; };
int dcb_parse_mapping(const char *what_key, __u32 key, __u32 max_key, int dcb_parse_mapping(const char *what_key, __u32 key, __u32 max_key,

View File

@ -51,6 +51,11 @@ Generate JSON output.
.BR "\-p" , " --pretty" .BR "\-p" , " --pretty"
When combined with -j generate a pretty JSON output. When combined with -j generate a pretty JSON output.
.TP
.BR "\-s" , " --statistics"
If the object in question contains any statistical counters, shown them as
part of the "show" output.
.SH OBJECTS .SH OBJECTS
.TP .TP