[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:47:36 CEST 2018


You are right about that my mistake. 

Kindest regards,
Raslan Darawsheh

> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit at intel.com>
> Sent: Thursday, October 18, 2018 11:34 AM
> To: Raslan Darawsheh <rasland at mellanox.com>; Iremonger, Bernard
> <bernard.iremonger at intel.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: [dpdk-dev] [PATCH v6 3/3] app/testpmd: set packet dump
> based on verbosity level
> 
> On 10/18/2018 9:19 AM, Raslan Darawsheh wrote:
> > 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.
> 
> In repo it is:
> 
> "
>  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.
> "
> 
> In original patch:
> "
>  +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.
> "
> 
> Please, compile both and observe the difference.
> 
> >
> >>
> >>>
> >>>>  set log
> >>>>  ~~~~~~~
> >>>> --
> >>>> 2.7.4
> >>>
> >>> Regards,
> >>>
> >>> Bernard.
> >>>
> >>>
> >
> >
> > Kindest regards,
> > Raslan Darawsheh
> >



More information about the dev mailing list