Add support for inline crypto for IPsec, for ESP transport and tunnel over IPv4 and IPv6, as well as supporting the offload for ESP over UDP, and inconjunction with TSO for UDP and TCP flows.
Depends on series "new features for ipsec and security libraries" https://patchwork.dpdk.org/project/dpdk/list/?series=19658 Radu Nicolau (7): common/iavf: add iAVF IPsec inline crypto support net/iavf: rework tx path net/iavf: add support for asynchronous virt channel messages net/iavf: add iAVF IPsec inline crypto support net/iavf: add xstats support for inline IPsec crypto net/iavf: add watchdog for VFLR net/iavf: update doc with inline crypto support doc/guides/nics/features/iavf.ini | 2 + doc/guides/nics/intel_vf.rst | 10 + doc/guides/rel_notes/release_21_11.rst | 1 + drivers/common/iavf/iavf_type.h | 1 + drivers/common/iavf/virtchnl.h | 17 +- drivers/common/iavf/virtchnl_inline_ipsec.h | 553 +++++ drivers/net/iavf/iavf.h | 52 +- drivers/net/iavf/iavf_ethdev.c | 219 +- drivers/net/iavf/iavf_generic_flow.c | 15 + drivers/net/iavf/iavf_generic_flow.h | 2 + drivers/net/iavf/iavf_ipsec_crypto.c | 1891 +++++++++++++++++ drivers/net/iavf/iavf_ipsec_crypto.h | 160 ++ .../net/iavf/iavf_ipsec_crypto_capabilities.h | 383 ++++ drivers/net/iavf/iavf_rxtx.c | 710 +++++-- drivers/net/iavf/iavf_rxtx.h | 198 +- drivers/net/iavf/iavf_rxtx_vec_sse.c | 10 +- drivers/net/iavf/iavf_vchnl.c | 168 +- drivers/net/iavf/meson.build | 3 +- drivers/net/iavf/rte_pmd_iavf.h | 1 + drivers/net/iavf/version.map | 3 + 20 files changed, 4088 insertions(+), 311 deletions(-) create mode 100644 drivers/common/iavf/virtchnl_inline_ipsec.h create mode 100644 drivers/net/iavf/iavf_ipsec_crypto.c create mode 100644 drivers/net/iavf/iavf_ipsec_crypto.h create mode 100644 drivers/net/iavf/iavf_ipsec_crypto_capabilities.h -- v2: small updates and fixes in the flow related section v3: split the huge patch and address feedback v4: small changes due to dependencies changes v5: updated the watchdow patch v6: rebased and updated the common section v7: fixed TSO issue and disabled watchdog by default v8: rebased to next-net-intel and added doc updates 2.25.1