patch 'net/ice: fix path selection for QinQ Tx offload' has been queued to stable release 22.11.11
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Thu Nov 20 13:44:35 CET 2025
Hi,
FYI, your patch has been queued to stable release 22.11.11
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/22/25. 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. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable
This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/b3fc7f52fa16e82fe4c94b7d4d0681b8908187f8
Thanks.
Luca Boccassi
---
>From b3fc7f52fa16e82fe4c94b7d4d0681b8908187f8 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson at intel.com>
Date: Wed, 12 Nov 2025 11:57:26 +0000
Subject: [PATCH] net/ice: fix path selection for QinQ Tx offload
[ upstream commit 61ccab85e3972d6e3ee61b3e6a6a6872a33e5ac3 ]
The capabilities flag for the vector offload path include the QinQ
offload capability, but in fact the offload path lacks any ability to
create context descriptors. This means that it cannot insert multiple
vlan tags for QinQ support, so move the offload from the VECTOR_OFFLOAD
list to the NO_VECTOR list. Similarly, remove any check for the QinQ
mbuf flag in any packets being transmitted, since that offload is
invalid to request if the feature is not enabled.
Fixes: 808a17b3c1e6 ("net/ice: add Rx AVX512 offload path")
Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
Acked-by: Ciara Loftus <ciara.loftus at intel.com>
---
drivers/net/ice/ice_rxtx_vec_common.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ice/ice_rxtx_vec_common.h b/drivers/net/ice/ice_rxtx_vec_common.h
index d745eda567..fa6db8f44f 100644
--- a/drivers/net/ice/ice_rxtx_vec_common.h
+++ b/drivers/net/ice/ice_rxtx_vec_common.h
@@ -249,6 +249,7 @@ ice_rxq_vec_setup_default(struct ice_rx_queue *rxq)
#define ICE_TX_NO_VECTOR_FLAGS ( \
RTE_ETH_TX_OFFLOAD_MULTI_SEGS | \
+ RTE_ETH_TX_OFFLOAD_QINQ_INSERT | \
RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM | \
RTE_ETH_TX_OFFLOAD_TCP_TSO | \
RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO | \
@@ -259,7 +260,6 @@ ice_rxq_vec_setup_default(struct ice_rx_queue *rxq)
#define ICE_TX_VECTOR_OFFLOAD ( \
RTE_ETH_TX_OFFLOAD_VLAN_INSERT | \
- RTE_ETH_TX_OFFLOAD_QINQ_INSERT | \
RTE_ETH_TX_OFFLOAD_IPV4_CKSUM | \
RTE_ETH_TX_OFFLOAD_SCTP_CKSUM | \
RTE_ETH_TX_OFFLOAD_UDP_CKSUM | \
@@ -415,8 +415,8 @@ ice_txd_enable_offload(struct rte_mbuf *tx_pkt,
*txd_hi |= ((uint64_t)td_offset) << ICE_TXD_QW1_OFFSET_S;
- /* Tx VLAN/QINQ insertion Offload */
- if (ol_flags & (RTE_MBUF_F_TX_VLAN | RTE_MBUF_F_TX_QINQ)) {
+ /* Tx VLAN insertion Offload */
+ if (ol_flags & RTE_MBUF_F_TX_VLAN) {
td_cmd |= ICE_TX_DESC_CMD_IL2TAG1;
*txd_hi |= ((uint64_t)tx_pkt->vlan_tci <<
ICE_TXD_QW1_L2TAG1_S);
--
2.47.3
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-11-20 12:44:12.908113645 +0000
+++ 0003-net-ice-fix-path-selection-for-QinQ-Tx-offload.patch 2025-11-20 12:44:12.770087792 +0000
@@ -1 +1 @@
-From 61ccab85e3972d6e3ee61b3e6a6a6872a33e5ac3 Mon Sep 17 00:00:00 2001
+From b3fc7f52fa16e82fe4c94b7d4d0681b8908187f8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 61ccab85e3972d6e3ee61b3e6a6a6872a33e5ac3 ]
+
@@ -15 +16,0 @@
-Cc: stable at dpdk.org
@@ -20 +21 @@
- drivers/net/intel/ice/ice_rxtx_vec_common.h | 6 +++---
+ drivers/net/ice/ice_rxtx_vec_common.h | 6 +++---
@@ -23,5 +24,5 @@
-diff --git a/drivers/net/intel/ice/ice_rxtx_vec_common.h b/drivers/net/intel/ice/ice_rxtx_vec_common.h
-index a24694c0b1..39581cb7ae 100644
---- a/drivers/net/intel/ice/ice_rxtx_vec_common.h
-+++ b/drivers/net/intel/ice/ice_rxtx_vec_common.h
-@@ -53,6 +53,7 @@ _ice_rx_queue_release_mbufs_vec(struct ci_rx_queue *rxq)
+diff --git a/drivers/net/ice/ice_rxtx_vec_common.h b/drivers/net/ice/ice_rxtx_vec_common.h
+index d745eda567..fa6db8f44f 100644
+--- a/drivers/net/ice/ice_rxtx_vec_common.h
++++ b/drivers/net/ice/ice_rxtx_vec_common.h
+@@ -249,6 +249,7 @@ ice_rxq_vec_setup_default(struct ice_rx_queue *rxq)
@@ -35 +36 @@
-@@ -64,7 +65,6 @@ _ice_rx_queue_release_mbufs_vec(struct ci_rx_queue *rxq)
+@@ -259,7 +260,6 @@ ice_rxq_vec_setup_default(struct ice_rx_queue *rxq)
@@ -43 +44 @@
-@@ -195,8 +195,8 @@ ice_txd_enable_offload(struct rte_mbuf *tx_pkt,
+@@ -415,8 +415,8 @@ ice_txd_enable_offload(struct rte_mbuf *tx_pkt,
More information about the stable
mailing list