DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: "Min Hu (Connor)" <humin29@huawei.com>, dev@dpdk.org
Cc: konstantin.ananyev@intel.com, thomas@monjalon.net,
	arybchenko@solarflare.com, linuxarm@huawei.com
Subject: Re: [dpdk-dev] [PATCH V16 3/3] app/testpmd: add FEC command
Date: Thu, 8 Oct 2020 16:57:37 +0100	[thread overview]
Message-ID: <f41cace0-2a1d-f7f2-6442-8f028cae4e58@intel.com> (raw)
In-Reply-To: <1602151376-23766-4-git-send-email-humin29@huawei.com>

On 10/8/2020 11:02 AM, Min Hu (Connor) wrote:
> This commit adds testpmd capability to query and config FEC
> function of device. This includes:
> - show FEC capabilities, example:
> 	testpmd> show port 0 fec capabilities
> - show FEC mode, example:
> 	testpmd> show port 0 fec_mode
> - config FEC mode, example:
> 	testpmd> set port <port_id> fec_mode auto|off|rs|baser
> 
> 	where:
> 
> 	auto|off|rs|baser are four kinds of FEC mode which dev
> 	support according to MAC link speed.
> 
> Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
> Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
> Reviewed-by: Chengchang Tang <tangchengchang@huawei.com>

<...>

> +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)
>   {
> @@ -2969,6 +3021,45 @@ set_tx_pkt_split(const char *name)
>   	printf("unknown value: \"%s\"\n", name);
>   }
>   
> +int
> +parse_fec_mode(const char *name, uint32_t *mode)
> +{
> +	uint8_t i;
> +
> +	for (i = 0; i < RTE_DIM(fec_mode_name); i++) {
> +		if (strcmp(fec_mode_name[i].name, name) == 0) {
> +			*mode = RTE_ETH_FEC_MODE_TO_CAPA(fec_mode_name[i].mode);
> +			return 0;
> +		}
> +	}
> +	return -1;
> +}
> +
> +void
> +show_fec_capability(unsigned int num, struct rte_eth_fec_capa *speed_fec_capa)
> +{
> +	unsigned int i, j, k;
> +
> +	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;
> +			}
> +		}
> +
> +		for (k = RTE_ETH_FEC_AUTO; k < RTE_DIM(fec_mode_name); k++) {
> +			if (RTE_ETH_FEC_MODE_TO_CAPA(k) &
> +						speed_fec_capa[i].capa)
> +				printf("%s ", fec_mode_name[k].name);
> +		}
> +		printf("\n");
> +	}
> +}

Hi Connor,

Sorry for catching this late, but there is a new 'rte_eth_link_speed_to_str()' 
API in the ethdev, which may enable removing above global 'eth_speed_name' array 
[1].

I will proceed with this patchset, but can you please send an increamental patch 
to use the 'rte_eth_link_speed_to_str()'?
If it comes before the next-net pulled I can squash it, if not it can stay as 
individual patch.

Thanks,
ferruh


