* [PATCH] net/ice: fix path selection for QinQ Tx offload
@ 2025-11-12 11:57 Bruce Richardson
2025-11-12 13:46 ` Loftus, Ciara
0 siblings, 1 reply; 3+ messages in thread
From: Bruce Richardson @ 2025-11-12 11:57 UTC (permalink / raw)
To: dev; +Cc: Bruce Richardson, stable
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")
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/intel/ice/ice_rxtx_vec_common.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/intel/ice/ice_rxtx_vec_common.h b/drivers/net/intel/ice/ice_rxtx_vec_common.h
index a7cc4736cf..62047e9f2f 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)
#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 | \
@@ -63,7 +64,6 @@ _ice_rx_queue_release_mbufs_vec(struct ci_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 | \
@@ -194,8 +194,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.48.1
^ permalink raw reply [flat|nested] 3+ messages in thread* RE: [PATCH] net/ice: fix path selection for QinQ Tx offload
2025-11-12 11:57 [PATCH] net/ice: fix path selection for QinQ Tx offload Bruce Richardson
@ 2025-11-12 13:46 ` Loftus, Ciara
2025-11-12 16:25 ` Bruce Richardson
0 siblings, 1 reply; 3+ messages in thread
From: Loftus, Ciara @ 2025-11-12 13:46 UTC (permalink / raw)
To: Richardson, Bruce, dev; +Cc: Richardson, Bruce, stable
> Subject: [PATCH] net/ice: fix path selection for QinQ Tx offload
>
> 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")
> Cc: stable@dpdk.org
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Ciara Loftus <ciara.loftus@intel.com>
> ---
> drivers/net/intel/ice/ice_rxtx_vec_common.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/intel/ice/ice_rxtx_vec_common.h
> b/drivers/net/intel/ice/ice_rxtx_vec_common.h
> index a7cc4736cf..62047e9f2f 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)
>
> #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 | \
> @@ -63,7 +64,6 @@ _ice_rx_queue_release_mbufs_vec(struct ci_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 | \
> @@ -194,8 +194,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.48.1
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] net/ice: fix path selection for QinQ Tx offload
2025-11-12 13:46 ` Loftus, Ciara
@ 2025-11-12 16:25 ` Bruce Richardson
0 siblings, 0 replies; 3+ messages in thread
From: Bruce Richardson @ 2025-11-12 16:25 UTC (permalink / raw)
To: Loftus, Ciara; +Cc: dev, stable
On Wed, Nov 12, 2025 at 01:46:58PM +0000, Loftus, Ciara wrote:
> > Subject: [PATCH] net/ice: fix path selection for QinQ Tx offload
> >
> > 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")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
>
> Acked-by: Ciara Loftus <ciara.loftus@intel.com>
>
Applied to dpdk-next-net-intel
/Bruce
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-11-12 16:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-12 11:57 [PATCH] net/ice: fix path selection for QinQ Tx offload Bruce Richardson
2025-11-12 13:46 ` Loftus, Ciara
2025-11-12 16:25 ` Bruce Richardson
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).