mbox series

[v12,0/7] iavf: add iAVF IPsec inline crypto support

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

Message

Radu Nicolau Oct. 26, 2021, 1:56 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 (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          | 1894 +++++++++++++++++
 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                  |  212 +-
 drivers/net/iavf/iavf_rxtx_vec_sse.c          |   10 +-
 drivers/net/iavf/iavf_vchnl.c                 |  167 +-
 drivers/net/iavf/meson.build                  |    3 +-
 drivers/net/iavf/rte_pmd_iavf.h               |    1 +
 drivers/net/iavf/version.map                  |    3 +
 20 files changed, 4098 insertions(+), 317 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

Qi Zhang Oct. 27, 2021, 12:36 a.m. UTC | #1
> -----Original Message-----
> From: Nicolau, Radu <radu.nicolau@intel.com>
> Sent: Tuesday, October 26, 2021 9:57 PM
> 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 v12 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                       |   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          | 1894 +++++++++++++++++
>  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                  |  212 +-
>  drivers/net/iavf/iavf_rxtx_vec_sse.c          |   10 +-
>  drivers/net/iavf/iavf_vchnl.c                 |  167 +-
>  drivers/net/iavf/meson.build                  |    3 +-
>  drivers/net/iavf/rte_pmd_iavf.h               |    1 +
>  drivers/net/iavf/version.map                  |    3 +
>  20 files changed, 4098 insertions(+), 317 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
> 
> 2.25.1

Applied to dpdk-next-net-intel.

Thanks
Qi
  
Ferruh Yigit Oct. 28, 2021, 2:47 p.m. UTC | #2
On 10/26/2021 2:56 PM, Radu Nicolau wrote:
> 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
> 

Hi Radu,

'./devtools/checkpatches.sh' complains about 'rte_atomicNN_xxx' usage:

Warning in drivers/net/iavf/iavf.h:
Using rte_atomicNN_xxx


We prefer C11 atomic builtins in new code, '__atomic_*',
can you please update to them.

There is some documentation around it, although it doesn't have much detail:
https://doc.dpdk.org/guides/prog_guide/writing_efficient_code.html#locks-and-atomic-operations


And since you will send a new version, there are a few warnings on
'./devtools/checkpatches.sh' & './devtools/check-git-log.sh', can you please
check them too?

Thanks,
ferruh