app/procinfo: dump DPDK version

Add support for dump dpdk version.

The command is like:
dpdk-proc-info -a xxxx:xx:xx.x --file-prefix=xxx -- --version

Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
This commit is contained in:
Min Hu (Connor) 2022-10-11 19:18:36 +08:00 committed by David Marchand
parent 797f2f510c
commit 4778a8ec8b
2 changed files with 22 additions and 2 deletions

View File

@ -39,6 +39,7 @@
#include <rte_cryptodev.h>
#include <rte_tm.h>
#include <rte_hexdump.h>
#include <rte_version.h>
/* Maximum long option length for option parsing. */
#define MAX_LONG_OPT_SZ 64
@ -102,6 +103,8 @@ static char *mempool_iter_name;
/* Enable dump regs. */
static uint32_t enable_dump_regs;
static char *dump_regs_file_prefix;
/* Enable show DPDK version. */
static uint32_t enable_shw_version;
/* display usage */
static void
@ -130,6 +133,7 @@ proc_info_usage(const char *prgname)
" --show-crypto: to display crypto information\n"
" --show-ring[=name]: to display ring information\n"
" --show-mempool[=name]: to display mempool information\n"
" --version: to display DPDK version\n"
" --iter-mempool=name: iterate mempool elements to display content\n"
" --dump-regs=file-prefix: dump registers to file with the file-prefix\n",
prgname);
@ -242,6 +246,7 @@ proc_info_parse_args(int argc, char **argv)
{"show-mempool", optional_argument, NULL, 0},
{"iter-mempool", required_argument, NULL, 0},
{"dump-regs", required_argument, NULL, 0},
{"version", 0, NULL, 0},
{NULL, 0, 0, 0}
};
@ -313,7 +318,9 @@ proc_info_parse_args(int argc, char **argv)
"dump-regs", MAX_LONG_OPT_SZ)) {
enable_dump_regs = 1;
dump_regs_file_prefix = optarg;
}
} else if (!strncmp(long_option[option_index].name,
"version", MAX_LONG_OPT_SZ))
enable_shw_version = 1;
break;
case 1:
/* Print xstat single value given by name*/
@ -1476,6 +1483,14 @@ dump_regs(char *file_prefix)
}
}
static void
show_version(void)
{
snprintf(bdr_str, MAX_STRING_LEN, " show - DPDK version ");
STATS_BDR_STR(10, bdr_str);
printf("DPDK version: %s\n", rte_version());
}
int
main(int argc, char **argv)
{
@ -1589,6 +1604,8 @@ main(int argc, char **argv)
iter_mempool(mempool_iter_name);
if (enable_dump_regs)
dump_regs(dump_regs_file_prefix);
if (enable_shw_version)
show_version();
RTE_ETH_FOREACH_DEV(i)
rte_eth_dev_close(i);

View File

@ -20,7 +20,7 @@ The application has a number of command line options:
./<build_dir>/app/dpdk-proc-info -- -m | [-p PORTMASK] [--stats | --xstats |
--stats-reset | --xstats-reset] [ --show-port | --show-tm | --show-crypto |
--show-ring[=name] | --show-mempool[=name] | --iter-mempool=name |
--show-port-private ]
--show-port-private | --version ]
Parameters
~~~~~~~~~~
@ -73,6 +73,9 @@ by name. For invalid or no mempool name no elements are displayed.
**--show-port-private**
The show-port-private parameter displays ports private information.
**--version**
The version parameter displays DPDK version.
Limitations
-----------