From: Amit Prakash Shukla <amitpraka...@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. Signed-off-by: Amit Prakash Shukla <amitpraka...@marvell.com> --- 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