mbox series

[0/4] iavf: add iAVF IPsec inline crypto support

Message ID 20210909142428.750634-1-radu.nicolau@intel.com (mailing list archive)
Headers
Series iavf: add iAVF IPsec inline crypto support |

Message

Radu Nicolau Sept. 9, 2021, 2:24 p.m. UTC
  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.

Radu Nicolau (4):
  common/iavf: add iAVF IPsec inline crypto support
  net/iavf: add iAVF IPsec inline crypto support
  net/iavf: Add xstats support for inline IPsec crypto
  net/iavf: add watchdog for VFLR

 drivers/common/iavf/iavf_type.h               |  215 +-
 drivers/common/iavf/virtchnl.h                |   17 +-
 drivers/common/iavf/virtchnl_inline_ipsec.h   |  553 +++++
 drivers/net/iavf/iavf.h                       |   53 +-
 drivers/net/iavf/iavf_ethdev.c                |  222 +-
 drivers/net/iavf/iavf_generic_flow.c          |   11 +
 drivers/net/iavf/iavf_generic_flow.h          |    2 +
 drivers/net/iavf/iavf_ipsec_crypto.c          | 1921 +++++++++++++++++
 drivers/net/iavf/iavf_ipsec_crypto.h          |   96 +
 .../net/iavf/iavf_ipsec_crypto_capabilities.h |  383 ++++
 drivers/net/iavf/iavf_rxtx.c                  |  803 +++++--
 drivers/net/iavf/iavf_rxtx.h                  |  567 ++++-
 drivers/net/iavf/iavf_rxtx_vec_sse.c          |   10 +-
 drivers/net/iavf/iavf_vchnl.c                 |  166 +-
 drivers/net/iavf/meson.build                  |    3 +-
 drivers/net/iavf/rte_pmd_iavf.h               |    1 +
 16 files changed, 4684 insertions(+), 339 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
  

Comments

Radu Nicolau Oct. 28, 2021, 4:04 p.m. UTC | #1
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.

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                       |   61 +-
 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          | 1894 +++++++++++++++++
 drivers/net/iavf/iavf_ipsec_crypto.h          |  160 ++
 .../net/iavf/iavf_ipsec_crypto_capabilities.h |  383 ++++
 drivers/net/iavf/iavf_rxtx.c                  |  716 +++++--
 drivers/net/iavf/iavf_rxtx.h                  |  212 +-
 drivers/net/iavf/iavf_rxtx_vec_sse.c          |   10 +-
 drivers/net/iavf/iavf_vchnl.c                 |  169 +-
 drivers/net/iavf/meson.build                  |    3 +-
 drivers/net/iavf/rte_pmd_iavf.h               |    1 +
 drivers/net/iavf/version.map                  |    3 +
 20 files changed, 4113 insertions(+), 319 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
  
Qi Zhang Oct. 29, 2021, 2:21 a.m. UTC | #2
> -----Original Message-----
> From: Nicolau, Radu <radu.nicolau@intel.com>
> Sent: Friday, October 29, 2021 12:05 AM
> Cc: dev@dpdk.org; Doherty, Declan <declan.doherty@intel.com>; Sinha,
> Abhijit <abhijit.sinha@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>;
> Zhang, Qi Z <qi.z.zhang@intel.com>; Xing, Beilei <beilei.xing@intel.com>;
> Richardson, Bruce <bruce.richardson@intel.com>; Ananyev, Konstantin
> <konstantin.ananyev@intel.com>; Nicolau, Radu <radu.nicolau@intel.com>
> Subject: [PATCH v13 0/7] iavf: add iAVF IPsec inline crypto support
> 
> 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.
> 
> 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                       |   61 +-
>  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          | 1894 +++++++++++++++++
>  drivers/net/iavf/iavf_ipsec_crypto.h          |  160 ++
>  .../net/iavf/iavf_ipsec_crypto_capabilities.h |  383 ++++
>  drivers/net/iavf/iavf_rxtx.c                  |  716 +++++--
>  drivers/net/iavf/iavf_rxtx.h                  |  212 +-
>  drivers/net/iavf/iavf_rxtx_vec_sse.c          |   10 +-
>  drivers/net/iavf/iavf_vchnl.c                 |  169 +-
>  drivers/net/iavf/meson.build                  |    3 +-
>  drivers/net/iavf/rte_pmd_iavf.h               |    1 +
>  drivers/net/iavf/version.map                  |    3 +
>  20 files changed, 4113 insertions(+), 319 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
> v9: fixed IV len for AEAD and GMAC
> v10: removed blank lines at EOF
> v11: rebased patchset
> v12: rebased patchset to RC1
> v13: fixed coding style issues
> 
> 2.25.1

Applied to dpdk-next-net-intel.

Thanks
Qi