From: "Min Hu (Connor)" <humin29@huawei.com>
To: Ferruh Yigit <ferruh.yigit@intel.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: Fri, 9 Oct 2020 11:48:24 +0800 [thread overview]
Message-ID: <5345d216-0b3b-07cb-1f59-bcaa232a21a8@huawei.com> (raw)
In-Reply-To: <f41cace0-2a1d-f7f2-6442-8f028cae4e58@intel.com>
Hi Ferruh,
I have fixed it, and send the patch.
Please check it out, thanks.
https://patches.dpdk.org/patch/80097/
在 2020/10/8 23:57, Ferruh Yigit 写道:
> 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));
>
> .
next prev parent reply other threads:[~2020-10-09 3:48 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
2020-10-09 3:48 ` Min Hu (Connor) [this message]
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=5345d216-0b3b-07cb-1f59-bcaa232a21a8@huawei.com \
--to=humin29@huawei.com \
--cc=arybchenko@solarflare.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.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).