[dpdk-stable] patch 'net/cxgbe: announce Rx scatter offload' has been queued to stable release 18.08.1

Kevin Traynor ktraynor at redhat.com
Wed Nov 21 17:04:22 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/26/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 f99541eab075732b123cca75a76a31e97ba69dcc Mon Sep 17 00:00:00 2001
From: Rahul Lakkireddy <rahul.lakkireddy at chelsio.com>
Date: Mon, 24 Sep 2018 21:35:04 +0530
Subject: [PATCH] net/cxgbe: announce Rx scatter offload

[ upstream commit 0f3ff2445da3697f29a9e1be7a8b51273ddceeac ]

Scatter Rx is already supported by CXGBE PMD. So, add the missing
DEV_RX_OFFLOAD_SCATTER flag to the list of supported Rx offload
features.

Also, move the macros for supported list of offload features to
header file.

Fixes: 436125e64174 ("net/cxgbe: update to Rx/Tx offload API")

Reported-by: Martin Weiser <martin.weiser at allegro-packets.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy at chelsio.com>
---
 drivers/net/cxgbe/cxgbe.h        | 16 ++++++++++++++++
 drivers/net/cxgbe/cxgbe_ethdev.c | 20 +++++++-------------
 2 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/drivers/net/cxgbe/cxgbe.h b/drivers/net/cxgbe/cxgbe.h
index 5e6f5c98d..62581abbe 100644
--- a/drivers/net/cxgbe/cxgbe.h
+++ b/drivers/net/cxgbe/cxgbe.h
@@ -35,4 +35,20 @@
 #define CXGBE_RSS_HF_ALL (ETH_RSS_IP | ETH_RSS_TCP | ETH_RSS_UDP)
 
+/* Tx/Rx Offloads supported */
+#define CXGBE_TX_OFFLOADS (DEV_TX_OFFLOAD_VLAN_INSERT | \
+			   DEV_TX_OFFLOAD_IPV4_CKSUM | \
+			   DEV_TX_OFFLOAD_UDP_CKSUM | \
+			   DEV_TX_OFFLOAD_TCP_CKSUM | \
+			   DEV_TX_OFFLOAD_TCP_TSO)
+
+#define CXGBE_RX_OFFLOADS (DEV_RX_OFFLOAD_VLAN_STRIP | \
+			   DEV_RX_OFFLOAD_CRC_STRIP |\
+			   DEV_RX_OFFLOAD_IPV4_CKSUM | \
+			   DEV_RX_OFFLOAD_UDP_CKSUM | \
+			   DEV_RX_OFFLOAD_TCP_CKSUM | \
+			   DEV_RX_OFFLOAD_JUMBO_FRAME | \
+			   DEV_RX_OFFLOAD_SCATTER)
+
+
 #define CXGBE_DEVARG_KEEP_OVLAN "keep_ovlan"
 #define CXGBE_DEVARG_FORCE_LINK_UP "force_link_up"
diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
index 4dcad7a23..cde01210e 100644
--- a/drivers/net/cxgbe/cxgbe_ethdev.c
+++ b/drivers/net/cxgbe/cxgbe_ethdev.c
@@ -60,17 +60,4 @@
 #include "t4_pci_id_tbl.h"
 
-#define CXGBE_TX_OFFLOADS (DEV_TX_OFFLOAD_VLAN_INSERT |\
-			   DEV_TX_OFFLOAD_IPV4_CKSUM |\
-			   DEV_TX_OFFLOAD_UDP_CKSUM |\
-			   DEV_TX_OFFLOAD_TCP_CKSUM |\
-			   DEV_TX_OFFLOAD_TCP_TSO)
-
-#define CXGBE_RX_OFFLOADS (DEV_RX_OFFLOAD_VLAN_STRIP |\
-			   DEV_RX_OFFLOAD_CRC_STRIP |\
-			   DEV_RX_OFFLOAD_IPV4_CKSUM |\
-			   DEV_RX_OFFLOAD_JUMBO_FRAME |\
-			   DEV_RX_OFFLOAD_UDP_CKSUM |\
-			   DEV_RX_OFFLOAD_TCP_CKSUM)
-
 uint16_t cxgbe_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 			 uint16_t nb_pkts)
@@ -342,4 +329,5 @@ int cxgbe_dev_start(struct rte_eth_dev *eth_dev)
 {
 	struct port_info *pi = (struct port_info *)(eth_dev->data->dev_private);
+	struct rte_eth_rxmode *rx_conf = &eth_dev->data->dev_conf.rxmode;
 	struct adapter *adapter = pi->adapter;
 	int err = 0, i;
@@ -362,4 +350,9 @@ int cxgbe_dev_start(struct rte_eth_dev *eth_dev)
 	}
 
+	if (rx_conf->offloads & DEV_RX_OFFLOAD_SCATTER)
+		eth_dev->data->scattered_rx = 1;
+	else
+		eth_dev->data->scattered_rx = 0;
+
 	cxgbe_enable_rx_queues(pi);
 
@@ -408,4 +401,5 @@ void cxgbe_dev_stop(struct rte_eth_dev *eth_dev)
 	 */
 	t4_sge_eth_clear_queues(pi);
