This patch series add support for asymmetric crypto in DPDK librte_cryptodev framework along with unit test, PMD and documentation updates and 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/ Key changes from PATCH v1: - resolve git apply patch error on patch id 36575 - resolve git apply patch error on patch id 36929 Key changes from RFCv1 include: - 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 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 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 | 400 ++++- drivers/crypto/openssl/rte_openssl_pmd_private.h | 29 + lib/librte_cryptodev/Makefile | 3 +- lib/librte_cryptodev/rte_crypto.h | 37 +- lib/librte_cryptodev/rte_crypto_asym.h | 519 +++++++ lib/librte_cryptodev/rte_cryptodev.c | 218 ++- lib/librte_cryptodev/rte_cryptodev.h | 186 ++- lib/librte_cryptodev/rte_cryptodev_pmd.h | 58 +- lib/librte_cryptodev/rte_cryptodev_version.map | 16 + test/test/Makefile | 3 +- test/test/test_cryptodev_asym.c | 1785 ++++++++++++++++++++++ 15 files changed, 3952 insertions(+), 29 deletions(-) create mode 100644 lib/librte_cryptodev/rte_crypto_asym.h create mode 100644 test/test/test_cryptodev_asym.c -- 1.9.1