[dpdk-dev,1/4] testpmd: Add support to configure 25G and 50G speeds

Message ID 20160929170335.GA52221@C02PT1RBG8WP.aus.broadcom.com (mailing list archive)
State Changes Requested, archived
Headers

Commit Message

Ajit Khaparde Sept. 29, 2016, 5:03 p.m. UTC
  Support to configure 25G and 50G speeds is missing from testpmd.
This patch also updates the testpmd user guide accordingly.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 app/test-pmd/cmdline.c                      | 14 +++++++++-----
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  2 +-
 2 files changed, 10 insertions(+), 6 deletions(-)
  

Comments

Ferruh Yigit Oct. 10, 2016, 3:01 p.m. UTC | #1
Hi Ajit,

On 9/29/2016 6:03 PM, Ajit Khaparde wrote:
> Support to configure 25G and 50G speeds is missing from testpmd.
> This patch also updates the testpmd user guide accordingly.
> 
> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>

This patch seems not really part of the patchset for bnxt driver, but
standalone testpmd only modification, and can be threaded as single patch.

I am adding testpmd maintainer to cc.

Thanks,
ferruh
  
Ajit Khaparde Oct. 10, 2016, 6:40 p.m. UTC | #2
On Mon, Oct 10, 2016 at 10:01 AM, Ferruh Yigit <ferruh.yigit@intel.com>
wrote:

> Hi Ajit,
>
> On 9/29/2016 6:03 PM, Ajit Khaparde wrote:
> > Support to configure 25G and 50G speeds is missing from testpmd.
> > This patch also updates the testpmd user guide accordingly.
> >
> > Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
>
> This patch seems not really part of the patchset for bnxt driver, but
> standalone testpmd only modification,
> ​​
> and can be threaded as single patch.
>
​OK. Got it.
I had worked on this change in the middle of other things.
​So it got bundled along with other bnxt patches.


>
> I am adding testpmd maintainer to cc.
>
​Let me know if you want me to send it again as a standalone patch.

Thanks​


>
> Thanks,
> ferruh
>
>
  
De Lara Guarch, Pablo Oct. 12, 2016, 1:24 a.m. UTC | #3
Hi,

> From: Ajit Khaparde [mailto:ajit.khaparde@broadcom.com]

> Sent: Monday, October 10, 2016 11:41 AM

> To: Yigit, Ferruh

> Cc: dev@dpdk.org; De Lara Guarch, Pablo

> Subject: Re: [dpdk-dev] [PATCH 1/4] testpmd: Add support to configure 25G

> and 50G speeds

> 

> On Mon, Oct 10, 2016 at 10:01 AM, Ferruh Yigit <ferruh.yigit@intel.com>

> wrote:

> Hi Ajit,

> 

> On 9/29/2016 6:03 PM, Ajit Khaparde wrote:

> > Support to configure 25G and 50G speeds is missing from testpmd.

> > This patch also updates the testpmd user guide accordingly.

> >

> > Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>

> 

> This patch seems not really part of the patchset for bnxt driver, but

> standalone testpmd only modification,

> ​​

> and can be threaded as single patch.

> ​OK. Got it.

> I had worked on this change in the middle of other things.

> ​So it got bundled along with other bnxt patches.

> 

> 

> I am adding testpmd maintainer to cc.

> ​Let me know if you want me to send it again as a standalone patch.


Yes, I think it is a good idea.
Apart from that, there are a couple of things to fix:

There are two lines that exceed the character limit (from checkpatch):
WARNING: line over 80 characters
#55: FILE: app/test-pmd/cmdline.c:1084:
+       .help_str = "port config all speed 10|100|1000|10000|25000|40000|50000|100000|auto duplex "

WARNING: line over 80 characters
#73: FILE: app/test-pmd/cmdline.c:1159:
+       .help_str = "port config X speed 10|100|1000|10000|25000|40000|50000|100000|auto duplex "

check-git-log.sh complains about the title:

Wrong headline label:
        testpmd: Add support to configure 25G and 50G speeds
Wrong headline uppercase:
        testpmd: Add support to configure 25G and 50G speeds

Title should be "app/testpmd: add ...."

Could you send a separate v2 with this changes?
And probably change the bnxt patchset to 3 patches only.

Thanks,
Pablo
  

