[v1] net/mlx5: fix assertion on the flags set in pkt mbuf

Message ID 20211223081541.3095005-1-lmargalit@nvidia.com (mailing list archive)
State Accepted, archived
Delegated to: Raslan Darawsheh
Headers
Series [v1] net/mlx5: fix assertion on the flags set in pkt mbuf |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/github-robot: build success github build: passed
ci/iol-aarch64-unit-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS

Commit Message

Lior Margalit Dec. 23, 2021, 8:15 a.m. UTC
  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: akozyrev@nvidia.com
Cc: stable@dpdk.org

Signed-off-by: Lior Margalit <lmargalit@nvidia.com>
Acked-by: Slava Ovsiienko <viacheslavo@nvidia.com>
---
 drivers/net/mlx5/mlx5_rx.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Raslan Darawsheh Jan. 9, 2022, 11:54 a.m. UTC | #1
Hi,

> -----Original Message-----
> From: Lior Margalit <lmargalit@nvidia.com>
> Sent: Thursday, December 23, 2021 10:16 AM
> To: Slava Ovsiienko <viacheslavo@nvidia.com>
> Cc: Lior Margalit <lmargalit@nvidia.com>; dev@dpdk.org; Alexander Kozyrev
> <akozyrev@nvidia.com>; stable@dpdk.org
> Subject: [PATCH v1] net/mlx5: fix assertion on the flags set in pkt mbuf
> 
> 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: akozyrev@nvidia.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Lior Margalit <lmargalit@nvidia.com>
> Acked-by: Slava Ovsiienko <viacheslavo@nvidia.com>

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh
  

Patch

diff --git a/drivers/net/mlx5/mlx5_rx.h b/drivers/net/mlx5/mlx5_rx.h
index adb759c235..c178f9a24b 100644
--- a/drivers/net/mlx5/mlx5_rx.h
+++ b/drivers/net/mlx5/mlx5_rx.h
@@ -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;