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:
54c2d46b160f ("net/mlx5: support flow tag and packet header miniCQEs")
Cc: stable@dpdk.org
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
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 =