Patch

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 17d238f..6ffa771 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -545,7 +545,7 @@  static void cmd_help_long_parsed(void *parsed_result,
 			"    Detach physical or virtual dev by port_id\n\n"
 
 			"port config (port_id|all)"
-			" speed (10|100|1000|10000|40000|100000|auto)"
+			" speed (10|100|1000|10000|25000|40000|50000|100000|auto)"
 			" duplex (half|full|auto)\n"
 			"    Set speed and duplex for all ports or port_id\n\n"
 
@@ -1016,8 +1016,12 @@  parse_and_check_speed_duplex(char *speedstr, char *duplexstr, uint32_t *speed)
 			*speed = ETH_LINK_SPEED_1G;
 		} else if (!strcmp(speedstr, "10000")) {
 			*speed = ETH_LINK_SPEED_10G;
+		} else if (!strcmp(speedstr, "25000")) {
+			*speed = ETH_LINK_SPEED_25G;
 		} else if (!strcmp(speedstr, "40000")) {
 			*speed = ETH_LINK_SPEED_40G;
+		} else if (!strcmp(speedstr, "50000")) {
+			*speed = ETH_LINK_SPEED_50G;
 		} else if (!strcmp(speedstr, "100000")) {
 			*speed = ETH_LINK_SPEED_100G;
 		} else if (!strcmp(speedstr, "auto")) {
@@ -1067,7 +1071,7 @@  cmdline_parse_token_string_t cmd_config_speed_all_item1 =
 	TOKEN_STRING_INITIALIZER(struct cmd_config_speed_all, item1, "speed");
 cmdline_parse_token_string_t cmd_config_speed_all_value1 =
 	TOKEN_STRING_INITIALIZER(struct cmd_config_speed_all, value1,
-						"10#100#1000#10000#40000#100000#auto");
+						"10#100#1000#10000#25000#40000#50000#100000#auto");
 cmdline_parse_token_string_t cmd_config_speed_all_item2 =
 	TOKEN_STRING_INITIALIZER(struct cmd_config_speed_all, item2, "duplex");
 cmdline_parse_token_string_t cmd_config_speed_all_value2 =
@@ -1077,7 +1081,7 @@  cmdline_parse_token_string_t cmd_config_speed_all_value2 =
 cmdline_parse_inst_t cmd_config_speed_all = {
 	.f = cmd_config_speed_all_parsed,
 	.data = NULL,
-	.help_str = "port config all speed 10|100|1000|10000|40000|100000|auto duplex "
+	.help_str = "port config all speed 10|100|1000|10000|25000|40000|50000|100000|auto duplex "
 							"half|full|auto",
 	.tokens = {
 		(void *)&cmd_config_speed_all_port,
@@ -1141,7 +1145,7 @@  cmdline_parse_token_string_t cmd_config_speed_specific_item1 =
 								"speed");
 cmdline_parse_token_string_t cmd_config_speed_specific_value1 =
 	TOKEN_STRING_INITIALIZER(struct cmd_config_speed_specific, value1,
-						"10#100#1000#10000#40000#100000#auto");
+						"10#100#1000#10000#25000#40000#50000#100000#auto");
 cmdline_parse_token_string_t cmd_config_speed_specific_item2 =
 	TOKEN_STRING_INITIALIZER(struct cmd_config_speed_specific, item2,
 								"duplex");
@@ -1152,7 +1156,7 @@  cmdline_parse_token_string_t cmd_config_speed_specific_value2 =
 cmdline_parse_inst_t cmd_config_speed_specific = {
 	.f = cmd_config_speed_specific_parsed,
 	.data = NULL,
-	.help_str = "port config X speed 10|100|1000|10000|40000|100000|auto duplex "
+	.help_str = "port config X speed 10|100|1000|10000|25000|40000|50000|100000|auto duplex "
 							"half|full|auto",
 	.tokens = {
 		(void *)&cmd_config_speed_specific_port,
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index f87e0c2..e1eea34 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -1167,7 +1167,7 @@  port config - speed
 
 Set the speed and duplex mode for all ports or a specific port::
 
-   testpmd> port config (port_id|all) speed (10|100|1000|10000|40000|100000|auto) \
+   testpmd> port config (port_id|all) speed (10|100|1000|10000|25000|40000|50000|100000|auto) \
             duplex (half|full|auto)
 
 port config - queues/descriptors