From: Ciara Power <ciara.power@intel.com>
To: dev@dpdk.org
Cc: roy.fan.zhang@intel.com, piotrx.bronowski@intel.com,
gakhil@marvell.com, pablo.de.lara.guarch@intel.com,
mdr@ashroe.eu, Ciara Power <ciara.power@intel.com>
Subject: [dpdk-dev] [PATCH v4 00/14] drivers/crypto: introduce ipsec_mb framework
Date: Fri, 15 Oct 2021 14:39:43 +0000 [thread overview]
Message-ID: <20211015143957.842499-1-ciara.power@intel.com> (raw)
In-Reply-To: <20210618121803.1189857-1-piotrx.bronowski@intel.com>
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:
- 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://patchwork.dpdk.org/project/dpdk/patch/20210910164516.807659-1-pablo.de.lara.guarch@intel.com/
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
next prev parent reply other threads:[~2021-10-15 14:40 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-18 12:17 [dpdk-dev] [RFC 0/7] crypto/ipsec_mb: " pbronowx
2021-06-18 12:17 ` [dpdk-dev] [RFC 1/7] " pbronowx
2021-06-18 12:17 ` [dpdk-dev] [RFC 2/7] crypto/ipsec_mb: move aesni-mb PMD to " pbronowx
2021-06-18 12:17 ` [dpdk-dev] [RFC 3/7] crypto/ipsec_mb: move aesni-gcm " pbronowx
2021-06-18 12:18 ` [dpdk-dev] [RFC 4/7] crypto/ipsec_mb: move kasumi " pbronowx
2021-06-18 12:18 ` [dpdk-dev] [RFC 5/7] crypto/ipsec_mb: move snow3g " pbronowx
2021-06-18 12:18 ` [dpdk-dev] [RFC 6/7] crypto/snow3g: add support for digest appended ops pbronowx
2021-06-18 12:18 ` [dpdk-dev] [RFC 7/7] crypto/ipsec_mb: move zuc PMD to ipsec_mb framework pbronowx
2021-06-18 13:11 ` [dpdk-dev] [RFC 0/7] crypto/ipsec_mb: introduce " David Marchand
2021-06-18 16:05 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-06-21 8:52 ` Zhang, Roy Fan
2021-08-26 15:16 ` [dpdk-dev] [PATCH v1 0/8] drivers/crypto: " Ciara Power
2021-08-26 15:16 ` [dpdk-dev] [PATCH v1 1/8] drivers/crypto: introduce IPsec-mb framework Ciara Power
2021-08-26 15:16 ` [dpdk-dev] [PATCH v1 2/8] drivers/crypto: move aesni-mb PMD to " Ciara Power
2021-08-26 15:16 ` [dpdk-dev] [PATCH v1 3/8] drivers/crypto: move aesni-gcm " Ciara Power
2021-08-26 15:16 ` [dpdk-dev] [PATCH v1 4/8] drivers/crypto: move kasumi " Ciara Power
2021-08-26 15:16 ` [dpdk-dev] [PATCH v1 5/8] drivers/crypto: move snow3g " Ciara Power
2021-08-26 15:16 ` [dpdk-dev] [PATCH v1 6/8] crypto/ipsec_mb: add snow3g digest appended ops support Ciara Power
2021-08-26 15:16 ` [dpdk-dev] [PATCH v1 7/8] drivers/crypto: move zuc PMD to IPsec-mb framework Ciara Power
2021-08-26 15:16 ` [dpdk-dev] [PATCH v1 8/8] crypto/ipsec_mb: add chacha20-poly1305 PMD to framework Ciara Power
2021-09-23 15:28 ` [dpdk-dev] [PATCH v2 0/9] drivers/crypto: introduce ipsec_mb framework Ciara Power
2021-09-23 15:28 ` [dpdk-dev] [PATCH v2 1/9] drivers/crypto: introduce IPsec-mb framework Ciara Power
2021-09-23 15:46 ` Thomas Monjalon
2021-09-27 10:02 ` Power, Ciara
2021-09-23 15:28 ` [dpdk-dev] [PATCH v2 2/9] drivers/crypto: move aesni-mb PMD to " Ciara Power
2021-09-23 15:28 ` [dpdk-dev] [PATCH v2 3/9] drivers/crypto: move aesni-gcm " Ciara Power
2021-09-23 15:28 ` [dpdk-dev] [PATCH v2 4/9] drivers/crypto: move kasumi " Ciara Power
2021-09-23 15:28 ` [dpdk-dev] [PATCH v2 5/9] drivers/crypto: move snow3g " Ciara Power
2021-09-23 15:28 ` [dpdk-dev] [PATCH v2 6/9] crypto/ipsec_mb: add snow3g digest appended ops support Ciara Power
2021-09-23 15:28 ` [dpdk-dev] [PATCH v2 7/9] drivers/crypto: move zuc PMD to IPsec-mb framework Ciara Power
2021-09-23 15:28 ` [dpdk-dev] [PATCH v2 8/9] crypto/ipsec_mb: add chacha20-poly1305 PMD to framework Ciara Power
2021-09-23 15:28 ` [dpdk-dev] [PATCH v2 9/9] doc/rel_notes: added note for SW Crypto PMD change Ciara Power
2021-09-28 16:43 ` [dpdk-dev] [EXT] [PATCH v2 0/9] drivers/crypto: introduce ipsec_mb framework Akhil Goyal
2021-10-15 14:39 ` Ciara Power [this message]
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 01/14] drivers/crypto: introduce IPsec-mb framework Ciara Power
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 02/14] crypto/ipsec_mb: add multiprocess support Ciara Power
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 03/14] drivers/crypto: move aesni-mb PMD to IPsec-mb framework Ciara Power
2021-10-18 7:38 ` Zhang, Roy Fan
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 04/14] crypto/ipsec_mb: support ZUC-256 for aesni_mb Ciara Power
2021-10-18 7:39 ` Zhang, Roy Fan
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 05/14] test/crypto: check cipher parameters Ciara Power
2021-10-18 7:40 ` Zhang, Roy Fan
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 06/14] test/crypto: check auth parameters Ciara Power
2021-10-18 7:41 ` Zhang, Roy Fan
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 07/14] test/crypto: add ZUC-256 vectors Ciara Power
2021-10-18 7:42 ` Zhang, Roy Fan
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 08/14] drivers/crypto: move aesni-gcm PMD to IPsec-mb framework Ciara Power
2021-10-18 7:43 ` Zhang, Roy Fan
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 09/14] drivers/crypto: move kasumi " Ciara Power
2021-10-18 7:42 ` Zhang, Roy Fan
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 10/14] drivers/crypto: move snow3g " Ciara Power
2021-10-18 7:42 ` Zhang, Roy Fan
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 11/14] crypto/ipsec_mb: add snow3g digest appended ops support Ciara Power
2021-10-18 7:43 ` Zhang, Roy Fan
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 12/14] drivers/crypto: move zuc PMD to IPsec-mb framework Ciara Power
2021-10-18 7:44 ` Zhang, Roy Fan
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 13/14] crypto/ipsec_mb: add chacha20-poly1305 PMD to framework Ciara Power
2021-10-18 7:44 ` Zhang, Roy Fan
2021-10-15 14:39 ` [dpdk-dev] [PATCH v4 14/14] test/crypto: add test for chacha20_poly1305 PMD Ciara Power
2021-10-18 7:44 ` Zhang, Roy Fan
2021-10-18 15:21 ` [dpdk-dev] [EXT] [PATCH v4 00/14] drivers/crypto: introduce ipsec_mb framework Akhil Goyal
2021-10-19 23:09 ` Thomas Monjalon
2021-10-20 4:23 ` Akhil Goyal
2021-10-20 8:31 ` Akhil Goyal
2021-10-20 9:01 ` Thomas Monjalon
2021-10-20 9:00 ` Zhang, Roy Fan
2021-10-20 9:04 ` Akhil Goyal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211015143957.842499-1-ciara.power@intel.com \
--to=ciara.power@intel.com \
--cc=dev@dpdk.org \
--cc=gakhil@marvell.com \
--cc=mdr@ashroe.eu \
--cc=pablo.de.lara.guarch@intel.com \
--cc=piotrx.bronowski@intel.com \
--cc=roy.fan.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).