+	eth_dev->data->scattered_rx = 0;
 }
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-21 15:59:14.439958982 +0000
+++ 0032-net-cxgbe-announce-Rx-scatter-offload.patch	2018-11-21 15:59:13.000000000 +0000
@@ -1,8 +1,10 @@
-From 0f3ff2445da3697f29a9e1be7a8b51273ddceeac Mon Sep 17 00:00:00 2001
+From f99541eab075732b123cca75a76a31e97ba69dcc Mon Sep 17 00:00:00 2001
 From: Rahul Lakkireddy <rahul.lakkireddy at chelsio.com>
 Date: Mon, 24 Sep 2018 21:35:04 +0530
 Subject: [PATCH] net/cxgbe: announce Rx scatter offload
 
+[ upstream commit 0f3ff2445da3697f29a9e1be7a8b51273ddceeac ]
+
 Scatter Rx is already supported by CXGBE PMD. So, add the missing
 DEV_RX_OFFLOAD_SCATTER flag to the list of supported Rx offload
 features.
@@ -11,20 +13,19 @@
 header file.
 
 Fixes: 436125e64174 ("net/cxgbe: update to Rx/Tx offload API")
-Cc: stable at dpdk.org
 
 Reported-by: Martin Weiser <martin.weiser at allegro-packets.com>
 Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy at chelsio.com>
 ---
- drivers/net/cxgbe/cxgbe.h        | 15 +++++++++++++++
- drivers/net/cxgbe/cxgbe_ethdev.c | 19 +++++++------------
- 2 files changed, 22 insertions(+), 12 deletions(-)
+ drivers/net/cxgbe/cxgbe.h        | 16 ++++++++++++++++
+ drivers/net/cxgbe/cxgbe_ethdev.c | 20 +++++++-------------
+ 2 files changed, 23 insertions(+), 13 deletions(-)
 
 diff --git a/drivers/net/cxgbe/cxgbe.h b/drivers/net/cxgbe/cxgbe.h
-index 5e6f5c98d..eb58f8802 100644
+index 5e6f5c98d..62581abbe 100644
 --- a/drivers/net/cxgbe/cxgbe.h
 +++ b/drivers/net/cxgbe/cxgbe.h
-@@ -35,4 +35,19 @@
+@@ -35,4 +35,20 @@
  #define CXGBE_RSS_HF_ALL (ETH_RSS_IP | ETH_RSS_TCP | ETH_RSS_UDP)
  
 +/* Tx/Rx Offloads supported */
@@ -35,6 +36,7 @@
 +			   DEV_TX_OFFLOAD_TCP_TSO)
 +
 +#define CXGBE_RX_OFFLOADS (DEV_RX_OFFLOAD_VLAN_STRIP | \
++			   DEV_RX_OFFLOAD_CRC_STRIP |\
 +			   DEV_RX_OFFLOAD_IPV4_CKSUM | \
 +			   DEV_RX_OFFLOAD_UDP_CKSUM | \
 +			   DEV_RX_OFFLOAD_TCP_CKSUM | \
@@ -45,10 +47,10 @@
  #define CXGBE_DEVARG_KEEP_OVLAN "keep_ovlan"
  #define CXGBE_DEVARG_FORCE_LINK_UP "force_link_up"
 diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
-index 117263e2b..b2f83ea37 100644
+index 4dcad7a23..cde01210e 100644
 --- a/drivers/net/cxgbe/cxgbe_ethdev.c
 +++ b/drivers/net/cxgbe/cxgbe_ethdev.c
-@@ -60,16 +60,4 @@
+@@ -60,17 +60,4 @@
  #include "t4_pci_id_tbl.h"
  
 -#define CXGBE_TX_OFFLOADS (DEV_TX_OFFLOAD_VLAN_INSERT |\
@@ -58,6 +60,7 @@
 -			   DEV_TX_OFFLOAD_TCP_TSO)
 -
 -#define CXGBE_RX_OFFLOADS (DEV_RX_OFFLOAD_VLAN_STRIP |\
+-			   DEV_RX_OFFLOAD_CRC_STRIP |\
 -			   DEV_RX_OFFLOAD_IPV4_CKSUM |\
 -			   DEV_RX_OFFLOAD_JUMBO_FRAME |\
 -			   DEV_RX_OFFLOAD_UDP_CKSUM |\
@@ -65,13 +68,13 @@
 -
  uint16_t cxgbe_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
  			 uint16_t nb_pkts)
-@@ -341,4 +329,5 @@ int cxgbe_dev_start(struct rte_eth_dev *eth_dev)
+@@ -342,4 +329,5 @@ int cxgbe_dev_start(struct rte_eth_dev *eth_dev)
  {
  	struct port_info *pi = (struct port_info *)(eth_dev->data->dev_private);
 +	struct rte_eth_rxmode *rx_conf = &eth_dev->data->dev_conf.rxmode;
  	struct adapter *adapter = pi->adapter;
  	int err = 0, i;
-@@ -361,4 +350,9 @@ int cxgbe_dev_start(struct rte_eth_dev *eth_dev)
+@@ -362,4 +350,9 @@ int cxgbe_dev_start(struct rte_eth_dev *eth_dev)
  	}
  
 +	if (rx_conf->offloads & DEV_RX_OFFLOAD_SCATTER)
@@ -81,7 +84,7 @@
 +
  	cxgbe_enable_rx_queues(pi);
  
-@@ -407,4 +401,5 @@ void cxgbe_dev_stop(struct rte_eth_dev *eth_dev)
+@@ -408,4 +401,5 @@ void cxgbe_dev_stop(struct rte_eth_dev *eth_dev)
  	 */
  	t4_sge_eth_clear_queues(pi);
 +	eth_dev->data->scattered_rx = 0;


More information about the stable mailing list