[dpdk-dev] [PATCH] app/testpmd: fix transmission from speed to str

Min Hu (Connor) humin29 at huawei.com
Fri Oct 9 05:45:19 CEST 2020


This patch uses a new 'rte_eth_link_speed_to_str()' API in the
ethdev which enables removing above global 'eth_speed_name' array [1].

Fixes: 466c55e4d85b ("app/testpmd: add FEC command")

Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
---
 app/test-pmd/config.c | 47 ++++++-----------------------------------------
 1 file changed, 6 insertions(+), 41 deletions(-)

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 7873426..8ccd989 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -161,36 +161,6 @@ static const struct {
 	},
 };
 
-static const struct {
-	uint32_t speed;
-	const char *name;
-} eth_speed_name[] = {
-	{
-		.speed = ETH_SPEED_NUM_10G,
-		.name = "Speed 10G",
-	},
-	{
-		.speed = ETH_SPEED_NUM_25G,
-		.name = "Speed 25G",
-	},
-	{
-		.speed = ETH_SPEED_NUM_40G,
-		.name = "Speed 40G",
-	},
-	{
-		.speed = ETH_SPEED_NUM_50G,
-		.name = "Speed 50G",
-	},
-	{
-		.speed = ETH_SPEED_NUM_100G,
-		.name = "Speed 100G",
-	},
-	{
-		.speed = ETH_SPEED_NUM_200G,
-		.name = "Speed 200G",
-	},
-};
-
 static void
 print_ethaddr(const char *name, struct rte_ether_addr *eth_addr)
 {
@@ -3260,23 +3230,18 @@ parse_fec_mode(const char *name, uint32_t *mode)
 void
 show_fec_capability(unsigned int num, struct rte_eth_fec_capa *speed_fec_capa)
 {
-	unsigned int i, j, k;
+	unsigned int i, j;
 
 	printf("FEC capabilities:\n");
 
 	for (i = 0; i < num; i++) {
-		for (j = 0; j < RTE_DIM(eth_speed_name); j++) {
-			if (eth_speed_name[j].speed ==
-						speed_fec_capa[i].speed) {
-				printf("%s : ", eth_speed_name[j].name);
-				break;
-			}
-		}
+		printf("%s : ",
+			rte_eth_link_speed_to_str(speed_fec_capa[i].speed));
 
-		for (k = RTE_ETH_FEC_AUTO; k < RTE_DIM(fec_mode_name); k++) {
-			if (RTE_ETH_FEC_MODE_TO_CAPA(k) &
+		for (j = RTE_ETH_FEC_AUTO; j < RTE_DIM(fec_mode_name); j++) {
+			if (RTE_ETH_FEC_MODE_TO_CAPA(j) &
 						speed_fec_capa[i].capa)
-				printf("%s ", fec_mode_name[k].name);
+				printf("%s ", fec_mode_name[j].name);
 		}
 		printf("\n");
 	}
-- 
2.7.4



More information about the dev mailing list