DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v1 0/2] fix RSS configuration failure
@ 2021-09-14  8:35 Wenjun Wu
  2021-09-14  8:35 ` [dpdk-dev] [PATCH v1 1/2] net/ice: " Wenjun Wu
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Wenjun Wu @ 2021-09-14  8:35 UTC (permalink / raw)
  To: dev, qi.z.zhang; +Cc: Wenjun Wu

Due to share code limitation, independent configuration of default
RSS for IP fragment packets need to be removed.

Wenjun Wu (2):
  net/ice: fix RSS configuration failure
  net/iavf: fix RSS configuration failure

 drivers/net/iavf/iavf_hash.c | 10 ----------
 drivers/net/ice/ice_ethdev.c | 22 +---------------------
 2 files changed, 1 insertion(+), 31 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH v1 1/2] net/ice: fix RSS configuration failure
  2021-09-14  8:35 [dpdk-dev] [PATCH v1 0/2] fix RSS configuration failure Wenjun Wu
@ 2021-09-14  8:35 ` Wenjun Wu
  2021-09-14  8:35 ` [dpdk-dev] [PATCH v1 2/2] net/iavf: " Wenjun Wu
  2021-09-16  2:34 ` [dpdk-dev] [PATCH v2 0/2] " Wenjun Wu
  2 siblings, 0 replies; 6+ messages in thread
From: Wenjun Wu @ 2021-09-14  8:35 UTC (permalink / raw)
  To: dev, qi.z.zhang; +Cc: Wenjun Wu, stable

Due to share code limitation, when RSS for IP packets and IP fragment
packets coexists, they cannot share the same hash field.
As a result, independent configuration of default RSS for IP fragment
packets need to be removed.

This patch revert the original patch to fix this failure.

Fixes: 91f59358dc05 ("net/ice: fix default RSS hash for IP fragment packets")
Fixes: 4027fffe86f4 ("net/ice: support default RSS for IP fragment packet")
Cc: stable@dpdk.org

Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
---
 drivers/net/ice/ice_ethdev.c | 22 +---------------------
 1 file changed, 1 insertion(+), 21 deletions(-)

diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index 8d62b84805..0fcaf24fb1 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -2822,9 +2822,7 @@ ice_rss_hash_set(struct ice_pf *pf, uint64_t rss_hf)
 	ETH_RSS_NONFRAG_IPV4_TCP | \
 	ETH_RSS_NONFRAG_IPV6_TCP | \
 	ETH_RSS_NONFRAG_IPV4_SCTP | \
-	ETH_RSS_NONFRAG_IPV6_SCTP | \
-	ETH_RSS_FRAG_IPV4 | \
-	ETH_RSS_FRAG_IPV6)
+	ETH_RSS_NONFRAG_IPV6_SCTP)
 
 	ret = ice_rem_vsi_rss_cfg(hw, vsi->idx);
 	if (ret)
@@ -2979,24 +2977,6 @@ ice_rss_hash_set(struct ice_pf *pf, uint64_t rss_hf)
 				    __func__, ret);
 	}
 
