patch 'net/mlx5: fix VLAN strip info for CQE compression' has been queued to stable release 23.11.7
Shani Peretz
shperetz at nvidia.com
Wed Apr 15 12:00:11 CEST 2026
Hi,
FYI, your patch has been queued to stable release 23.11.7
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 04/19/26. So please
shout if anyone has objections.
Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Queued patches are on a temporary branch at:
https://github.com/shanipr/dpdk-stable
This queued commit can be viewed at:
https://github.com/shanipr/dpdk-stable/commit/2554b2d1b845e7b501c8845ee176487aebcdd5b3
Thanks.
Shani
---
>From 2554b2d1b845e7b501c8845ee176487aebcdd5b3 Mon Sep 17 00:00:00 2001
From: Dariusz Sosnowski <dsosnowski at nvidia.com>
Date: Fri, 20 Mar 2026 17:00:01 +0100
Subject: [PATCH] net/mlx5: fix VLAN strip info for CQE compression
[ upstream commit 5654f38eba85dc180384d5b2caf621b224da51eb ]
When L3/L4 mini CQE format is used with CQE compression
(rxq_cqe_comp_en set to 4 in lower 3 bits),
each mini CQE reports packet header info for relevant packet.
One bit in that header info is dedicated to CVLAN info,
used to determine whether CVLAN is present in the received packet.
This info is used to determine VLAN stripping info
when relevant offload is enabled.
Before this patch, users might have seen incorrectly set/unset
RTE_MBUF_F_RX_VLAN and RTE_MBUF_F_RX_VLAN_STRIPPED flags because:
- Struct for mlx5 mini CQE incorrectly defined the location
of packet header info byte - it was swapped with neighboring
reserved byte.
- CVLAN bit was checked incorrectly because of cast to uint16_t
and big endian change. It should be checked as uint8_t.
This patch addresses the above.
Fixes: 54c2d46b160f ("net/mlx5: support flow tag and packet header miniCQEs")
Signed-off-by: Dariusz Sosnowski <dsosnowski at nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo at nvidia.com>
---
drivers/common/mlx5/mlx5_prm.h | 2 +-
drivers/net/mlx5/mlx5_rx.c | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h
index a72bc7ab81..cc393b07a1 100644
--- a/drivers/common/mlx5/mlx5_prm.h
+++ b/drivers/common/mlx5/mlx5_prm.h
@@ -5359,8 +5359,8 @@ struct mlx5_mini_cqe8 {
uint16_t checksum;
uint16_t flow_tag_high;
struct {
- uint8_t reserved;
uint8_t hdr_type;
+ uint8_t reserved;
};
};
uint16_t stride_idx;
diff --git a/drivers/net/mlx5/mlx5_rx.c b/drivers/net/mlx5/mlx5_rx.c
index d704d34c75..f06be04bcc 100644
--- a/drivers/net/mlx5/mlx5_rx.c
+++ b/drivers/net/mlx5/mlx5_rx.c
@@ -999,8 +999,7 @@ rxq_cq_to_mbuf(struct mlx5_rxq_data *rxq, struct rte_mbuf *pkt,
vlan_strip = cqe->hdr_type_etc &
RTE_BE16(MLX5_CQE_VLAN_STRIPPED);
else
- vlan_strip = mcqe->hdr_type &
- RTE_BE16(MLX5_CQE_VLAN_STRIPPED);
+ vlan_strip = mcqe->hdr_type & MLX5_CQE_VLAN_STRIPPED;
if (vlan_strip) {
pkt->ol_flags |= RTE_MBUF_F_RX_VLAN | RTE_MBUF_F_RX_VLAN_STRIPPED;
pkt->vlan_tci = rte_be_to_cpu_16(cqe->vlan_info);
--
2.43.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2026-04-14 14:44:35.418585573 +0300
+++ 0070-net-mlx5-fix-VLAN-strip-info-for-CQE-compression.patch 2026-04-14 14:44:28.779514000 +0300
@@ -1 +1 @@
-From 5654f38eba85dc180384d5b2caf621b224da51eb Mon Sep 17 00:00:00 2001
+From 2554b2d1b845e7b501c8845ee176487aebcdd5b3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5654f38eba85dc180384d5b2caf621b224da51eb ]
+
@@ -26 +27,0 @@
-Cc: stable at dpdk.org
@@ -36 +37 @@
-index ba33336e58..11b14e4f9d 100644
+index a72bc7ab81..cc393b07a1 100644
@@ -39 +40 @@
-@@ -5516,8 +5516,8 @@ struct mlx5_mini_cqe8 {
+@@ -5359,8 +5359,8 @@ struct mlx5_mini_cqe8 {
@@ -50 +51 @@
-index bc0470e6af..da871fd18a 100644
+index d704d34c75..f06be04bcc 100644
@@ -53 +54 @@
-@@ -1000,8 +1000,7 @@ rxq_cq_to_mbuf(struct mlx5_rxq_data *rxq, struct rte_mbuf *pkt,
+@@ -999,8 +999,7 @@ rxq_cq_to_mbuf(struct mlx5_rxq_data *rxq, struct rte_mbuf *pkt,
More information about the stable
mailing list