[dpdk-dev] [PATCH v6 3/3] app/testpmd: set packet dump based on verbosity level
Raslan Darawsheh
rasland at mellanox.com
Thu Oct 18 10:19:02 CEST 2018
Hi,
> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit at intel.com>
> Sent: Wednesday, October 17, 2018 7:33 PM
> To: Iremonger, Bernard <bernard.iremonger at intel.com>; Raslan Darawsheh
> <rasland at mellanox.com>; Wu, Jingjing <jingjing.wu at intel.com>
> Cc: Thomas Monjalon <thomas at monjalon.net>; dev at dpdk.org; Shahaf
> Shuler <shahafs at mellanox.com>; Xueming(Steven) Li
> <xuemingl at mellanox.com>; Ori Kam <orika at mellanox.com>;
> jerin.jacob at caviumnetworks.com; david.marchand at 6wind.com
> Subject: Re: [PATCH v6 3/3] app/testpmd: set packet dump based on
> verbosity level
>
> On 10/17/2018 5:24 PM, Iremonger, Bernard wrote:
> > Hi Raslan,
> >
> >> -----Original Message-----
> >> From: Raslan Darawsheh [mailto:rasland at mellanox.com]
> >> Sent: Wednesday, October 17, 2018 4:22 PM
> >> To: Wu, Jingjing <jingjing.wu at intel.com>
> >> Cc: thomas at monjalon.net; dev at dpdk.org; shahafs at mellanox.com;
> >> rasland at mellanox.com; xuemingl at mellanox.com; orika at mellanox.com;
> >> jerin.jacob at caviumnetworks.com; david.marchand at 6wind.com;
> Iremonger,
> >> Bernard <bernard.iremonger at intel.com>; Yigit, Ferruh
> >> <ferruh.yigit at 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 <rasland at mellanox.com>
> >> Acked-by: Bernard Iremonger <bernard.iremonger at 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?
I see it's merged in dpdk-next/master but, it doesn't have the missing blank lines.
>
> >
> >> set log
> >> ~~~~~~~
> >> --
> >> 2.7.4
> >
> > Regards,
> >
> > Bernard.
> >
> >
Kindest regards,
Raslan Darawsheh
More information about the dev
mailing list