-	if (rss_hf & ETH_RSS_FRAG_IPV4) {
-		cfg.addl_hdrs = ICE_FLOW_SEG_HDR_IPV4 | ICE_FLOW_SEG_HDR_IPV_FRAG;
-		cfg.hash_flds = ICE_FLOW_HASH_IPV4;
-		ret = ice_add_rss_cfg_wrap(pf, vsi->idx, &cfg);
-		if (ret)
-			PMD_DRV_LOG(ERR, "%s IPV4_FRAG rss flow fail %d",
-				    __func__, ret);
-	}
-
-	if (rss_hf & ETH_RSS_FRAG_IPV6) {
-		cfg.addl_hdrs = ICE_FLOW_SEG_HDR_IPV6 | ICE_FLOW_SEG_HDR_IPV_FRAG;
-		cfg.hash_flds = ICE_FLOW_HASH_IPV6;
-		ret = ice_add_rss_cfg_wrap(pf, vsi->idx, &cfg);
-		if (ret)
-			PMD_DRV_LOG(ERR, "%s IPV6_FRAG rss flow fail %d",
-				    __func__, ret);
-	}
-
 	pf->rss_hf = rss_hf & ICE_RSS_HF_ALL;
 }
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH v1 2/2] net/iavf: fix RSS configuration failure
  2021-09-14  8:35 [dpdk-dev] [PATCH v1 0/2] fix RSS configuration failure Wenjun Wu
  2021-09-14  8:35 ` [dpdk-dev] [PATCH v1 1/2] net/ice: " Wenjun Wu
@ 2021-09-14  8:35 ` Wenjun Wu
  2021-09-16  2:34   ` [dpdk-dev] [PATCH v2 1/2] net/ice: " Wenjun Wu
  2021-09-16  2:35   ` [dpdk-dev] [PATCH v2 2/2] net/iavf: " Wenjun Wu
  2021-09-16  2:34 ` [dpdk-dev] [PATCH v2 0/2] " Wenjun Wu
  2 siblings, 2 replies; 6+ messages in thread
From: Wenjun Wu @ 2021-09-14  8:35 UTC (permalink / raw)
  To: dev, qi.z.zhang; +Cc: Wenjun Wu, stable

Due to share code limitation, when RSS for IP packets and IP fragment
packets coexists, they cannot share the same hash field.
As a result, independent configuration of default RSS for IP fragment
packets need to be removed.

This patch revert the original patch to fix this failure.

Fixes: c40525568480 ("net/iavf: fix default RSS hash for IP fragment packets")
Fixes: 9e29a278bc0c ("net/iavf: support default RSS for IP fragment")
Cc: stable@dpdk.org

Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
---
 drivers/net/iavf/iavf_hash.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c
index eba55ecea5..03dae5d999 100644
--- a/drivers/net/iavf/iavf_hash.c
+++ b/drivers/net/iavf/iavf_hash.c
@@ -623,16 +623,6 @@ iavf_rss_hash_set(struct iavf_adapter *ad, uint64_t rss_hf, bool add)
 		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
 	}
 
-	if (rss_hf & ETH_RSS_FRAG_IPV4) {
-		rss_cfg.proto_hdrs = outer_ipv4_tmplt;
-		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
-	}
-
-	if (rss_hf & ETH_RSS_FRAG_IPV6) {
-		rss_cfg.proto_hdrs = outer_ipv6_tmplt;
-		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
-	}
-
 	vf->rss_hf = rss_hf & IAVF_RSS_HF_ALL;
 	return 0;
 }
-- 
2.25.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH v2 0/2] fix RSS configuration failure
  2021-09-14  8:35 [dpdk-dev] [PATCH v1 0/2] fix RSS configuration failure Wenjun Wu
  2021-09-14  8:35 ` [dpdk-dev] [PATCH v1 1/2] net/ice: " Wenjun Wu
  2021-09-14  8:35 ` [dpdk-dev] [PATCH v1 2/2] net/iavf: " Wenjun Wu
@ 2021-09-16  2:34 ` Wenjun Wu
  2 siblings, 0 replies; 6+ messages in thread
From: Wenjun Wu @ 2021-09-16  2:34 UTC (permalink / raw)
  To: dev, qi.z.zhang; +Cc: Wenjun Wu

Due to share code limitation, independent configuration of default
RSS for IP fragment packets need to be removed.

v2:
    - update commit message.

Wenjun Wu (2):
  net/ice: fix RSS configuration failure
  net/iavf: fix RSS configuration failure

 drivers/net/iavf/iavf_hash.c | 10 ----------
 drivers/net/ice/ice_ethdev.c | 22 +---------------------
 2 files changed, 1 insertion(+), 31 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH v2 1/2] net/ice: fix RSS configuration failure
  2021-09-14  8:35 ` [dpdk-dev] [PATCH v1 2/2] net/iavf: " Wenjun Wu
@ 2021-09-16  2:34   ` Wenjun Wu
  2021-09-16  2:35   ` [dpdk-dev] [PATCH v2 2/2] net/iavf: " Wenjun Wu
  1 sibling, 0 replies; 6+ messages in thread
From: Wenjun Wu @ 2021-09-16  2:34 UTC (permalink / raw)
  To: dev, qiming.yang, qi.z.zhang; +Cc: Wenjun Wu, stable

According to patch [1], IPv4 and IPv6 fragment ptypes should be
separated from IP other ptypes. That is to say, when RSS for IP
packets is enabled, it should not affect IP fragment packets.

Previously, we try to enable RSS for both IP packets and IP fragment
packets with hash field of src and dst address. However, due to
share code limitation, when RSS for IP packets and IP fragment packets
coexists, they cannot share the same hash field.

As a result, independent configuration of default RSS for IP fragment
packets need to be removed.

This patch revert the original patch to fix this failure.

[1]
commit 08c16b212d03 ("net/ice/base: fix ptype bitmap for IP fragment")

Fixes: 91f59358dc05 ("net/ice: fix default RSS hash for IP fragment packets")
Fixes: 4027fffe86f4 ("net/ice: support default RSS for IP fragment packet")
Cc: stable@dpdk.org

Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
---
 drivers/net/ice/ice_ethdev.c | 22 +---------------------
 1 file changed, 1 insertion(+), 21 deletions(-)

diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index 8d62b84805..0fcaf24fb1 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -2822,9 +2822,7 @@ ice_rss_hash_set(struct ice_pf *pf, uint64_t rss_hf)
 	ETH_RSS_NONFRAG_IPV4_TCP | \
 	ETH_RSS_NONFRAG_IPV6_TCP | \
 	ETH_RSS_NONFRAG_IPV4_SCTP | \
-	ETH_RSS_NONFRAG_IPV6_SCTP | \
-	ETH_RSS_FRAG_IPV4 | \
-	ETH_RSS_FRAG_IPV6)
+	ETH_RSS_NONFRAG_IPV6_SCTP)
 
 	ret = ice_rem_vsi_rss_cfg(hw, vsi->idx);
 	if (ret)
@@ -2979,24 +2977,6 @@ ice_rss_hash_set(struct ice_pf *pf, uint64_t rss_hf)
 				    __func__, ret);
 	}
 
-	if (rss_hf & ETH_RSS_FRAG_IPV4) {
-		cfg.addl_hdrs = ICE_FLOW_SEG_HDR_IPV4 | ICE_FLOW_SEG_HDR_IPV_FRAG;
-		cfg.hash_flds = ICE_FLOW_HASH_IPV4;
-		ret = ice_add_rss_cfg_wrap(pf, vsi->idx, &cfg);
-		if (ret)
-			PMD_DRV_LOG(ERR, "%s IPV4_FRAG rss flow fail %d",
-				    __func__, ret);
-	}
-
-	if (rss_hf & ETH_RSS_FRAG_IPV6) {
-		cfg.addl_hdrs = ICE_FLOW_SEG_HDR_IPV6 | ICE_FLOW_SEG_HDR_IPV_FRAG;
-		cfg.hash_flds = ICE_FLOW_HASH_IPV6;
-		ret = ice_add_rss_cfg_wrap(pf, vsi->idx, &cfg);
-		if (ret)
-			PMD_DRV_LOG(ERR, "%s IPV6_FRAG rss flow fail %d",
-				    __func__, ret);
-	}
-
 	pf->rss_hf = rss_hf & ICE_RSS_HF_ALL;
 }
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH v2 2/2] net/iavf: fix RSS configuration failure
  2021-09-14  8:35 ` [dpdk-dev] [PATCH v1 2/2] net/iavf: " Wenjun Wu
  2021-09-16  2:34   ` [dpdk-dev] [PATCH v2 1/2] net/ice: " Wenjun Wu
@ 2021-09-16  2:35   ` Wenjun Wu
  1 sibling, 0 replies; 6+ messages in thread
