mbox series

[v2,0/9] drivers/crypto: introduce ipsec_mb framework

Message ID 20210923152810.515354-1-ciara.power@intel.com (mailing list archive)
Headers show
Series drivers/crypto: introduce ipsec_mb framework | expand

Message

Power, Ciara Sept. 23, 2021, 3:28 p.m. UTC
This set of patches introduces a new framework, making all common code of
SW crypto PMD implementations built on top of intel-ipsec-mb library
sharable. This helps to reduce future effort on the code maintenance and
future updates. It also moves all SW PMD implementation specific details
into single files located in the crypto/ipsec_mb folder.
A chacha20-poly1305 SW PMD is added based on this framework.
The minimum intel-ipsec-mb version required is bumped to 1.0.

v2:
  - Added qp NULL check in get stats function.
  - Updated maintainers file.
  - Replaced use of strlcpy with rte_strlcpy.
  - Fixed enum for GCM key length.
  - Updated release notes.
  - Added Chacha20_poly1305 PMD documentation.


Ciara Power (1):
  doc/rel_notes: added note for SW Crypto PMD change

Fan Zhang (1):
  drivers/crypto: introduce IPsec-mb framework

Kai Ji (1):
  crypto/ipsec_mb: add chacha20-poly1305 PMD to framework

Piotr Bronowski (6):
  drivers/crypto: move aesni-mb PMD to IPsec-mb framework
  drivers/crypto: move aesni-gcm PMD to IPsec-mb framework
  drivers/crypto: move kasumi PMD to IPsec-mb framework
  drivers/crypto: move snow3g PMD to IPsec-mb framework
  crypto/ipsec_mb: add snow3g digest appended ops support
  drivers/crypto: move zuc PMD to IPsec-mb framework

 MAINTAINERS                                   |   39 +-
 app/test/test_cryptodev.c                     |   23 +
 app/test/test_cryptodev.h                     |    1 +
 app/test/test_cryptodev_aead_test_vectors.h   |  114 ++
 doc/guides/cryptodevs/aesni_gcm.rst           |    4 +-
 doc/guides/cryptodevs/aesni_mb.rst            |    4 +-
 doc/guides/cryptodevs/chacha20_poly1305.rst   |   99 +
 .../cryptodevs/features/chacha20_poly1305.ini |   35 +
 doc/guides/cryptodevs/features/snow3g.ini     |    1 +
 doc/guides/cryptodevs/index.rst               |    1 +
 doc/guides/cryptodevs/kasumi.rst              |    3 +-
 doc/guides/cryptodevs/snow3g.rst              |    3 +-
 doc/guides/cryptodevs/zuc.rst                 |    3 +-
 doc/guides/rel_notes/release_21_11.rst        |   25 +
 drivers/crypto/aesni_gcm/aesni_gcm_ops.h      |  104 -
 drivers/crypto/aesni_gcm/aesni_gcm_pmd.c      |  984 ---------
 drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c  |  333 ----
 .../crypto/aesni_gcm/aesni_gcm_pmd_private.h  |  123 --
 drivers/crypto/aesni_gcm/meson.build          |   24 -
 .../crypto/aesni_mb/aesni_mb_pmd_private.h    |  337 ----
 drivers/crypto/aesni_mb/meson.build           |   25 -
 .../crypto/aesni_mb/rte_aesni_mb_pmd_ops.c    | 1126 -----------
 drivers/crypto/aesni_mb/version.map           |    3 -
 drivers/crypto/ipsec_mb/meson.build           |   33 +
 drivers/crypto/ipsec_mb/pmd_aesni_gcm.c       |  955 +++++++++
 .../pmd_aesni_mb.c}                           | 1767 ++++++++++++-----
 drivers/crypto/ipsec_mb/pmd_chacha_poly.c     |  528 +++++
 drivers/crypto/ipsec_mb/pmd_kasumi.c          |  556 ++++++
 drivers/crypto/ipsec_mb/pmd_snow3g.c          |  705 +++++++
 .../{zuc/rte_zuc_pmd.c => ipsec_mb/pmd_zuc.c} |  462 ++---
 drivers/crypto/ipsec_mb/rte_ipsec_mb_pmd.c    |  172 ++
 .../crypto/ipsec_mb/rte_ipsec_mb_pmd_ops.c    |  292 +++
 .../ipsec_mb/rte_ipsec_mb_pmd_private.h       |  470 +++++
 .../{aesni_gcm => ipsec_mb}/version.map       |    2 +-
 drivers/crypto/kasumi/kasumi_pmd_private.h    |   81 -
 drivers/crypto/kasumi/meson.build             |   24 -
 drivers/crypto/kasumi/rte_kasumi_pmd.c        |  642 ------
 drivers/crypto/kasumi/rte_kasumi_pmd_ops.c    |  316 ---
 drivers/crypto/kasumi/version.map             |    3 -
 drivers/crypto/meson.build                    |    6 +-
 drivers/crypto/snow3g/meson.build             |   24 -
 drivers/crypto/snow3g/rte_snow3g_pmd.c        |  656 ------
 drivers/crypto/snow3g/rte_snow3g_pmd_ops.c    |  323 ---
 drivers/crypto/snow3g/snow3g_pmd_private.h    |   84 -
 drivers/crypto/snow3g/version.map             |    3 -
 drivers/crypto/zuc/meson.build                |   24 -
 drivers/crypto/zuc/rte_zuc_pmd_ops.c          |  322 ---
 drivers/crypto/zuc/version.map                |    3 -
 drivers/crypto/zuc/zuc_pmd_private.h          |   83 -
 49 files changed, 5490 insertions(+), 6460 deletions(-)
 create mode 100644 doc/guides/cryptodevs/chacha20_poly1305.rst
 create mode 100644 doc/guides/cryptodevs/features/chacha20_poly1305.ini
 delete mode 100644 drivers/crypto/aesni_gcm/aesni_gcm_ops.h
 delete mode 100644 drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
 delete mode 100644 drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c
 delete mode 100644 drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h
 delete mode 100644 drivers/crypto/aesni_gcm/meson.build
 delete mode 100644 drivers/crypto/aesni_mb/aesni_mb_pmd_private.h
 delete mode 100644 drivers/crypto/aesni_mb/meson.build
 delete mode 100644 drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
 delete mode 100644 drivers/crypto/aesni_mb/version.map
 create mode 100644 drivers/crypto/ipsec_mb/meson.build
 create mode 100644 drivers/crypto/ipsec_mb/pmd_aesni_gcm.c
 rename drivers/crypto/{aesni_mb/rte_aesni_mb_pmd.c => ipsec_mb/pmd_aesni_mb.c} (60%)
 create mode 100644 drivers/crypto/ipsec_mb/pmd_chacha_poly.c
 create mode 100644 drivers/crypto/ipsec_mb/pmd_kasumi.c
 create mode 100644 drivers/crypto/ipsec_mb/pmd_snow3g.c
 rename drivers/crypto/{zuc/rte_zuc_pmd.c => ipsec_mb/pmd_zuc.c} (50%)
 create mode 100644 drivers/crypto/ipsec_mb/rte_ipsec_mb_pmd.c
 create mode 100644 drivers/crypto/ipsec_mb/rte_ipsec_mb_pmd_ops.c
 create mode 100644 drivers/crypto/ipsec_mb/rte_ipsec_mb_pmd_private.h
 rename drivers/crypto/{aesni_gcm => ipsec_mb}/version.map (58%)
 delete mode 100644 drivers/crypto/kasumi/kasumi_pmd_private.h
 delete mode 100644 drivers/crypto/kasumi/meson.build
 delete mode 100644 drivers/crypto/kasumi/rte_kasumi_pmd.c
 delete mode 100644 drivers/crypto/kasumi/rte_kasumi_pmd_ops.c
 delete mode 100644 drivers/crypto/kasumi/version.map
 delete mode 100644 drivers/crypto/snow3g/meson.build
 delete mode 100644 drivers/crypto/snow3g/rte_snow3g_pmd.c
 delete mode 100644 drivers/crypto/snow3g/rte_snow3g_pmd_ops.c
 delete mode 100644 drivers/crypto/snow3g/snow3g_pmd_private.h
 delete mode 100644 drivers/crypto/snow3g/version.map
 delete mode 100644 drivers/crypto/zuc/meson.build
 delete mode 100644 drivers/crypto/zuc/rte_zuc_pmd_ops.c
 delete mode 100644 drivers/crypto/zuc/version.map
 delete mode 100644 drivers/crypto/zuc/zuc_pmd_private.h

