[dpdk-dev] [PATCH v6 3/3] app/testpmd: set packet dump based on verbosity level

Ferruh Yigit ferruh.yigit at intel.com
Wed Oct 17 18:33:24 CEST 2018


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?

> 
>>  set log
>>  ~~~~~~~
>> --
>> 2.7.4
> 
> Regards,
> 
> Bernard.
> 
> 



More information about the dev mailing list