[dpdk-dev] [PATCH v5] app/testpmd: supported offload capabilities query
De Lara Guarch, Pablo
pablo.de.lara.guarch at intel.com
Fri Jan 13 09:43:16 CET 2017
Hi Qiming,
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Qiming Yang
> Sent: Thursday, January 12, 2017 3:26 AM
> To: dev at dpdk.org
> Cc: Yang, Qiming
> Subject: [dpdk-dev] [PATCH v5] app/testpmd: supported offload capabilities
> query
>
> Add two new commands "show port cap <port>" and "show
> port cap all"to diaplay what offload capabilities supported
> in ports. It will not only display all the capabilities of
> the port, but also the enabling condition for each capability
> in the running time.
>
> Signed-off-by: Qiming Yang <qiming.yang at intel.com>
> Acked-by: Jingjing Wu <jingjing.wu at intel.com>
> Acked-by: Beilei Xing <beilei.xing at intel.com>
> ---
> v2 changes:
> * fixed the output style as Ferruh's patch show and add some
> description in docs for new functions.
> v3 changes:
> * add new command in cmd_help_long_parsed.
> v4 changes:
> * use 'cap' instead of 'capa'.
> v5 changes:
> * rebased, fixed the inappropriate expression and adjusted the
> output order.
> ---
> ---
> app/test-pmd/cmdline.c | 17 ++-
> app/test-pmd/config.c | 175
> ++++++++++++++++++++++++++++
> app/test-pmd/testpmd.h | 1 +
> doc/guides/testpmd_app_ug/testpmd_funcs.rst | 12 +-
> 4 files changed, 195 insertions(+), 10 deletions(-)
>
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
> index 4e8b0d8..6fa1783 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
...
> cmdline_parse_token_string_t cmd_showportall_show =
> @@ -5821,13 +5824,14 @@ cmdline_parse_token_string_t
> cmd_showportall_port =
> TOKEN_STRING_INITIALIZER(struct cmd_showportall_result, port,
> "port");
> cmdline_parse_token_string_t cmd_showportall_what =
> TOKEN_STRING_INITIALIZER(struct cmd_showportall_result, what,
> -
> "info#stats#xstats#fdir#stat_qmap#dcb_tc");
> +
> "info#stats#xstats#fdir#stat_qmap#dcb_tc#cap");
> cmdline_parse_token_string_t cmd_showportall_all =
> TOKEN_STRING_INITIALIZER(struct cmd_showportall_result, all,
> "all");
> cmdline_parse_inst_t cmd_showportall = {
> .f = cmd_showportall_parsed,
> .data = NULL,
> - .help_str = "show|clear port
> info|stats|xstats|fdir|stat_qmap|dcb_tc all",
> + .help_str = "show|clear port"
Missing space after "port"
> + "info|stats|xstats|fdir|stat_qmap|dcb_tc|cap all",
> .tokens = {
> (void *)&cmd_showportall_show,
> (void *)&cmd_showportall_port,
> @@ -5867,6 +5871,8 @@ static void cmd_showport_parsed(void
> *parsed_result,
> nic_stats_mapping_display(res->portnum);
> else if (!strcmp(res->what, "dcb_tc"))
> port_dcb_info_display(res->portnum);
> + else if (!strcmp(res->what, "cap"))
> + port_offload_cap_display(res->portnum);
> }
>
> cmdline_parse_token_string_t cmd_showport_show =
> @@ -5876,14 +5882,15 @@ cmdline_parse_token_string_t
> cmd_showport_port =
> TOKEN_STRING_INITIALIZER(struct cmd_showport_result, port,
> "port");
> cmdline_parse_token_string_t cmd_showport_what =
> TOKEN_STRING_INITIALIZER(struct cmd_showport_result, what,
> -
> "info#stats#xstats#fdir#stat_qmap#dcb_tc");
> +
> "info#stats#xstats#fdir#stat_qmap#dcb_tc#cap");
> cmdline_parse_token_num_t cmd_showport_portnum =
> TOKEN_NUM_INITIALIZER(struct cmd_showport_result, portnum,
> UINT8);
>
> cmdline_parse_inst_t cmd_showport = {
> .f = cmd_showport_parsed,
> .data = NULL,
> - .help_str = "show|clear port
> info|stats|xstats|fdir|stat_qmap|dcb_tc "
> + .help_str = "show|clear port"
Missing space after "port".
Also, add a tab in the following line to be consistent with
the help_str of the next command.
> + "info|stats|xstats|fdir|stat_qmap|dcb_tc|cap "
> "<port_id>",
> .tokens = {
> (void *)&cmd_showport_show,
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> index 617e6d4..8a2ef56 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
...
> +
> + if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TCP_CKSUM) {
> + printf("RX TCP checksum: ");
> + if (dev->data->dev_conf.rxmode.hw_ip_checksum)
> + printf("on\n");
> + else
> + printf("off\n");
> + }
> +
> + if (dev_info.rx_offload_capa &
> DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM)
> + printf("RX Outer IPv4 checksum: ");
Missing on/off?
> +
> + if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TCP_LRO) {
> + printf("Large receive offload: ");
> + if (dev->data->dev_conf.rxmode.enable_lro)
> + printf("on\n");
> + else
> + printf("off\n");
> + }
Thanks for this nice patch.
Pablo
More information about the dev
mailing list