The idpf and cpfl PMDs map the device-reported link speed (in Mbps) against a fixed table of supported speeds. That table stopped at 200G, so ports operating at 400G reported their link speed as "Unknown": the advertised 400000 Mbps had no matching entry in the driver's supported-speeds table and the link update fell back to RTE_ETH_SPEED_NUM_UNKNOWN.
Add RTE_ETH_SPEED_NUM_400G to the supported-speeds table of both the idpf and cpfl drivers so the correct 400 Gbps link speed is reported. Signed-off-by: Shaiq Wani <[email protected]> --- v2: - add trailing comma after the last array entry making later additions easier. - also add the 400G entry to the cpfl driver. drivers/net/intel/cpfl/cpfl_ethdev.c | 3 ++- drivers/net/intel/idpf/idpf_ethdev.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/intel/cpfl/cpfl_ethdev.c b/drivers/net/intel/cpfl/cpfl_ethdev.c index 32e0f81d99..789bfd08f9 100644 --- a/drivers/net/intel/cpfl/cpfl_ethdev.c +++ b/drivers/net/intel/cpfl/cpfl_ethdev.c @@ -67,7 +67,8 @@ uint32_t cpfl_supported_speeds[] = { RTE_ETH_SPEED_NUM_50G, RTE_ETH_SPEED_NUM_56G, RTE_ETH_SPEED_NUM_100G, - RTE_ETH_SPEED_NUM_200G + RTE_ETH_SPEED_NUM_200G, + RTE_ETH_SPEED_NUM_400G, }; static const uint64_t cpfl_map_hena_rss[] = { diff --git a/drivers/net/intel/idpf/idpf_ethdev.c b/drivers/net/intel/idpf/idpf_ethdev.c index e9e9781fdd..0a0bcdf48d 100644 --- a/drivers/net/intel/idpf/idpf_ethdev.c +++ b/drivers/net/intel/idpf/idpf_ethdev.c @@ -46,7 +46,8 @@ uint32_t idpf_supported_speeds[] = { RTE_ETH_SPEED_NUM_50G, RTE_ETH_SPEED_NUM_56G, RTE_ETH_SPEED_NUM_100G, - RTE_ETH_SPEED_NUM_200G + RTE_ETH_SPEED_NUM_200G, + RTE_ETH_SPEED_NUM_400G, }; static const uint64_t idpf_map_hena_rss[] = { -- 2.34.1

