numam-dpdk/drivers
Alexander Kozyrev 6d5735c1cb net/mlx5: fix meta register conversion for extensive mode
Register C is used in the extensive metadata mode number 1 and its
width can vary from 0 to 32 bits depending on the kernel usage of it.

There are several issues associated with this mode (dv_xmeta_en=1):
1. The metadata setting assumes that the width is always 16 bits,
which is the most common case in this mode. Use the proper mask.
2. The same is true for the modify_field Flow API. 16-bits width
is hardcoded for dv_xmeta_en=1. Switch to the register C mask width.
3. Metadata is stored in the most significant bits in CQE in this
mode because the registers copy code was not updated during the
metadata conversion to the big-endian format. Update this code to
avoid shifting the metadata in the datapath.

Fixes: b57e414b48 ("net/mlx5: convert meta register to big-endian")
Cc: stable@dpdk.org

Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
2021-07-22 16:24:56 +02:00
..
baseband log: register with standardized names 2021-05-11 15:17:55 +02:00
bus bus/pci: fix leak for unbound devices 2021-07-06 11:27:55 +02:00
common net/mlx5: check VLAN push/pop support 2021-07-22 15:40:01 +02:00
compress compress/mlx5: fix overflow in queue size 2021-07-22 14:47:32 +02:00
crypto crypto/mlx5: migrate to bus-agnostic common interface 2021-07-22 00:11:14 +02:00
event event/cnxk: support vectorized Tx event fast path 2021-07-16 14:16:50 +02:00
mempool mempool/octeontx2: fix shift calculation 2021-06-30 18:42:54 +02:00
net net/mlx5: fix meta register conversion for extensive mode 2021-07-22 16:24:56 +02:00
raw raw/ioat: fix termination descriptor for batch 2021-07-20 15:28:43 +02:00
regex regex/mlx5: fix redundancy in device removal 2021-07-22 15:19:37 +02:00
vdpa vdpa/mlx5: fix overflow in queue attribute 2021-07-22 14:48:07 +02:00
meson.build log: register with standardized names 2021-05-11 15:17:55 +02:00