As discussed in last release deprecation notice, crypto and security session framework are reworked to reduce the need of two mempool objects and remove the requirement to expose the rte_security_session and rte_cryptodev_sym_session structures.
Similar work will need to be done for asymmetric sessions as well. Design methodology is explained in the patch description. Please review this and help in filling the missing parts for all the affected PMDs. The patches are compilable and tested with dpdk-test app on CN9k platform. Akhil Goyal (3): security: rework session framework drivers/net: temporary disable ixgbe and txgbe cryptodev: rework session framework app/test-crypto-perf/cperf.h | 1 - app/test-crypto-perf/cperf_ops.c | 41 ++-- app/test-crypto-perf/cperf_ops.h | 6 +- app/test-crypto-perf/cperf_test_latency.c | 5 +- app/test-crypto-perf/cperf_test_latency.h | 1 - .../cperf_test_pmd_cyclecount.c | 7 +- .../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 | 29 +-- app/test/test_cryptodev.c | 147 +++-------- app/test/test_cryptodev.h | 1 - app/test/test_cryptodev_asym.c | 1 - app/test/test_cryptodev_blockcipher.c | 6 +- app/test/test_event_crypto_adapter.c | 28 +-- app/test/test_ipsec.c | 33 +-- app/test/test_security.c | 229 ++++++++---------- drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c | 33 +-- drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 5 +- .../crypto/aesni_mb/rte_aesni_mb_pmd_ops.c | 64 +---- drivers/crypto/armv8/rte_armv8_pmd_ops.c | 34 +-- drivers/crypto/bcmfs/bcmfs_sym_session.c | 36 +-- drivers/crypto/bcmfs/bcmfs_sym_session.h | 6 +- drivers/crypto/caam_jr/caam_jr.c | 64 ++--- drivers/crypto/ccp/ccp_pmd_ops.c | 32 +-- drivers/crypto/cnxk/cn10k_cryptodev_ops.c | 22 +- drivers/crypto/cnxk/cn10k_ipsec.c | 53 +--- drivers/crypto/cnxk/cn9k_cryptodev_ops.c | 20 +- drivers/crypto/cnxk/cn9k_ipsec.c | 50 +--- drivers/crypto/cnxk/cnxk_cryptodev_ops.c | 61 ++--- drivers/crypto/cnxk/cnxk_cryptodev_ops.h | 13 +- drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 68 ++---- drivers/crypto/dpaa_sec/dpaa_sec.c | 69 ++---- drivers/crypto/kasumi/rte_kasumi_pmd_ops.c | 34 +-- drivers/crypto/mlx5/mlx5_crypto.c | 24 +- drivers/crypto/mvsam/rte_mrvl_pmd.c | 3 +- drivers/crypto/mvsam/rte_mrvl_pmd_ops.c | 47 +--- drivers/crypto/nitrox/nitrox_sym.c | 31 +-- drivers/crypto/null/null_crypto_pmd_ops.c | 34 +-- .../crypto/octeontx/otx_cryptodev_hw_access.h | 1 - drivers/crypto/octeontx/otx_cryptodev_ops.c | 60 ++--- drivers/crypto/octeontx2/otx2_cryptodev_ops.c | 54 ++--- .../octeontx2/otx2_cryptodev_ops_helper.h | 16 +- drivers/crypto/octeontx2/otx2_cryptodev_sec.c | 54 +---- drivers/crypto/openssl/rte_openssl_pmd_ops.c | 35 +-- drivers/crypto/qat/qat_sym.c | 3 +- drivers/crypto/qat/qat_sym.h | 8 +- drivers/crypto/qat/qat_sym_session.c | 50 +--- drivers/crypto/qat/qat_sym_session.h | 10 +- drivers/crypto/scheduler/scheduler_pmd_ops.c | 9 +- drivers/crypto/snow3g/rte_snow3g_pmd_ops.c | 34 +-- drivers/crypto/virtio/virtio_cryptodev.c | 31 +-- drivers/crypto/zuc/rte_zuc_pmd_ops.c | 35 +-- .../octeontx2/otx2_evdev_crypto_adptr_rx.h | 3 +- drivers/net/ixgbe/ixgbe_ipsec.c | 36 +-- drivers/net/meson.build | 4 +- drivers/net/octeontx2/otx2_ethdev_sec.c | 51 +--- drivers/net/octeontx2/otx2_ethdev_sec_tx.h | 2 +- drivers/net/txgbe/txgbe_ipsec.c | 36 +-- examples/fips_validation/fips_dev_self_test.c | 32 +-- examples/fips_validation/main.c | 20 +- examples/ipsec-secgw/ipsec-secgw.c | 72 +++--- examples/ipsec-secgw/ipsec.c | 12 +- examples/ipsec-secgw/ipsec.h | 1 - examples/ipsec-secgw/ipsec_worker.c | 4 - examples/l2fwd-crypto/main.c | 41 +--- examples/vhost_crypto/main.c | 16 +- lib/cryptodev/cryptodev_pmd.h | 7 +- lib/cryptodev/rte_crypto.h | 2 +- lib/cryptodev/rte_crypto_sym.h | 2 +- lib/cryptodev/rte_cryptodev.c | 73 ++++-- lib/cryptodev/rte_cryptodev.h | 23 +- lib/cryptodev/rte_cryptodev_trace.h | 5 +- lib/pipeline/rte_table_action.c | 8 +- lib/pipeline/rte_table_action.h | 2 +- lib/security/rte_security.c | 28 ++- lib/security/rte_security.h | 41 ++-- lib/security/rte_security_driver.h | 16 +- lib/vhost/rte_vhost_crypto.h | 3 - lib/vhost/vhost_crypto.c | 7 +- 82 files changed, 665 insertions(+), 1633 deletions(-) -- 2.25.1