net/mlx5: fix assertion on flags set in packet mbuf
authorLior Margalit <lmargalit@nvidia.com>
Thu, 23 Dec 2021 08:15:41 +0000 (10:15 +0200)
committerRaslan Darawsheh <rasland@nvidia.com>
Thu, 6 Jan 2022 09:07:30 +0000 (10:07 +0100)
Fixed the assertion on the flags set in pkt->ol_flags for vectorized
MPRQ.  With vectorized MPRQ the CQs are processed before copying the
MPRQ bufs so the valid assertion is that the expected flag is set and
not that the pkt->ol_flags equlas this flag alone.

Fixes: 0f20acbf5eda ("net/mlx5: implement vectorized MPRQ burst")
Cc: stable@dpdk.org
Signed-off-by: Lior Margalit <lmargalit@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5_rx.h

index adb759c..c178f9a 100644 (file)
@@ -543,7 +543,7 @@ mprq_buf_to_pkt(struct mlx5_rxq_data *rxq, struct rte_mbuf *pkt, uint32_t len,
                                          buf_len, shinfo);
                /* Set mbuf head-room. */
                SET_DATA_OFF(pkt, RTE_PKTMBUF_HEADROOM);
-               MLX5_ASSERT(pkt->ol_flags == RTE_MBUF_F_EXTERNAL);
+               MLX5_ASSERT(pkt->ol_flags & RTE_MBUF_F_EXTERNAL);
                MLX5_ASSERT(rte_pktmbuf_tailroom(pkt) >=
                        len - (hdrm_overlap > 0 ? hdrm_overlap : 0));
                DATA_LEN(pkt) = len;