Add support for IPsec using rte_security on ConnectX-4 Lx INNOVA NIC. This support is still in progress on all side (RDMA-Core and Linux Kernel) it is only enable at compilation time when the expected symbols are present in Verbs, even in such situation static assert are present to assure the offload request can be understood by the NIC (those values may change once patches in RDMA-Core are up-streamed).
Minor changes expected in v2: - Rebased on top of new offload API. - Eventual modifications to match upstream RDMA-Core and Linux Kernel - RSS on SPI. - ESN support. - Documentation update to explain how to use the INNOVA NIC. Applies on top of: http://dpdk.org/dev/patchwork/patch/31592/ Aviad Yehezkel (2): net/mlx5: add IPsec Tx/Rx offload support net/mlx5: add security capability function Nelio Laranjeiro (4): net: define Mellanox ether type for embed metadata net/mlx5: handle the IPsec support from Verbs net/mlx5: simplify error handling in flow action parsing net/mlx5: add device parameter to enabled IPsec Shahaf Shuler (1): net/mlx5: support security flow action doc/guides/nics/mlx5.rst | 9 + drivers/net/mlx5/Makefile | 6 + drivers/net/mlx5/mlx5.c | 52 ++++++ drivers/net/mlx5/mlx5.h | 10 ++ drivers/net/mlx5/mlx5_ethdev.c | 4 + drivers/net/mlx5/mlx5_flow.c | 395 +++++++++++++++++++++++++++++++++-------- drivers/net/mlx5/mlx5_ipsec.c | 318 +++++++++++++++++++++++++++++++++ drivers/net/mlx5/mlx5_prm.h | 39 ++++ drivers/net/mlx5/mlx5_rxtx.c | 104 ++++++++++- drivers/net/mlx5/mlx5_rxtx.h | 4 +- drivers/net/mlx5/mlx5_txq.c | 1 + lib/librte_net/rte_ether.h | 2 + 12 files changed, 861 insertions(+), 83 deletions(-) create mode 100644 drivers/net/mlx5/mlx5_ipsec.c -- 2.11.0