Thread (23 messages) 23 messages, 7 authors, 2017-01-30

Re: [PATCH v5] app/testpmd: supported offload capabilities query

From: Yang, Qiming <hidden>
Date: 2017-01-13 09:40:29

Hi, Pablo

-----Original Message-----
From: De Lara Guarch, Pablo 
Sent: Friday, January 13, 2017 4:43 PM
To: Yang, Qiming <redacted>; dev@dpdk.org
Cc: Yang, Qiming <redacted>
Subject: RE: [dpdk-dev] [PATCH v5] app/testpmd: supported offload capabilities query

Hi Qiming,
quoted hunk ↗ jump to hunk
-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qiming Yang
Sent: Thursday, January 12, 2017 3:26 AM
To: dev@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 <redacted>
Acked-by: Jingjing Wu <redacted>
Acked-by: Beilei Xing <redacted>
---
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"
quoted hunk ↗ jump to hunk
+	"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.
quoted hunk ↗ jump to hunk
+		"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?
Qiming: I didn't find any switch for this feature in DPDK now. I'll fix the format problem. Thank you.
+
+	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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help