This patchset changes the queue pair configure structure and sym session structure for cryptodev. An RFC patch http://patchwork.dpdk.org/patch/43883/ has been sent to state the change.
The patchset also includes two added APIs for creating symmetric session mempool and getting the session header data for existing session. v4: - Fixed some issue. - Patch splitted. v3: - Rebased. - Fixed a few bugs. v2: - Removed incorrect config/common_base change - Added new API for existing session size - Changed element name of symmetric session Fan Zhang (12): cryptodev: change queue pair configure structure cryptodev: add sym session mempool create app/test-crypto-perf: use separate session mempools net/softnic: use separate session mempools examples: use separate session mempools vhost/crypto: use separate session mempools test/crypto: use separate session mempools cryptodev: add sym session header size API cryptodev: update symmetric session structure cryptodev: add user data size to symmetric session cryptodev: add reference count to session private data cryptodev: add opaque data field to symmetric session app/test-crypto-perf/cperf.h | 1 + app/test-crypto-perf/cperf_ops.c | 11 +- app/test-crypto-perf/cperf_ops.h | 2 +- app/test-crypto-perf/cperf_test_latency.c | 5 +- app/test-crypto-perf/cperf_test_latency.h | 1 + app/test-crypto-perf/cperf_test_pmd_cyclecount.c | 5 +- app/test-crypto-perf/cperf_test_pmd_cyclecount.h | 1 + app/test-crypto-perf/cperf_test_throughput.c | 5 +- app/test-crypto-perf/cperf_test_throughput.h | 1 + app/test-crypto-perf/cperf_test_verify.c | 5 +- app/test-crypto-perf/cperf_test_verify.h | 1 + app/test-crypto-perf/main.c | 105 ++- doc/guides/prog_guide/cryptodev_lib.rst | 43 +- doc/guides/prog_guide/img/cryptodev_sym_sess.svg | 725 +++++++++++---------- doc/guides/rel_notes/release_19_02.rst | 30 + drivers/crypto/aesni_gcm/aesni_gcm_pmd.c | 10 +- drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c | 5 +- drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h | 2 + drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 10 +- drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c | 5 +- drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h | 2 + drivers/crypto/armv8/rte_armv8_pmd.c | 10 +- drivers/crypto/armv8/rte_armv8_pmd_ops.c | 5 +- drivers/crypto/armv8/rte_armv8_pmd_private.h | 2 + drivers/crypto/caam_jr/caam_jr.c | 3 +- drivers/crypto/ccp/ccp_pmd_ops.c | 5 +- drivers/crypto/ccp/ccp_pmd_private.h | 2 + drivers/crypto/ccp/rte_ccp_pmd.c | 9 +- drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 3 +- drivers/crypto/dpaa_sec/dpaa_sec.c | 3 +- drivers/crypto/kasumi/rte_kasumi_pmd.c | 10 +- drivers/crypto/kasumi/rte_kasumi_pmd_ops.c | 5 +- drivers/crypto/kasumi/rte_kasumi_pmd_private.h | 2 + drivers/crypto/mvsam/rte_mrvl_pmd_ops.c | 5 +- drivers/crypto/mvsam/rte_mrvl_pmd_private.h | 3 + drivers/crypto/null/null_crypto_pmd.c | 5 +- drivers/crypto/null/null_crypto_pmd_ops.c | 5 +- drivers/crypto/null/null_crypto_pmd_private.h | 2 + drivers/crypto/octeontx/otx_cryptodev_ops.c | 3 +- drivers/crypto/openssl/rte_openssl_pmd.c | 10 +- drivers/crypto/openssl/rte_openssl_pmd_ops.c | 5 +- drivers/crypto/openssl/rte_openssl_pmd_private.h | 2 + drivers/crypto/qat/qat_sym_pmd.c | 2 +- drivers/crypto/scheduler/scheduler_pmd_ops.c | 5 +- drivers/crypto/snow3g/rte_snow3g_pmd.c | 10 +- drivers/crypto/snow3g/rte_snow3g_pmd_ops.c | 5 +- drivers/crypto/snow3g/rte_snow3g_pmd_private.h | 2 + drivers/crypto/virtio/virtio_cryptodev.c | 6 +- drivers/crypto/zuc/rte_zuc_pmd.c | 10 +- drivers/crypto/zuc/rte_zuc_pmd_ops.c | 5 +- drivers/crypto/zuc/rte_zuc_pmd_private.h | 2 + drivers/net/softnic/rte_eth_softnic_cli.c | 52 +- drivers/net/softnic/rte_eth_softnic_cryptodev.c | 52 +- drivers/net/softnic/rte_eth_softnic_internals.h | 3 + examples/fips_validation/main.c | 38 +- examples/ip_pipeline/cli.c | 49 +- examples/ip_pipeline/cryptodev.c | 51 +- examples/ip_pipeline/cryptodev.h | 3 + examples/ip_pipeline/examples/flow_crypto.cli | 9 +- examples/ipsec-secgw/ipsec-secgw.c | 51 +- examples/ipsec-secgw/ipsec.c | 2 +- examples/ipsec-secgw/ipsec.h | 2 + examples/l2fwd-crypto/main.c | 66 +- examples/vhost_crypto/main.c | 22 +- lib/librte_cryptodev/Makefile | 4 +- lib/librte_cryptodev/rte_cryptodev.c | 192 +++++- lib/librte_cryptodev/rte_cryptodev.h | 69 +- lib/librte_cryptodev/rte_cryptodev_pmd.h | 16 +- lib/librte_cryptodev/rte_cryptodev_version.map | 8 + lib/librte_vhost/rte_vhost_crypto.h | 9 +- lib/librte_vhost/vhost_crypto.c | 8 +- test/test/test_cryptodev.c | 262 ++++---- test/test/test_cryptodev_asym.c | 8 +- test/test/test_cryptodev_blockcipher.c | 7 +- test/test/test_cryptodev_blockcipher.h | 1 + test/test/test_event_crypto_adapter.c | 35 +- 76 files changed, 1401 insertions(+), 739 deletions(-) -- 2.13.6