patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH] net/mlx5: fix wrong Flow Tag decompression
@ 2021-01-14 21:32 Alexander Kozyrev
  2021-01-21 14:12 ` Slava Ovsiienko
  2021-01-24  9:32 ` Raslan Darawsheh
  0 siblings, 2 replies; 3+ messages in thread
From: Alexander Kozyrev @ 2021-01-14 21:32 UTC (permalink / raw)
  To: dev; +Cc: stable, rasland, viacheslavo, matan

Packets can get a wrong Flow Tag on x86 architecture with the Flow Tag
compression format (rxq_cqe_comp_en=2) enabled inside the SSE Rx burst.
The shuffle mask that extracts a Flow Tag from the pair of compressed
CQEs is reversed. This leads to the wrong Flow Tag assignment.
Correct the shuffle mask to get proper bytes for a Flow Tag from miniCQEs.

Fixes: 54c2d46b160 ("net/mlx5: support flow tag and packet header miniCQEs")
Cc: stable@dpdk.org

Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
---
 drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_sse.h b/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
index d4df9816aa..0b3f240e10 100644
--- a/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
+++ b/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
@@ -197,8 +197,8 @@ rxq_cq_decompress_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
 				const __m128i flow_mark_adj =
 					_mm_set_epi32(-1, -1, -1, -1);
 				const __m128i flow_mark_shuf =
-					_mm_set_epi8(-1,  1,  0,  4,
-						     -1,  9,  8, 12,
+					_mm_set_epi8(-1,  9,  8, 12,
+						     -1,  1,  0,  4,
 						     -1, -1, -1, -1,
 						     -1, -1, -1, -1);
 				const __m128i ft_mask =
-- 
2.24.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-01-24  9:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-14 21:32 [dpdk-stable] [PATCH] net/mlx5: fix wrong Flow Tag decompression Alexander Kozyrev
2021-01-21 14:12 ` Slava Ovsiienko
2021-01-24  9:32 ` Raslan Darawsheh

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ https://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git