> 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 <gak...@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