[dpdk-stable] patch 'net/nfp: fix RSS' has been queued to stable release 18.08.1

Kevin Traynor ktraynor at redhat.com
Wed Nov 21 17:47:41 CET 2018


Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/27/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 610ea29fc84c9109a7a41b127637cdf36f6c74c7 Mon Sep 17 00:00:00 2001
From: Alejandro Lucero <alejandro.lucero at netronome.com>
Date: Wed, 26 Sep 2018 14:45:50 +0100
Subject: [PATCH] net/nfp: fix RSS

[ upstream commit f14a51689894dc226f6af4ab39f7439e4384a06b ]

Three problems are fixed in this patch:

 - RSS capabilities not advertised properly
 - RSS configuration just done for some RSS types
 - RSS hash match reported for just some RSS types

Fixes: 934e4c60fbff ("nfp: add RSS")

Signed-off-by: Alejandro Lucero <alejandro.lucero at netronome.com>
---
 drivers/net/nfp/nfp_net.c | 36 +++++++++++++++++++++++++++++-------
 1 file changed, 29 insertions(+), 7 deletions(-)

diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index a588a3fe0..0649ddb9a 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -1206,6 +1206,8 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 	};
 
-	dev_info->flow_type_rss_offloads = ETH_RSS_NONFRAG_IPV4_TCP |
+	dev_info->flow_type_rss_offloads = ETH_RSS_IPV4 |
+					   ETH_RSS_NONFRAG_IPV4_TCP |
 					   ETH_RSS_NONFRAG_IPV4_UDP |
+					   ETH_RSS_IPV6 |
 					   ETH_RSS_NONFRAG_IPV6_TCP |
 					   ETH_RSS_NONFRAG_IPV6_UDP;
@@ -1884,4 +1886,16 @@ nfp_net_set_hash(struct nfp_net_rxq *rxq, struct nfp_net_rx_desc *rxd,
 		mbuf->packet_type |= RTE_PTYPE_INNER_L3_IPV6_EXT;
 		break;
+	case NFP_NET_RSS_IPV4_TCP:
+		mbuf->packet_type |= RTE_PTYPE_INNER_L3_IPV6_EXT;
+		break;
+	case NFP_NET_RSS_IPV6_TCP:
+		mbuf->packet_type |= RTE_PTYPE_INNER_L3_IPV6_EXT;
+		break;
+	case NFP_NET_RSS_IPV4_UDP:
+		mbuf->packet_type |= RTE_PTYPE_INNER_L3_IPV6_EXT;
+		break;
+	case NFP_NET_RSS_IPV6_UDP:
+		mbuf->packet_type |= RTE_PTYPE_INNER_L3_IPV6_EXT;
+		break;
 	default:
 		mbuf->packet_type |= RTE_PTYPE_INNER_L4_MASK;
@@ -2465,12 +2479,20 @@ nfp_net_rss_hash_write(struct rte_eth_dev *dev,
 
 	if (rss_hf & ETH_RSS_IPV4)
-		cfg_rss_ctrl |= NFP_NET_CFG_RSS_IPV4 |
-				NFP_NET_CFG_RSS_IPV4_TCP |
-				NFP_NET_CFG_RSS_IPV4_UDP;
+		cfg_rss_ctrl |= NFP_NET_CFG_RSS_IPV4;
+
+	if (rss_hf & ETH_RSS_NONFRAG_IPV4_TCP)
+		cfg_rss_ctrl |= NFP_NET_CFG_RSS_IPV4_TCP;
+
+	if (rss_hf & ETH_RSS_NONFRAG_IPV4_UDP)
+		cfg_rss_ctrl |= NFP_NET_CFG_RSS_IPV4_UDP;
 
 	if (rss_hf & ETH_RSS_IPV6)
-		cfg_rss_ctrl |= NFP_NET_CFG_RSS_IPV6 |
-				NFP_NET_CFG_RSS_IPV6_TCP |
-				NFP_NET_CFG_RSS_IPV6_UDP;
+		cfg_rss_ctrl |= NFP_NET_CFG_RSS_IPV6;
+
+	if (rss_hf & ETH_RSS_NONFRAG_IPV6_TCP)
+		cfg_rss_ctrl |= NFP_NET_CFG_RSS_IPV6_TCP;
+
+	if (rss_hf & ETH_RSS_NONFRAG_IPV6_UDP)
+		cfg_rss_ctrl |= NFP_NET_CFG_RSS_IPV6_UDP;
 
 	cfg_rss_ctrl |= NFP_NET_CFG_RSS_MASK;
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-21 16:44:31.656004018 +0000
+++ 0027-net-nfp-fix-RSS.patch	2018-11-21 16:44:30.000000000 +0000
@@ -1,8 +1,10 @@
-From f14a51689894dc226f6af4ab39f7439e4384a06b Mon Sep 17 00:00:00 2001
+From 610ea29fc84c9109a7a41b127637cdf36f6c74c7 Mon Sep 17 00:00:00 2001
 From: Alejandro Lucero <alejandro.lucero at netronome.com>
 Date: Wed, 26 Sep 2018 14:45:50 +0100
 Subject: [PATCH] net/nfp: fix RSS
 
+[ upstream commit f14a51689894dc226f6af4ab39f7439e4384a06b ]
+
 Three problems are fixed in this patch:
 
  - RSS capabilities not advertised properly
@@ -10,7 +12,6 @@
  - RSS hash match reported for just some RSS types
 
 Fixes: 934e4c60fbff ("nfp: add RSS")
-Cc: stable at dpdk.org
 
 Signed-off-by: Alejandro Lucero <alejandro.lucero at netronome.com>
 ---
@@ -18,10 +19,10 @@
  1 file changed, 29 insertions(+), 7 deletions(-)
 
 diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
-index 170b5d611..4d6a797b0 100644
+index a588a3fe0..0649ddb9a 100644
 --- a/drivers/net/nfp/nfp_net.c
 +++ b/drivers/net/nfp/nfp_net.c
-@@ -1199,6 +1199,8 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
+@@ -1206,6 +1206,8 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
  	};
  
 -	dev_info->flow_type_rss_offloads = ETH_RSS_NONFRAG_IPV4_TCP |
@@ -31,7 +32,7 @@
 +					   ETH_RSS_IPV6 |
  					   ETH_RSS_NONFRAG_IPV6_TCP |
  					   ETH_RSS_NONFRAG_IPV6_UDP;
-@@ -1877,4 +1879,16 @@ nfp_net_set_hash(struct nfp_net_rxq *rxq, struct nfp_net_rx_desc *rxd,
+@@ -1884,4 +1886,16 @@ nfp_net_set_hash(struct nfp_net_rxq *rxq, struct nfp_net_rx_desc *rxd,
  		mbuf->packet_type |= RTE_PTYPE_INNER_L3_IPV6_EXT;
  		break;
 +	case NFP_NET_RSS_IPV4_TCP:
@@ -48,7 +49,7 @@
 +		break;
  	default:
  		mbuf->packet_type |= RTE_PTYPE_INNER_L4_MASK;
-@@ -2458,12 +2472,20 @@ nfp_net_rss_hash_write(struct rte_eth_dev *dev,
+@@ -2465,12 +2479,20 @@ nfp_net_rss_hash_write(struct rte_eth_dev *dev,
  
  	if (rss_hf & ETH_RSS_IPV4)
 -		cfg_rss_ctrl |= NFP_NET_CFG_RSS_IPV4 |


More information about the stable mailing list