[dpdk-dev] [PATCH v3 0/6] crypto: add asym crypto support

Shally Verma shally.verma at caviumnetworks.com
Wed May 16 08:05:07 CEST 2018


This patch series add support for asymmetric crypto in DPDK
librte_cryptodev framework along with unit test, PMD and
documentation updates

This patch series is divided in to following categories:
1. library patches with asymmetric API, xform and capability
   definitions
2. Unit test case addition
3. Openssl PMD changes with asymmetric crypto support
4. Programmer Guide updates with asymmetric description

changes in v3:
- correct rte_cryptodev_asym_session_create to pass void** to
  rte_mempool_get() and add support for private_data_size flag
- remove redundant xform_type from rte_cryptodev_asymmetric_capability
- added rte_cryptodev_asym_session_set/get_private_data for app to setup
  private data in a session as per latest dpdk-next-crypto spec
- rename few APIs to be consistent with other API names
- update test meson.build to include asym unit test file

changes in v2:
-addresses patch apply failure
raised on asym crypto v1 patch series:
https://dpdk.org/dev/patchwork/patch/36575/
https://dpdk.org/dev/patchwork/patch/36576/
https://dpdk.org/dev/patchwork/patch/36577/

And, unit test and PMD patch series:
https://dpdk.org/dev/patchwork/patch/36928/
https://dpdk.org/dev/patchwork/patch/36929/
https://dpdk.org/dev/patchwork/patch/36930/
-- resolve git apply patch error on patch id 36575
-- resolve git apply patch error on patch id 36929

Changes in v1:
- removal of dedicated sym and asym qp setup,
- remove asym qp count and attach/detach_session apis
- re-org xforms params for deffie-hellman to allow
  public key and optional private key generations
- move elliptic curve changes into another separate patch/patch series

TBD:
- add elliptic curve support
- rename of existing session_configure/clear APIs to
  sym_session_configure/clear/init APIs

It is based on review discussion on RFC v1 asym crypto patch
http://dpdk.org/patch/34308.

RFC v1 patch http://dpdk.org/patch/34308 is further a derivative of
earlier reviewed  RFC v2 patch series:
 http://dpdk.org/dev/patchwork/patch/24245/
 http://dpdk.org/dev/patchwork/patch/24246/
 http://dpdk.org/dev/patchwork/patch/24247/

Shally Verma (6):
  lib/cryptodev: add asymmetric algos in cryptodev
  lib/cryptodev: add asym op support in cryptodev
  lib/cryptodev: add asymmetric crypto capability in cryptodev
  test/crypto: add unit testcase for asym crypto
  crypto/openssl: add asym crypto support
  doc: add asym crypto in cryptodev programmer guide

 doc/guides/cryptodevs/features/openssl.ini       |   11 +
 doc/guides/cryptodevs/openssl.rst                |    1 +
 doc/guides/prog_guide/cryptodev_lib.rst          |  338 +++-
 drivers/crypto/openssl/rte_openssl_pmd.c         |  377 ++++-
 drivers/crypto/openssl/rte_openssl_pmd_ops.c     |  395 ++++-
 drivers/crypto/openssl/rte_openssl_pmd_private.h |   29 +
 lib/librte_cryptodev/Makefile                    |    3 +-
 lib/librte_cryptodev/meson.build                 |    3 +-
 lib/librte_cryptodev/rte_crypto.h                |   37 +-
 lib/librte_cryptodev/rte_crypto_asym.h           |  519 +++++++
 lib/librte_cryptodev/rte_cryptodev.c             |  253 +++
 lib/librte_cryptodev/rte_cryptodev.h             |  217 ++-
 lib/librte_cryptodev/rte_cryptodev_pmd.h         |   58 +-
 lib/librte_cryptodev/rte_cryptodev_version.map   |   12 +
 test/test/Makefile                               |    3 +-
 test/test/meson.build                            |    1 +
 test/test/test_cryptodev_asym.c                  | 1787 ++++++++++++++++++++++
 17 files changed, 4015 insertions(+), 29 deletions(-)
 create mode 100644 lib/librte_cryptodev/rte_crypto_asym.h
 create mode 100644 test/test/test_cryptodev_asym.c

-- 
2.14.3



More information about the dev mailing list