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

Reply via email to