From: Wenjun Wu @ 2021-09-16  2:35 UTC (permalink / raw)
  To: dev, jingjing.wu, beilei.xing; +Cc: Wenjun Wu, stable

According to patch [1], IPv4 and IPv6 fragment ptypes should be
separated from IP other ptypes. That is to say, when RSS for IP
packets is enabled, it should not affect IP fragment packets.

Previously, we try to enable RSS for both IP packets and IP fragment
packets with hash field of src and dst address. However, due to
share code limitation, when RSS for IP packets and IP fragment packets
coexists, they cannot share the same hash field.

As a result, independent configuration of default RSS for IP fragment
packets need to be removed.

This patch revert the original patch to fix this failure.

[1]
commit 08c16b212d03 ("net/ice/base: fix ptype bitmap for IP fragment")

Fixes: c40525568480 ("net/iavf: fix default RSS hash for IP fragment packets")
Fixes: 9e29a278bc0c ("net/iavf: support default RSS for IP fragment")
Cc: stable@dpdk.org

Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
---
 drivers/net/iavf/iavf_hash.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c
index eba55ecea5..03dae5d999 100644
--- a/drivers/net/iavf/iavf_hash.c
+++ b/drivers/net/iavf/iavf_hash.c
@@ -623,16 +623,6 @@ iavf_rss_hash_set(struct iavf_adapter *ad, uint64_t rss_hf, bool add)
 		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
 	}
 
-	if (rss_hf & ETH_RSS_FRAG_IPV4) {
-		rss_cfg.proto_hdrs = outer_ipv4_tmplt;
-		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
-	}
-
-	if (rss_hf & ETH_RSS_FRAG_IPV6) {
-		rss_cfg.proto_hdrs = outer_ipv6_tmplt;
-		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
-	}
-
 	vf->rss_hf = rss_hf & IAVF_RSS_HF_ALL;
 	return 0;
 }
-- 
2.25.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-09-16  2:54 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-14  8:35 [dpdk-dev] [PATCH v1 0/2] fix RSS configuration failure Wenjun Wu
2021-09-14  8:35 ` [dpdk-dev] [PATCH v1 1/2] net/ice: " Wenjun Wu
2021-09-14  8:35 ` [dpdk-dev] [PATCH v1 2/2] net/iavf: " Wenjun Wu
2021-09-16  2:34   ` [dpdk-dev] [PATCH v2 1/2] net/ice: " Wenjun Wu
2021-09-16  2:35   ` [dpdk-dev] [PATCH v2 2/2] net/iavf: " Wenjun Wu
2021-09-16  2:34 ` [dpdk-dev] [PATCH v2 0/2] " Wenjun Wu

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).