[dpdk-dev] [EXT] [PATCH v4 00/14] drivers/crypto: introduce ipsec_mb framework
Akhil Goyal
gakhil at marvell.com
Mon Oct 18 17:21:25 CEST 2021
> 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.
>
> Multi-process support for the PMDs is added for intel-ipsec-mb v1.1.
> The minimum intel-ipsec-mb version required is bumped to 1.0.
>
> ZUC-256 support is added for the aesni_mb PMD, with relevant tests.
>
> v4:
Acked-by: Akhil Goyal <gakhil at marvell.com>
Patches are rebased over TOT of next-crypto
Release notes are updated
Applied to dpdk-next-crypto
> - Renamed general files and functions to remove "_pmd_" and "rte_".
> - Fixed copyright years in many files.
> - Fixed some documentation errors.
> - Split sections of the PMD files into header files.
> - Fixed other small comments left on v3.
> - Dropped release note patch from v3, added release notes incrementally
> throughout the set.
> - Updated CHACHA20_POLY1305 AAD max size for AESNI_MB.
> - Removed unnecessary enqueue count variables and calls to enqueue
> when
> processing ops for SNOW3G, ZUC, KASUMI.
> - Removed some unnecessary includes for security headers in PMD files.
> - Added call to release queue pairs in the remove function.
> - Split CHACHA20_POLY1305 patch into two, (1) PMD addition and
> (2) test app changes.
> - Added 4 new patches for ZUC-256 support and tests, based on a
> patch previously sent to the mailing list:
> https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__patchwork.dpdk.org_project_dpdk_patch_20210910164516.807659-
> 2D1-2Dpablo.de.lara.guarch-
> 40intel.com_&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=DnL7Si2wl_PRwp
> Z9TWey3eu68gBzn7DkPwuqhd6WNyo&m=uArCd3xuliTs88F0w-
> M_dUmWE501xEWXaFNHXmMFeW4&s=H01RcsI-I-
> lYeayHNmBHCbD0qp5aV2RZlGBVkOhZZu4&e=
>
> v3:
> - Added multiprocess support for v1.1 of intel-ipsec-mb.
> - Fixed some formatting and comments.
> - Added detail to some commit logs.
> - Updated macros to use intel-ipsec-mb v1.0 supported macros.
> - Added use of intel-ipsec-mb API to auto initialise IMB_MGR
> based on CPU vector support.
>
> 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):
> crypto/ipsec_mb: add multiprocess support
>
> Fan Zhang (1):
> drivers/crypto: introduce IPsec-mb framework
>
> Kai Ji (2):
> crypto/ipsec_mb: add chacha20-poly1305 PMD to framework
> test/crypto: add test for chacha20_poly1305 PMD
>
> Pablo de Lara (4):
> crypto/ipsec_mb: support ZUC-256 for aesni_mb
> test/crypto: check cipher parameters
> test/crypto: check auth parameters
> test/crypto: add ZUC-256 vectors
>
> 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 | 41 +-
> app/test/test_cryptodev.c | 170 ++-
> app/test/test_cryptodev.h | 1 +
> app/test/test_cryptodev_aead_test_vectors.h | 114 ++
> app/test/test_cryptodev_zuc_test_vectors.h | 286 ++++
> doc/guides/cryptodevs/aesni_gcm.rst | 4 +-
> doc/guides/cryptodevs/aesni_mb.rst | 5 +-
> 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 | 31 +
> 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 -
> drivers/crypto/aesni_mb/version.map | 3 -
> drivers/crypto/ipsec_mb/ipsec_mb_ops.c | 370 +++++
> drivers/crypto/ipsec_mb/ipsec_mb_private.c | 176 +++
> drivers/crypto/ipsec_mb/ipsec_mb_private.h | 455 ++++++
> drivers/crypto/ipsec_mb/meson.build | 33 +
> drivers/crypto/ipsec_mb/pmd_aesni_gcm.c | 837 +++++++++++
> drivers/crypto/ipsec_mb/pmd_aesni_gcm_priv.h | 169 +++
> .../pmd_aesni_mb.c} | 1235 +++++++----------
> .../pmd_aesni_mb_priv.h} | 681 ++++-----
> drivers/crypto/ipsec_mb/pmd_chacha_poly.c | 408 ++++++
> .../crypto/ipsec_mb/pmd_chacha_poly_priv.h | 74 +
> drivers/crypto/ipsec_mb/pmd_kasumi.c | 476 +++++++
> drivers/crypto/ipsec_mb/pmd_kasumi_priv.h | 81 ++
> .../pmd_snow3g.c} | 543 ++++----
> drivers/crypto/ipsec_mb/pmd_snow3g_priv.h | 85 ++
> drivers/crypto/ipsec_mb/pmd_zuc.c | 403 ++++++
> drivers/crypto/ipsec_mb/pmd_zuc_priv.h | 85 ++
> .../{aesni_gcm => ipsec_mb}/version.map | 0
> 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_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.c | 583 --------
> drivers/crypto/zuc/rte_zuc_pmd_ops.c | 322 -----
> drivers/crypto/zuc/version.map | 3 -
> drivers/crypto/zuc/zuc_pmd_private.h | 83 --
> 55 files changed, 5412 insertions(+), 5950 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/version.map
> create mode 100644 drivers/crypto/ipsec_mb/ipsec_mb_ops.c
> create mode 100644 drivers/crypto/ipsec_mb/ipsec_mb_private.c
> create mode 100644 drivers/crypto/ipsec_mb/ipsec_mb_private.h
> create mode 100644 drivers/crypto/ipsec_mb/meson.build
> create mode 100644 drivers/crypto/ipsec_mb/pmd_aesni_gcm.c
> create mode 100644 drivers/crypto/ipsec_mb/pmd_aesni_gcm_priv.h
> rename drivers/crypto/{aesni_mb/rte_aesni_mb_pmd.c =>
> ipsec_mb/pmd_aesni_mb.c} (60%)
> rename drivers/crypto/{aesni_mb/rte_aesni_mb_pmd_ops.c =>
> ipsec_mb/pmd_aesni_mb_priv.h} (55%)
> create mode 100644 drivers/crypto/ipsec_mb/pmd_chacha_poly.c
> create mode 100644 drivers/crypto/ipsec_mb/pmd_chacha_poly_priv.h
> create mode 100644 drivers/crypto/ipsec_mb/pmd_kasumi.c
> create mode 100644 drivers/crypto/ipsec_mb/pmd_kasumi_priv.h
> rename drivers/crypto/{snow3g/rte_snow3g_pmd.c =>
> ipsec_mb/pmd_snow3g.c} (51%)
> create mode 100644 drivers/crypto/ipsec_mb/pmd_snow3g_priv.h
> create mode 100644 drivers/crypto/ipsec_mb/pmd_zuc.c
> create mode 100644 drivers/crypto/ipsec_mb/pmd_zuc_priv.h
> rename drivers/crypto/{aesni_gcm => ipsec_mb}/version.map (100%)
> 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_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.c
> 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
>
> --
> 2.25.1
More information about the dev
mailing list