diff options
author | Navdeep Parhar <np@FreeBSD.org> | 2012-10-10 20:09:19 +0000 |
---|---|---|
committer | Navdeep Parhar <np@FreeBSD.org> | 2012-10-10 20:09:19 +0000 |
commit | 7e226bdcd6efc28eaf50cbabe0dac539cb45c959 (patch) | |
tree | d4a6e4be5576b53982cec13d83182f627ad7da5e /tools | |
parent | 66887009ec9d7a66062b920cf9e66b5c269f67f3 (diff) | |
download | src-7e226bdcd6efc28eaf50cbabe0dac539cb45c959.tar.gz src-7e226bdcd6efc28eaf50cbabe0dac539cb45c959.zip |
Add a "clearstats" subcommand to cxgbetool that lets you clear the
MAC statistics for any port.
For example:
# cxgbetool t4nex0 clearstats 0
Submitted by: gnn@
MFC after: 3 days
Notes
Notes:
svn path=/head/; revision=241416
Diffstat (limited to 'tools')
-rw-r--r-- | tools/tools/cxgbetool/cxgbetool.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tools/tools/cxgbetool/cxgbetool.c b/tools/tools/cxgbetool/cxgbetool.c index 74ebd8c09f42..7d0faa66c77a 100644 --- a/tools/tools/cxgbetool/cxgbetool.c +++ b/tools/tools/cxgbetool/cxgbetool.c @@ -82,6 +82,7 @@ usage(FILE *fp) { fprintf(fp, "Usage: %s <nexus> [operation]\n", progname); fprintf(fp, + "\tclearstats <port> clear port statistics\n" "\tcontext <type> <id> show an SGE context\n" "\tfilter <idx> [<param> <val>] ... set a filter\n" "\tfilter <idx> delete|clear delete a filter\n" @@ -1578,6 +1579,28 @@ read_i2c(int argc, const char *argv[]) } static int +clearstats(int argc, const char *argv[]) +{ + char *p; + long l; + uint32_t port; + + if (argc != 1) { + warnx("incorrect number of arguments."); + return (EINVAL); + } + + p = str_to_number(argv[0], &l, NULL); + if (*p) { + warnx("invalid port id \"%s\"", argv[0]); + return (EINVAL); + } + port = l; + + return doit(CHELSIO_T4_CLEAR_STATS, &port); +} + +static int run_cmd(int argc, const char *argv[]) { int rc = -1; @@ -1605,6 +1628,8 @@ run_cmd(int argc, const char *argv[]) rc = read_tcb(argc, argv); else if (!strcmp(cmd, "i2c")) rc = read_i2c(argc, argv); + else if (!strcmp(cmd, "clearstats")) + rc = clearstats(argc, argv); else { rc = EINVAL; warnx("invalid command \"%s\"", cmd); |