On 10/17/2018 5:24 PM, Iremonger, Bernard wrote: > Hi Raslan, > >> -----Original Message----- >> From: Raslan Darawsheh [mailto:rasl...@mellanox.com] >> Sent: Wednesday, October 17, 2018 4:22 PM >> To: Wu, Jingjing <jingjing...@intel.com> >> Cc: tho...@monjalon.net; dev@dpdk.org; shah...@mellanox.com; >> rasl...@mellanox.com; xuemi...@mellanox.com; or...@mellanox.com; >> jerin.ja...@caviumnetworks.com; david.march...@6wind.com; Iremonger, >> Bernard <bernard.iremon...@intel.com>; Yigit, Ferruh <ferruh.yi...@intel.com> >> Subject: [PATCH v6 3/3] app/testpmd: set packet dump based on verbosity level >> >> when changing verbosity level it will configure rx/tx callbacks to dump >> packets >> based on the verbosity value as following: >> 1- dump only received packets: >> testpmd> set verbose 1 >> 2- dump only sent packets: >> testpmd> set verbose 2 >> 3- dump sent and received packets: >> testpmd> set verbose (any number > 2) >> 4- disable dump >> testpmd> set verbose 0 >> >> Signed-off-by: Raslan Darawsheh <rasl...@mellanox.com> >> Acked-by: Bernard Iremonger <bernard.iremon...@intel.com> >> >> --- >> changes in v6: >> add documentation for the packet dump >> --- >> --- >> app/test-pmd/config.c | 25 +++++++++++++++++++++++++ >> app/test-pmd/testpmd.c | 4 ++-- >> app/test-pmd/testpmd.h | 1 + >> doc/guides/testpmd_app_ug/testpmd_funcs.rst | 6 +++++- >> 4 files changed, 33 insertions(+), 3 deletions(-) >> >> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index >> 55fec7f..1696623 100644 >> --- a/app/test-pmd/config.c >> +++ b/app/test-pmd/config.c >> @@ -50,6 +50,7 @@ >> #endif >> #include <rte_gro.h> >> #include <cmdline_parse_etheraddr.h> >> +#include <rte_config.h> >> >> #include "testpmd.h" >> >> @@ -2773,11 +2774,35 @@ remove_tx_dump_callbacks(portid_t portid) } >> >> void >> +configure_rxtx_dump_callbacks(uint16_t verbose) { >> + portid_t portid; >> + >> +#ifndef RTE_ETHDEV_RXTX_CALLBACKS >> + TESTPMD_LOG(ERR, "setting rxtx callbacks is not enabled\n"); >> + return; >> +#endif >> + >> + RTE_ETH_FOREACH_DEV(portid) >> + { >> + if (verbose == 1 || verbose > 2) >> + add_rx_dump_callbacks(portid); >> + else >> + remove_rx_dump_callbacks(portid); >> + if (verbose >= 2) >> + add_tx_dump_callbacks(portid); >> + else >> + remove_tx_dump_callbacks(portid); >> + } >> +} >> + >> +void >> set_verbose_level(uint16_t vb_level) >> { >> printf("Change verbose level from %u to %u\n", >> (unsigned int) verbose_level, (unsigned int) vb_level); >> verbose_level = vb_level; >> + configure_rxtx_dump_callbacks(verbose_level); >> } >> >> void >> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index >> 5dbbf78..3c42924 100644 >> --- a/app/test-pmd/testpmd.c >> +++ b/app/test-pmd/testpmd.c >> @@ -1988,7 +1988,7 @@ start_port(portid_t pid) >> return -1; >> } >> } >> - >> + configure_rxtx_dump_callbacks(0); >> printf("Configuring Port %d (socket %u)\n", pi, >> port->socket_id); >> /* configure port */ >> @@ -2087,7 +2087,7 @@ start_port(portid_t pid) >> return -1; >> } >> } >> - >> + configure_rxtx_dump_callbacks(verbose_level); >> /* start port */ >> if (rte_eth_dev_start(pi) < 0) { >> printf("Fail to start port %d\n", pi); diff --git >> a/app/test- >> pmd/testpmd.h b/app/test-pmd/testpmd.h index c07bee8..3da728c 100644 >> --- a/app/test-pmd/testpmd.h >> +++ b/app/test-pmd/testpmd.h >> @@ -777,6 +777,7 @@ void add_rx_dump_callbacks(portid_t portid); void >> remove_rx_dump_callbacks(portid_t portid); void >> add_tx_dump_callbacks(portid_t portid); void >> remove_tx_dump_callbacks(portid_t portid); >> +void configure_rxtx_dump_callbacks(uint16_t verbose); >> >> /* >> * Work-around of a compilation error with ICC on invocations of the diff >> --git >> a/doc/guides/testpmd_app_ug/testpmd_funcs.rst >> b/doc/guides/testpmd_app_ug/testpmd_funcs.rst >> index ca060e1..60855c6 100644 >> --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst >> +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst >> @@ -449,7 +449,11 @@ Set the debug verbosity level:: >> >> testpmd> set verbose (level) >> >> -Currently the only available levels are 0 (silent except for error) and 1 >> (fully >> verbose). >> +Available levels are as following: >> +* ``0`` silent except for error. >> +* ``1`` fully verbose except for Tx packets. >> +* ``2`` fully verbose except for Rx packets. >> +* ``> 2`` fully verbose. >> > > The html output is probably not what you intended: > > Available levels are as following: * 0 silent except for error. * 1 fully > verbose except for Tx packets. * 2 fully verbose except for Rx packets. * > 2 > fully verbose. > > A blank line is needed between each line.
You a right, output is broken. I updated in the tree, just one blank line before list seems did the work. Raslan can you please confirm the latest doc in the tree? > >> set log >> ~~~~~~~ >> -- >> 2.7.4 > > Regards, > > Bernard. > >