net/mlx5e: FPGA, fix Innova IPsec TX offload data path performance
authorRaed Salem <raeds@mellanox.com>
Mon, 17 Dec 2018 09:40:06 +0000 (11:40 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Feb 2019 18:47:23 +0000 (19:47 +0100)
commit1f1eb00c6ebb5578867cff53572b40ed0c7cb45c
tree2f27a639b89de9d2214d47e7f17210ffc2f31148
parent9143e1dcad3693bbcff01a9b65fff30f25964e41
net/mlx5e: FPGA, fix Innova IPsec TX offload data path performance

[ Upstream commit 82eaa1fa0448da1852d7b80832e67e80a08dcc27 ]

At Innova IPsec TX offload data path a special software parser metadata
is used to pass some packet attributes to the hardware, this metadata
is passed using the Ethernet control segment of a WQE (a HW descriptor)
header.

The cited commit might nullify this header, hence the metadata is lost,
this caused a significant performance drop during hw offloading
operation.

Fix by restoring the metadata at the Ethernet control segment in case
it was nullified.

Fixes: 37fdffb217a4 ("net/mlx5: WQ, fixes for fragmented WQ buffers API")
Signed-off-by: Raed Salem <raeds@mellanox.com>
Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c