* [PATCH] app/test-pmd : Add 2.5Gbps and 5Gbps support to test-pmd
@ 2023-05-17 23:16 julien_dpdk
2023-05-18 2:11 ` Stephen Hemminger
0 siblings, 1 reply; 2+ messages in thread
From: julien_dpdk @ 2023-05-17 23:16 UTC (permalink / raw)
To: dev; +Cc: Julien Aube
From: Julien Aube <julien_dpdk@jaube.fr>
Signed-off-by: Julien Aube <julien_dpdk@jaube.fr>
---
app/test-pmd/cmdline.c | 16 ++++++++++------
app/test-pmd/parameters.c | 6 ++++++
doc/guides/testpmd_app_ug/run_app.rst | 2 ++
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2 +-
4 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 7b20bef4e9..23309ee6e7 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -653,7 +653,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|25000|40000|50000|100000|200000|400000|auto)"
+ " speed (10|100|1000|2500|5000|10000|25000|40000|50000|100000|200000|400000|auto)"
" duplex (half|full|auto)\n"
" Set speed and duplex for all ports or port_id\n\n"
@@ -1344,7 +1344,11 @@ parse_and_check_speed_duplex(char *speedstr, char *duplexstr, uint32_t *speed)
}
if (!strcmp(speedstr, "1000")) {
*speed = RTE_ETH_LINK_SPEED_1G;
- } else if (!strcmp(speedstr, "10000")) {
+ } else if (!strcmp(speedstr, "2500")) {
+ *speed = RTE_ETH_LINK_SPEED_2_5G;
+ } else if (!strcmp(speedstr, "5000")) {
+ *speed = RTE_ETH_LINK_SPEED_5G;
+ } else if (!strcmp(speedstr, "10000")) {
*speed = RTE_ETH_LINK_SPEED_10G;
} else if (!strcmp(speedstr, "25000")) {
*speed = RTE_ETH_LINK_SPEED_25G;
@@ -1408,7 +1412,7 @@ static cmdline_parse_token_string_t cmd_config_speed_all_item1 =
TOKEN_STRING_INITIALIZER(struct cmd_config_speed_all, item1, "speed");
static cmdline_parse_token_string_t cmd_config_speed_all_value1 =
TOKEN_STRING_INITIALIZER(struct cmd_config_speed_all, value1,
- "10#100#1000#10000#25000#40000#50000#100000#200000#400000#auto");
+ "10#100#1000#2500#5000#10000#25000#40000#50000#100000#200000#400000#auto");
static cmdline_parse_token_string_t cmd_config_speed_all_item2 =
TOKEN_STRING_INITIALIZER(struct cmd_config_speed_all, item2, "duplex");
static cmdline_parse_token_string_t cmd_config_speed_all_value2 =
@@ -1419,7 +1423,7 @@ static 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|25000|40000|50000|100000|200000|400000|auto duplex "
+ "10|100|1000|2500|5000|10000|25000|40000|50000|100000|200000|400000|auto duplex "
"half|full|auto",
.tokens = {
(void *)&cmd_config_speed_all_port,
@@ -1483,7 +1487,7 @@ static cmdline_parse_token_string_t cmd_config_speed_specific_item1 =
"speed");
static cmdline_parse_token_string_t cmd_config_speed_specific_value1 =
TOKEN_STRING_INITIALIZER(struct cmd_config_speed_specific, value1,
- "10#100#1000#10000#25000#40000#50000#100000#200000#400000#auto");
+ "10#100#1000#2500#5000#10000#25000#40000#50000#100000#200000#400000#auto");
static cmdline_parse_token_string_t cmd_config_speed_specific_item2 =
TOKEN_STRING_INITIALIZER(struct cmd_config_speed_specific, item2,
"duplex");
@@ -1495,7 +1499,7 @@ static cmdline_parse_inst_t cmd_config_speed_specific = {
.f = cmd_config_speed_specific_parsed,
.data = NULL,
.help_str = "port config <port_id> speed "
- "10|100|1000|10000|25000|40000|50000|100000|200000|400000|auto duplex "
+ "10|100|1000|2500|5000|10000|25000|40000|50000|100000|200000|400000|auto duplex "
"half|full|auto",
.tokens = {
(void *)&cmd_config_speed_specific_port,
diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c
index 3b37809baf..13155b2723 100644
--- a/app/test-pmd/parameters.c
+++ b/app/test-pmd/parameters.c
@@ -550,6 +550,12 @@ parse_link_speed(int n)
case 1000:
speed |= RTE_ETH_LINK_SPEED_1G;
break;
+ case 2500:
+ speed |= RTE_ETH_LINK_SPEED_2_5G;
+ break;
+ case 5000:
+ speed |= RTE_ETH_LINK_SPEED_5G;
+ break;
case 10000:
speed |= RTE_ETH_LINK_SPEED_10G;
break;
diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst
index 57b23241cf..e60ba4d345 100644
--- a/doc/guides/testpmd_app_ug/run_app.rst
+++ b/doc/guides/testpmd_app_ug/run_app.rst
@@ -388,6 +388,8 @@ The command line options are:
10 - 10Mbps (not supported)
100 - 100Mbps (not supported)
1000 - 1Gbps
+ 2500 - 2.5Gbps
+ 5000 - 5Gbps
10000 - 10Gbps
25000 - 25Gbps
40000 - 40Gbps
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 8f23847859..b727b689c1 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -2048,7 +2048,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|25000|40000|50000|100000|200000|400000|auto) \
+ testpmd> port config (port_id|all) speed (10|100|1000|2500|5000|10000|25000|40000|50000|100000|200000|400000|auto) \
duplex (half|full|auto)
port config - queues/descriptors
--
2.30.2
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] app/test-pmd : Add 2.5Gbps and 5Gbps support to test-pmd
2023-05-17 23:16 [PATCH] app/test-pmd : Add 2.5Gbps and 5Gbps support to test-pmd julien_dpdk
@ 2023-05-18 2:11 ` Stephen Hemminger
0 siblings, 0 replies; 2+ messages in thread
From: Stephen Hemminger @ 2023-05-18 2:11 UTC (permalink / raw)
To: julien_dpdk; +Cc: dev
On Thu, 18 May 2023 01:16:14 +0200
julien_dpdk@jaube.fr wrote:
> From: Julien Aube <julien_dpdk@jaube.fr>
>
> Signed-off-by: Julien Aube <julien_dpdk@jaube.fr>
Enumerating all possible speeds is getting cumbersome, maybe
time for a change
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-05-18 2:11 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-17 23:16 [PATCH] app/test-pmd : Add 2.5Gbps and 5Gbps support to test-pmd julien_dpdk
2023-05-18 2:11 ` Stephen Hemminger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).