[PATCH v3 1/5] net/cnxk: fix stale offload flag reset

Harman Kalra hkalra at marvell.com
Mon Jun 24 15:24:11 CEST 2024


From: Amit Prakash Shukla <amitprakashs at marvell.com>

mbuf buffer is not reset on tx and hence few fields has stale data from
previous packets. Due to stale offload flags, in one of the scenarios
with OVS, VxLAN offload flag was set while packet did not have the VxLAN
header. In the OVS packet path, the flag was read and accordingly VxLAN
processing was done but as packet did not have VxLAN header it caused
segfault.

This patch resets mbuf offload flags in rx burst function.

Fixes: 46ebc0323151 ("net/cnxk: add eswitch Rx/Tx")

Signed-off-by: Amit Prakash Shukla <amitprakashs at marvell.com>
---
V2:
 * Added fixes tag

drivers/net/cnxk/cnxk_eswitch_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/cnxk/cnxk_eswitch_rxtx.c b/drivers/net/cnxk/cnxk_eswitch_rxtx.c
index d57e32b091..0200392f2d 100644
--- a/drivers/net/cnxk/cnxk_eswitch_rxtx.c
+++ b/drivers/net/cnxk/cnxk_eswitch_rxtx.c
@@ -194,7 +194,7 @@ cnxk_eswitch_dev_rx_burst(struct cnxk_eswitch_dev *eswitch_dev, uint16_t qid,
 			mbuf->vlan_tci = rx->vtag0_tci;
 		/* Populate RSS hash */
 		mbuf->hash.rss = cqe->tag;
-		mbuf->ol_flags |= RTE_MBUF_F_RX_RSS_HASH;
+		mbuf->ol_flags = RTE_MBUF_F_RX_RSS_HASH;
 		pkts[pkt] = mbuf;
 		roc_prefetch_store_keep(mbuf);
 		plt_esw_dbg("Packet %d rec on queue %d esw qid %d hash %x mbuf %p vlan tci %d",
-- 
2.18.0



More information about the dev mailing list