This code provides the initial implementation of the libcrypto poll mode driver. All cryptography operations are using Openssl library crypto API. Each algorithm uses EVP_ interface from openssl API - which is recommended by Openssl maintainers.
For more information about how to use this driver, go to: doc/guides/cryptodevs/libcrypto.rst Changes in V4: - move aes test rework to another patch - move big data test to another patch - checking if libcrypto pmd is available Changes in V3: - add nagative verification tests - add big data test - fix pmd according to negative verification tests - change gmac aad max size - update documentation and commits comments Changes in V2: - add gcm/gmac algorithm correction - unit test rework Slawomir Mrozowicz (1): libcrypto_pmd: initial implementation of SW crypto device Piotr Azarewicz (3) app/test: cryptodev AES tests rework app/test: added tests for libcrypto PMD app/test: added big data GMAC test for libcrypto Daniel Mrzyglod (1) examples/l2fwd-crypto: updated example for libcrypto PMD MAINTAINERS | 4 + app/test/Makefile | 2 +- app/test/test_cryptodev.c | 1583 +++- app/test/test_cryptodev.h | 1 + app/test/test_cryptodev_aes.c | 687 -- app/test/test_cryptodev_aes.h | 1124 --- app/test/test_cryptodev_aes_test_vectors.h | 1095 +++ app/test/test_cryptodev_blockcipher.c | 531 ++ app/test/test_cryptodev_blockcipher.h | 125 + app/test/test_cryptodev_des_test_vectors.h | 952 +++ app/test/test_cryptodev_gcm_test_vectors.h | 8245 +++++++++++++++++++- app/test/test_cryptodev_hash_test_vectors.h | 491 ++ app/test/test_cryptodev_perf.c | 689 +- config/common_base | 6 + doc/guides/cryptodevs/index.rst | 1 + doc/guides/cryptodevs/libcrypto.rst | 116 + doc/guides/rel_notes/release_16_11.rst | 23 +- drivers/crypto/Makefile | 1 + drivers/crypto/libcrypto/Makefile | 60 + drivers/crypto/libcrypto/rte_libcrypto_pmd.c | 1051 +++ drivers/crypto/libcrypto/rte_libcrypto_pmd_ops.c | 708 ++ .../crypto/libcrypto/rte_libcrypto_pmd_private.h | 174 + .../crypto/libcrypto/rte_pmd_libcrypto_version.map | 3 + examples/l2fwd-crypto/main.c | 9 + lib/librte_cryptodev/rte_cryptodev.h | 5 +- mk/rte.app.mk | 23 +- 26 files changed, 15748 insertions(+), 1961 deletions(-) delete mode 100644 app/test/test_cryptodev_aes.c delete mode 100644 app/test/test_cryptodev_aes.h create mode 100644 app/test/test_cryptodev_aes_test_vectors.h create mode 100644 app/test/test_cryptodev_blockcipher.c create mode 100644 app/test/test_cryptodev_blockcipher.h create mode 100644 app/test/test_cryptodev_des_test_vectors.h create mode 100644 app/test/test_cryptodev_hash_test_vectors.h create mode 100644 doc/guides/cryptodevs/libcrypto.rst create mode 100644 drivers/crypto/libcrypto/Makefile create mode 100644 drivers/crypto/libcrypto/rte_libcrypto_pmd.c create mode 100644 drivers/crypto/libcrypto/rte_libcrypto_pmd_ops.c create mode 100644 drivers/crypto/libcrypto/rte_libcrypto_pmd_private.h create mode 100644 drivers/crypto/libcrypto/rte_pmd_libcrypto_version.map -- 2.5.0