[PATCH] net/iavf: fix order of tags for AVX512 Tx QinQ offload
Ciara Loftus
ciara.loftus at intel.com
Fri Mar 6 16:10:32 CET 2026
The tags were not inserted the correct order in the bulk context
descriptor function on the AVX512 path. Fix it so that it is consistent
with the single packet function and the scalar path implementation.
Fixes: 23ef9b485dec ("net/iavf: fix conditions for AVX-512 VLAN offload")
Cc: stable at dpdk.org
Signed-off-by: Ciara Loftus <ciara.loftus at intel.com>
---
drivers/net/intel/iavf/iavf_rxtx_vec_avx512.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/intel/iavf/iavf_rxtx_vec_avx512.c b/drivers/net/intel/iavf/iavf_rxtx_vec_avx512.c
index 9a93a0b062..4e8bf94fa0 100644
--- a/drivers/net/intel/iavf/iavf_rxtx_vec_avx512.c
+++ b/drivers/net/intel/iavf/iavf_rxtx_vec_avx512.c
@@ -2125,8 +2125,8 @@ ctx_vtx(volatile struct ci_tx_desc *txdp,
if (offload) {
if (pkt[1]->ol_flags & RTE_MBUF_F_TX_QINQ) {
uint64_t qinq_tag = vlan_flag & IAVF_TX_FLAGS_VLAN_TAG_LOC_L2TAG2 ?
- (uint64_t)pkt[1]->vlan_tci :
- (uint64_t)pkt[1]->vlan_tci_outer;
+ (uint64_t)pkt[1]->vlan_tci_outer :
+ (uint64_t)pkt[1]->vlan_tci;
hi_ctx_qw1 |= CI_TX_CTX_DESC_IL2TAG2 << CI_TXD_QW1_CMD_S;
low_ctx_qw1 |= qinq_tag << IAVF_TXD_CTX_QW0_L2TAG2_PARAM;
} else if (pkt[1]->ol_flags & RTE_MBUF_F_TX_VLAN &&
@@ -2145,8 +2145,8 @@ ctx_vtx(volatile struct ci_tx_desc *txdp,
if (offload) {
if (pkt[0]->ol_flags & RTE_MBUF_F_TX_QINQ) {
uint64_t qinq_tag = vlan_flag & IAVF_TX_FLAGS_VLAN_TAG_LOC_L2TAG2 ?
- (uint64_t)pkt[0]->vlan_tci :
- (uint64_t)pkt[0]->vlan_tci_outer;
+ (uint64_t)pkt[0]->vlan_tci_outer :
+ (uint64_t)pkt[0]->vlan_tci;
hi_ctx_qw0 |= IAVF_TX_CTX_DESC_IL2TAG2 << CI_TXD_QW1_CMD_S;
low_ctx_qw0 |= qinq_tag << IAVF_TXD_CTX_QW0_L2TAG2_PARAM;
} else if (pkt[0]->ol_flags & RTE_MBUF_F_TX_VLAN &&
--
2.43.0
More information about the dev
mailing list