Sync some patches for hns3 PMD, telemetry and testpmd. And main modifications are as follows: - backport some bugfixes for hns3 - revert Tx performance optimization for hns3 - add Rx/Tx descriptor dump feature for hns3 - refactor some RSS commands for testpmd - add ethdev telemetry private dump - add dmadev telemetry - sync telemetry lib Signed-off-by: Huisong Li <lihuisong@huawei.com> (cherry picked from commit 4f06d27eff9aa99c2e2073ac74328893990ed8ed)
88 lines
3.5 KiB
Diff
88 lines
3.5 KiB
Diff
From e11bff8abbbe9cacc59fa64d3d2046b150c45a6d Mon Sep 17 00:00:00 2001
|
|
From: Huisong Li <lihuisong@huawei.com>
|
|
Date: Fri, 21 Oct 2022 15:36:33 +0800
|
|
Subject: [PATCH 157/189] net/hns3: fix IPv4 and IPv6 RSS
|
|
|
|
Currently, hns3 driver use 'ipv4-other' and 'ipv6-other' as the flag
|
|
of IP packets to judge if enable RSS tuple field. But user may use
|
|
'RTE_ETH_RSS_IPV4' or 'RTE_ETH_RSS_IPV6' as the flag. So this patch
|
|
adds the processing of these macros.
|
|
|
|
Fixes: 806f1d5ab0e3 ("net/hns3: set RSS hash type input configuration")
|
|
Cc: stable@dpdk.org
|
|
|
|
Signed-off-by: Huisong Li <lihuisong@huawei.com>
|
|
Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
|
|
---
|
|
drivers/net/hns3/hns3_rss.c | 14 ++++++++++++++
|
|
drivers/net/hns3/hns3_rss.h | 2 ++
|
|
2 files changed, 16 insertions(+)
|
|
|
|
diff --git a/drivers/net/hns3/hns3_rss.c b/drivers/net/hns3/hns3_rss.c
|
|
index fc912ed2e8..e7e114727f 100644
|
|
--- a/drivers/net/hns3/hns3_rss.c
|
|
+++ b/drivers/net/hns3/hns3_rss.c
|
|
@@ -102,6 +102,10 @@ static const struct {
|
|
BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_S) },
|
|
{ RTE_ETH_RSS_NONFRAG_IPV4_SCTP | RTE_ETH_RSS_L4_DST_ONLY,
|
|
BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_D) },
|
|
+ { RTE_ETH_RSS_IPV4 | RTE_ETH_RSS_L3_SRC_ONLY,
|
|
+ BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_NONFRAG_IP_S) },
|
|
+ { RTE_ETH_RSS_IPV4 | RTE_ETH_RSS_L3_DST_ONLY,
|
|
+ BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_NONFRAG_IP_D) },
|
|
{ RTE_ETH_RSS_NONFRAG_IPV4_OTHER | RTE_ETH_RSS_L3_SRC_ONLY,
|
|
BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_NONFRAG_IP_S) },
|
|
{ RTE_ETH_RSS_NONFRAG_IPV4_OTHER | RTE_ETH_RSS_L3_DST_ONLY,
|
|
@@ -134,6 +138,10 @@ static const struct {
|
|
BIT_ULL(HNS3_RSS_FILED_IPV6_SCTP_EN_SCTP_S) },
|
|
{ RTE_ETH_RSS_NONFRAG_IPV6_SCTP | RTE_ETH_RSS_L4_DST_ONLY,
|
|
BIT_ULL(HNS3_RSS_FILED_IPV6_SCTP_EN_SCTP_D) },
|
|
+ { RTE_ETH_RSS_IPV6 | RTE_ETH_RSS_L3_SRC_ONLY,
|
|
+ BIT_ULL(HNS3_RSS_FIELD_IPV6_NONFRAG_IP_S) },
|
|
+ { RTE_ETH_RSS_IPV6 | RTE_ETH_RSS_L3_DST_ONLY,
|
|
+ BIT_ULL(HNS3_RSS_FIELD_IPV6_NONFRAG_IP_D) },
|
|
{ RTE_ETH_RSS_NONFRAG_IPV6_OTHER | RTE_ETH_RSS_L3_SRC_ONLY,
|
|
BIT_ULL(HNS3_RSS_FIELD_IPV6_NONFRAG_IP_S) },
|
|
{ RTE_ETH_RSS_NONFRAG_IPV6_OTHER | RTE_ETH_RSS_L3_DST_ONLY,
|
|
@@ -159,6 +167,9 @@ static const struct {
|
|
BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_S) |
|
|
BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_D) |
|
|
BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_VER) },
|
|
+ { RTE_ETH_RSS_IPV4,
|
|
+ BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_NONFRAG_IP_S) |
|
|
+ BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_NONFRAG_IP_D) },
|
|
{ RTE_ETH_RSS_NONFRAG_IPV4_OTHER,
|
|
BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_NONFRAG_IP_S) |
|
|
BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_NONFRAG_IP_D) },
|
|
@@ -177,6 +188,9 @@ static const struct {
|
|
BIT_ULL(HNS3_RSS_FILED_IPV6_SCTP_EN_SCTP_D) |
|
|
BIT_ULL(HNS3_RSS_FILED_IPV6_SCTP_EN_SCTP_S) |
|
|
BIT_ULL(HNS3_RSS_FIELD_IPV6_SCTP_EN_SCTP_VER) },
|
|
+ { RTE_ETH_RSS_IPV6,
|
|
+ BIT_ULL(HNS3_RSS_FIELD_IPV6_NONFRAG_IP_S) |
|
|
+ BIT_ULL(HNS3_RSS_FIELD_IPV6_NONFRAG_IP_D) },
|
|
{ RTE_ETH_RSS_NONFRAG_IPV6_OTHER,
|
|
BIT_ULL(HNS3_RSS_FIELD_IPV6_NONFRAG_IP_S) |
|
|
BIT_ULL(HNS3_RSS_FIELD_IPV6_NONFRAG_IP_D) }
|
|
diff --git a/drivers/net/hns3/hns3_rss.h b/drivers/net/hns3/hns3_rss.h
|
|
index 5c288c8bb2..9471e7039d 100644
|
|
--- a/drivers/net/hns3/hns3_rss.h
|
|
+++ b/drivers/net/hns3/hns3_rss.h
|
|
@@ -9,11 +9,13 @@
|
|
#include <rte_flow.h>
|
|
|
|
#define HNS3_ETH_RSS_SUPPORT ( \
|
|
+ RTE_ETH_RSS_IPV4 | \
|
|
RTE_ETH_RSS_FRAG_IPV4 | \
|
|
RTE_ETH_RSS_NONFRAG_IPV4_TCP | \
|
|
RTE_ETH_RSS_NONFRAG_IPV4_UDP | \
|
|
RTE_ETH_RSS_NONFRAG_IPV4_SCTP | \
|
|
RTE_ETH_RSS_NONFRAG_IPV4_OTHER | \
|
|
+ RTE_ETH_RSS_IPV6 | \
|
|
RTE_ETH_RSS_FRAG_IPV6 | \
|
|
RTE_ETH_RSS_NONFRAG_IPV6_TCP | \
|
|
RTE_ETH_RSS_NONFRAG_IPV6_UDP | \
|
|
--
|
|
2.23.0
|
|
|