Comments

Akhil Goyal Sept. 28, 2021, 4:43 p.m. UTC | #1
> This set of patches introduces a new framework, making all common code of
> SW crypto PMD implementations built on top of intel-ipsec-mb library
> sharable. This helps to reduce future effort on the code maintenance and
> future updates. It also moves all SW PMD implementation specific details
> into single files located in the crypto/ipsec_mb folder.
> A chacha20-poly1305 SW PMD is added based on this framework.
> The minimum intel-ipsec-mb version required is bumped to 1.0.
> 
> v2:
>   - Added qp NULL check in get stats function.
>   - Updated maintainers file.
>   - Replaced use of strlcpy with rte_strlcpy.
>   - Fixed enum for GCM key length.
>   - Updated release notes.
>   - Added Chacha20_poly1305 PMD documentation.
> 
> 
> Ciara Power (1):
>   doc/rel_notes: added note for SW Crypto PMD change
> 
> Fan Zhang (1):
>   drivers/crypto: introduce IPsec-mb framework
> 
> Kai Ji (1):
>   crypto/ipsec_mb: add chacha20-poly1305 PMD to framework
> 
> Piotr Bronowski (6):
>   drivers/crypto: move aesni-mb PMD to IPsec-mb framework
>   drivers/crypto: move aesni-gcm PMD to IPsec-mb framework
>   drivers/crypto: move kasumi PMD to IPsec-mb framework
>   drivers/crypto: move snow3g PMD to IPsec-mb framework
>   crypto/ipsec_mb: add snow3g digest appended ops support
>   drivers/crypto: move zuc PMD to IPsec-mb framework
> 
Need acks from Intel side to confirm everything is working fine.