numam-dpdk/drivers/net/mlx5
Bing Zhao 6728fe9305 net/mlx5: fix Tx metadata endianness in data path
The metadata can be set in the mbuf dynamic field and then used in
flow rules steering for egress direction. The hardware requires
network order for both the insertion of a rule and sending a packet.
Indeed, there is no strict restriction for the endianness. The order
for sending a packet and its steering rule should be consistent.

In the past, there was no endianness conversion due to the
performance reason. The flow rule converted the metadata into little
endian for hardware (if needed) and the packet hit the flow rule also
with little endian.

After the metadata was converted to big endian, the missing adaption
in the data path resulted in a flow miss of the egress packets.

Converting the metadata to big endian before posting a WQE to the
hardware solves this issue.

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

Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
2021-09-29 23:29:38 +02:00
..
linux net/mlx5: fix duplicate pattern option default 2021-09-20 23:13:40 +02:00
windows net: add macro to extract MAC address bytes 2021-09-07 19:08:05 +02:00
meson.build net/mlx5: export PMD-specific API file 2021-07-22 17:23:26 +02:00
mlx5_defs.h net/mlx5: optimize hash list table allocate on demand 2021-07-15 16:09:22 +02:00
mlx5_devx.c net/mlx5: fix Rx queue timestamp format 2021-06-24 13:19:50 +02:00
mlx5_devx.h net/mlx5: share Tx control code 2020-10-09 13:17:42 +02:00
mlx5_ethdev.c net/mlx5: reduce PCI dependency 2021-07-22 00:11:14 +02:00
mlx5_flow_aso.c net/mlx5: support meter for trTCM profiles 2021-07-22 13:29:01 +02:00
mlx5_flow_dv.c eal: remove sys/queue.h from public headers 2021-10-01 13:09:43 +02:00
mlx5_flow_meter.c eal: remove sys/queue.h from public headers 2021-10-01 13:09:43 +02:00
mlx5_flow_verbs.c net/mlx5: fix VXLAN VNI matching on ConnectX-5 2021-08-03 14:43:28 +02:00
mlx5_flow.c net/mlx5: fix RSS expansion traversal over next nodes 2021-09-13 21:56:10 +02:00
mlx5_flow.h ethdev: use extension header for GTP PSC item 2021-09-28 12:34:58 +02:00
mlx5_mac.c net/mlx5: support Sub-Function 2021-07-22 00:11:14 +02:00
mlx5_mr.c net/mlx5: migrate to bus-agnostic common interface 2021-07-22 00:11:14 +02:00
mlx5_mr.h common/mlx5: remove inclusion of Verbs header files 2020-07-21 15:46:30 +02:00
mlx5_rss.c net/mlx5: separate Rx function declarations to another file 2021-04-15 08:24:49 +02:00
mlx5_rx.c net/mlx5: fix meta register conversion for extensive mode 2021-07-22 16:24:56 +02:00
mlx5_rx.h common/mlx5: call list callbacks with context 2021-07-15 16:09:17 +02:00
mlx5_rxmode.c net/mlx5: support Sub-Function 2021-07-22 00:11:14 +02:00
mlx5_rxq.c net/mlx5: fix representor interrupt handler 2021-07-29 18:01:15 +02:00
mlx5_rxtx_vec_altivec.h net/mlx5: fix meta register conversion for extensive mode 2021-07-22 16:24:56 +02:00
mlx5_rxtx_vec_neon.h net/mlx5: fix meta register conversion for extensive mode 2021-07-22 16:24:56 +02:00
mlx5_rxtx_vec_sse.h net/mlx5: fix meta register conversion for extensive mode 2021-07-22 16:24:56 +02:00
mlx5_rxtx_vec.c net/mlx5: fix mbuf replenishment check for zipped CQE 2021-08-19 10:13:40 +02:00
mlx5_rxtx_vec.h net/mlx5: implement vectorized MPRQ burst 2020-11-03 23:24:25 +01:00
mlx5_rxtx.c net/mlx5: separate Tx burst functions to different files 2021-04-15 08:24:59 +02:00
mlx5_rxtx.h net/mlx5: migrate to bus-agnostic common interface 2021-07-22 00:11:14 +02:00
mlx5_stats.c net/mlx5: separate Tx function declarations to another file 2021-04-15 08:24:53 +02:00
mlx5_trigger.c net/mlx5: fix queue leaking in hairpin auto bind check 2021-07-29 18:01:19 +02:00
mlx5_tx_empw.c net/mlx5: separate Tx burst functions to different files 2021-04-15 08:24:59 +02:00
mlx5_tx_mpw.c net/mlx5: separate Tx burst functions to different files 2021-04-15 08:24:59 +02:00
mlx5_tx_nompw.c net/mlx5: separate Tx burst functions to different files 2021-04-15 08:24:59 +02:00
mlx5_tx_txpp.c net/mlx5: separate Tx burst functions to different files 2021-04-15 08:24:59 +02:00
mlx5_tx.c net/mlx5: separate Tx function implementations to new file 2021-04-15 08:24:58 +02:00
mlx5_tx.h net/mlx5: fix Tx metadata endianness in data path 2021-09-29 23:29:38 +02:00
mlx5_txpp.c net/mlx5: fix timestamp initialization on empty clock queue 2021-07-29 18:01:23 +02:00
mlx5_txq.c net/mlx5: fix Rx/Tx queue checks 2021-07-22 15:49:33 +02:00
mlx5_utils.c common/mlx5: move list utility from net driver 2021-07-15 15:19:13 +02:00
mlx5_utils.h common/mlx5: move list utility from net driver 2021-07-15 15:19:13 +02:00
mlx5_vlan.c net/mlx5: separate Rx function declarations to another file 2021-04-15 08:24:49 +02:00
mlx5.c net/mlx5: fix flow tables double release 2021-09-29 21:56:43 +02:00
mlx5.h net/mlx5: fix PF leak on PCI probing failure 2021-09-20 23:12:10 +02:00
rte_pmd_mlx5.h net/mlx5: add flow sync API 2020-11-03 23:35:04 +01:00
version.map version: 21.11-rc0 2021-08-17 08:37:52 +02:00