[1]
     printf("%s : ", rte_eth_link_speed_to_str(speed_fec_capa[i].speed));


  reply	other threads:[~2020-10-08 15:57 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-28 11:32 [dpdk-dev] [RFC] ethdev: add Forward Error Correction support Min Hu(Connor)
2020-08-30 12:43 ` Andrew Rybchenko
2020-09-08  3:05 ` [dpdk-dev] [PATCH 0/3] add FEC support Min Hu (Connor)
2020-09-08  3:05   ` [dpdk-dev] [PATCH 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-09  2:42     ` [dpdk-dev] [PATCH V2 0/3] add FEC support Min Hu (Connor)
2020-09-09  2:42       ` [dpdk-dev] [PATCH V2 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-09  2:43       ` [dpdk-dev] [PATCH V2 2/3] net/hns3: support FEC Min Hu (Connor)
2020-09-09  2:43       ` [dpdk-dev] [PATCH V2 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-09-08  3:05   ` [dpdk-dev] [PATCH 2/3] net/hns3: support FEC Min Hu (Connor)
2020-09-08  3:05   ` [dpdk-dev] [PATCH 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-09-10  7:24   ` [dpdk-dev] [PATCH V4 0/3] add FEC support Min Hu (Connor)
2020-09-10  7:24     ` [dpdk-dev] [PATCH V4 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-12  4:53       ` Ajit Khaparde
2020-09-16 14:10       ` Ananyev, Konstantin
2020-09-10  7:24     ` [dpdk-dev] [PATCH V4 2/3] net/hns3: support FEC Min Hu (Connor)
2020-09-10  7:24     ` [dpdk-dev] [PATCH V4 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-09-10 21:02     ` [dpdk-dev] [PATCH V4 0/3] add FEC support Ajit Khaparde
2020-09-11  8:39       ` humin (Connor)
2020-09-16 12:37     ` humin (Connor)
2020-09-17  8:23   ` [dpdk-dev] [V5 " Min Hu (Connor)
2020-09-17  8:23     ` [dpdk-dev] [V5 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-17  8:23     ` [dpdk-dev] [V5 2/3] net/hns3: support FEC Min Hu (Connor)
2020-09-17  8:23     ` [dpdk-dev] [V5 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-09-17  8:52   ` [dpdk-dev] [V5 0/3] add FEC support Min Hu (Connor)
2020-09-17  8:52     ` [dpdk-dev] [V5 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-17  9:58       ` Andrew Rybchenko
2020-09-18  9:28         ` Min Hu (Connor)
2020-09-19  8:42           ` Andrew Rybchenko
2020-09-19 12:06             ` Min Hu (Connor)
2020-09-17 12:49       ` Ananyev, Konstantin
2020-09-18  1:57         ` humin (Connor)
2020-09-18 10:46           ` Ananyev, Konstantin
2020-09-17  8:52     ` [dpdk-dev] [V5 2/3] net/hns3: support FEC Min Hu (Connor)
2020-09-17  8:52     ` [dpdk-dev] [V5 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-09-18  9:04   ` [dpdk-dev] [PATCH V6 0/3] add FEC support Min Hu (Connor)
2020-09-18  9:04     ` [dpdk-dev] [PATCH V6 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-18  9:04     ` [dpdk-dev] [PATCH V6 2/3] net/hns3: support FEC Min Hu (Connor)
2020-09-18  9:04     ` [dpdk-dev] [PATCH V6 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-09-18 11:48   ` [dpdk-dev] [PATCH V7 0/3] add FEC support Min Hu (Connor)
2020-09-18 11:48     ` [dpdk-dev] [PATCH V7 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-18 12:13       ` Ananyev, Konstantin
2020-09-18 18:10         ` Ajit Khaparde
2020-09-19  8:44           ` Andrew Rybchenko
2020-09-18 11:48     ` [dpdk-dev] [PATCH V7 2/3] net/hns3: support FEC Min Hu (Connor)
2020-09-18 11:48     ` [dpdk-dev] [PATCH V7 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-09-18 20:35       ` Ajit Khaparde
2020-09-21  2:59   ` [dpdk-dev] [PATCH V8 0/3] add FEC support Min Hu (Connor)
2020-09-21  2:59     ` [dpdk-dev] [PATCH V8 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-21  2:59     ` [dpdk-dev] [PATCH V8 2/3] net/hns3: support FEC Min Hu (Connor)
2020-09-21  2:59     ` [dpdk-dev] [PATCH V8 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-09-21  6:13   ` [dpdk-dev] [PATCH V9 0/3] add FEC support Min Hu (Connor)
2020-09-21  6:13     ` [dpdk-dev] [PATCH V9 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-21 13:39       ` Andrew Rybchenko
2020-09-22  4:58         ` Min Hu (Connor)
2020-09-22  8:02           ` Andrew Rybchenko
2020-09-22 11:06             ` Min Hu (Connor)
2020-09-22 12:18               ` Andrew Rybchenko
2020-09-24 11:07                 ` Min Hu (Connor)
2020-09-21  6:13     ` [dpdk-dev] [PATCH V9 2/3] net/hns3: support FEC Min Hu (Connor)
2020-09-21  6:13     ` [dpdk-dev] [PATCH V9 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-09-22  7:26   ` [dpdk-dev] [PATCH V10 0/3] add FEC support Min Hu (Connor)
2020-09-22  7:26     ` [dpdk-dev] [PATCH V10 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-22  7:26     ` [dpdk-dev] [PATCH V10 2/3] net/hns3: support FEC Min Hu (Connor)
2020-09-22  7:26     ` [dpdk-dev] [PATCH V10 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-09-24 11:01   ` [dpdk-dev] [PATCH V11 0/4] add FEC support Min Hu (Connor)
2020-09-24 11:01     ` [dpdk-dev] [PATCH V11 1/4] ethdev: introduce FEC API Min Hu (Connor)
2020-09-24 11:01     ` [dpdk-dev] [PATCH V11 2/4] net/hns3: support FEC Min Hu (Connor)
2020-09-24 11:01     ` [dpdk-dev] [PATCH V11 3/4] app/testpmd: add FEC command Min Hu (Connor)
2020-09-24 11:01     ` [dpdk-dev] [PATCH V11 4/4] doc: add FEC API and PMD information Min Hu (Connor)
2020-09-24 13:05   ` [dpdk-dev] [PATCH V12 0/4] add FEC support Min Hu (Connor)
2020-09-24 13:05     ` [dpdk-dev] [PATCH V12 1/4] ethdev: introduce FEC API Min Hu (Connor)
2020-09-24 14:46       ` Andrew Rybchenko
2020-09-25  8:47         ` Min Hu (Connor)
2020-09-25 15:36           ` Ajit Khaparde
2020-09-25 16:12             ` Stephen Hemminger
2020-09-25 16:38               ` Ferruh Yigit
2020-09-24 13:05     ` [dpdk-dev] [PATCH V12 2/4] net/hns3: support FEC Min Hu (Connor)
2020-09-24 13:05     ` [dpdk-dev] [PATCH V12 3/4] app/testpmd: add FEC command Min Hu (Connor)
2020-09-24 13:05     ` [dpdk-dev] [PATCH V12 4/4] doc: add FEC API and PMD information Min Hu (Connor)
2020-09-24 13:52       ` Andrew Rybchenko
2020-09-25  8:39   ` [dpdk-dev] [PATCH V13 0/3] add FEC support Min Hu (Connor)
2020-09-25  8:39     ` [dpdk-dev] [PATCH V13 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-28  7:35       ` Andrew Rybchenko
2020-09-28 11:13         ` Min Hu (Connor)
2020-09-25  8:39     ` [dpdk-dev] [PATCH V13 2/3] net/hns3: support FEC Min Hu (Connor)
2020-09-25  8:39     ` [dpdk-dev] [PATCH V13 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-09-27  7:08     ` [dpdk-dev] [PATCH V13 0/3] add FEC support Min Hu (Connor)
2020-09-28 10:27       ` Ferruh Yigit
2020-09-28 11:11         ` Min Hu (Connor)
2020-09-28 11:08   ` [dpdk-dev] [PATCH V14 " Min Hu (Connor)
2020-09-28 11:08     ` [dpdk-dev] [PATCH V14 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-28 12:48       ` Andrew Rybchenko
2020-09-29  2:09         ` Min Hu (Connor)
2020-09-28 11:08     ` [dpdk-dev] [PATCH V14 2/3] net/hns3: support FEC Min Hu (Connor)
2020-09-28 11:08     ` [dpdk-dev] [PATCH V14 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-09-29  1:03   ` [dpdk-dev] [PATCH V15 0/3] add FEC support Min Hu (Connor)
2020-09-29  1:03     ` [dpdk-dev] [PATCH V15 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-29  4:18       ` Ajit Khaparde
2020-09-29  8:44         ` Min Hu (Connor)
2020-09-30  2:45           ` Min Hu (Connor)
2020-09-30  8:15           ` Thomas Monjalon
2020-09-30  9:45       ` Andrew Rybchenko
2020-09-29  1:03     ` [dpdk-dev] [PATCH V15 2/3] net/hns3: support FEC Min Hu (Connor)
2020-09-29  1:03     ` [dpdk-dev] [PATCH V15 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-09-30 16:52       ` Ferruh Yigit
2020-10-07  0:15         ` humin (Q)
2020-10-07  9:28         ` Ferruh Yigit
2020-10-07 23:38           ` humin (Q)
2020-10-08 10:06           ` Min Hu (Connor)
2020-10-08 10:02   ` [dpdk-dev] [PATCH V16 0/3] add FEC support Min Hu (Connor)
2020-10-08 10:02     ` [dpdk-dev] [PATCH V16 1/3] ethdev: introduce FEC API Min Hu (Connor)
2021-01-15 14:07       ` Ferruh Yigit
2021-01-16  2:03         ` Min Hu (Connor)
2020-10-08 10:02     ` [dpdk-dev] [PATCH V16 2/3] net/hns3: support FEC Min Hu (Connor)
2020-10-08 10:02     ` [dpdk-dev] [PATCH V16 3/3] app/testpmd: add FEC command Min Hu (Connor)
2020-10-08 15:57       ` Ferruh Yigit [this message]
2020-10-09  3:48         ` Min Hu (Connor)
2020-10-08 16:28     ` [dpdk-dev] [PATCH V16 0/3] add FEC support Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f41cace0-2a1d-f7f2-6442-8f028cae4e58@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=arybchenko@solarflare.com \
    --cc=dev@dpdk.org \
    --cc=humin29@huawei.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=linuxarm@huawei.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).