Hi Akhil/Fan Patchset verified for QAT and AESNI_MB sessions, with particular focus on Security Cipher-CRC
For the series, Tested-by: David Coyle <david.co...@intel.com> Tested-by: Kevin O'Sullivan <kevin.osulli...@intel.com> Regards, David > -----Original Message----- > From: Akhil Goyal <gak...@marvell.com> > Sent: Wednesday, September 21, 2022 4:11 PM > To: Akhil Goyal <gak...@marvell.com>; dev@dpdk.org; Zhang, Roy Fan > <roy.fan.zh...@intel.com> > Cc: tho...@monjalon.net; david.march...@redhat.com; > hemant.agra...@nxp.com; Vamsi Krishna Attunuru > <vattun...@marvell.com>; ferruh.yi...@xilinx.com; > andrew.rybche...@oktetlabs.ru; konstantin.v.anan...@yandex.ru; > jiawe...@trustnetic.com; yisen.zhu...@huawei.com; Igor Russkikh > <irussk...@marvell.com>; Jerin Jacob Kollanukkaran <jer...@marvell.com>; > Ankur Dwivedi <adwiv...@marvell.com>; maxime.coque...@redhat.com; > cha...@amd.com; ruifeng.w...@arm.com; ajit.khapa...@broadcom.com; > Anoob Joseph <ano...@marvell.com>; De Lara Guarch, Pablo > <pablo.de.lara.gua...@intel.com>; ma...@nvidia.com; g.si...@nxp.com; > Yang, Qiming <qiming.y...@intel.com>; Wu, Wenjun1 > <wenjun1...@intel.com>; jianw...@trustnetic.com; Wu, Jingjing > <jingjing...@intel.com>; Xing, Beilei <beilei.x...@intel.com>; Nithin Kumar > Dabilpuram <ndabilpu...@marvell.com> > Subject: RE: [PATCH v2 0/6] crypto/security session framework rework > > ++ Fan Zhang > I think I missed adding one of the major contributor for this cleanup. > > > -----Original Message----- > > From: Akhil Goyal <gak...@marvell.com> > > Sent: Wednesday, September 21, 2022 8:33 PM > > To: dev@dpdk.org > > Cc: tho...@monjalon.net; david.march...@redhat.com; > > hemant.agra...@nxp.com; Vamsi Krishna Attunuru > > <vattun...@marvell.com>; ferruh.yi...@xilinx.com; > > andrew.rybche...@oktetlabs.ru; konstantin.v.anan...@yandex.ru; > > jiawe...@trustnetic.com; yisen.zhu...@huawei.com; Igor Russkikh > > <irussk...@marvell.com>; Jerin Jacob Kollanukkaran > > <jer...@marvell.com>; Ankur Dwivedi <adwiv...@marvell.com>; > > maxime.coque...@redhat.com; cha...@amd.com; > ruifeng.w...@arm.com; > > ajit.khapa...@broadcom.com; Anoob Joseph <ano...@marvell.com>; > > pablo.de.lara.gua...@intel.com; ma...@nvidia.com; g.si...@nxp.com; > > qiming.y...@intel.com; wenjun1...@intel.com; > jianw...@trustnetic.com; > > jingjing...@intel.com; beilei.x...@intel.com; Nithin Kumar Dabilpuram > > <ndabilpu...@marvell.com>; Akhil Goyal <gak...@marvell.com> > > Subject: [PATCH v2 0/6] crypto/security session framework rework > > > > This patchset reworks the symmetric crypto and security session data > > structure to use a single virtual/physical contiguous buffer for > > symmetric crypto/security session and driver private data. > > In addition the session data structure is now private. > > The session is represented as an opaque pointer in the application. > > > > With the change the session is no longer supported to be accessed by > > multiple device drivers. For the same reason > > rte_cryptodev_sym_session_init/clear APIs are deprecated as > > rte_cryptodev_sym_session_create/free will initialize and clear the > > driver specific data field. > > > > The change was also submitted last year during DPDK 21.11 timeframe > > also[1], but was not applied due to lack of feedback from community. > > Please help in getting this cleanup merged in this cycle. > > > > Now the similar work was already done for asymmetric crypto. > > This patchset is rebased over current tree and fixes all the issues > > reported so far. > > This patchset is a v2 for the patch that was sent by Fan Zhang(Intel) > > with a few changes > > - Added security session rework also. > > - fixed issues in [2] reported on mailing list. > > - few other fixes. > > > > Please review and provide feedback as soon as possible as this is > > intended to be merged in DPDK 22.11 RC1. > > > > Currently the cnxk platform is tested with this change. > > Request everyone to review and test on their platform. > > > > Special note to ixgbe and txgbe maintainers. > > There is a wrong implementation for flow creation. Please check. > > A hack is added to bypass it. Please fix it separately. > > > > [1] > > https://patches.dpdk.org/project/dpdk/cover/20211018213452.2734720-1- > > gak...@marvell.com/ > > [2] > > https://patches.dpdk.org/project/dpdk/cover/20220829160645.378406-1- > > roy.fan.zh...@intel.com/ > > > > Akhil Goyal (5): > > cryptodev: rework session framework > > cryptodev: hide sym session structure > > security: remove priv mempool usage > > drivers/crypto: support security session get size op > > security: hide session structure > > > > Fan Zhang (1): > > crypto/scheduler: use unified session > > > > app/test-crypto-perf/cperf.h | 1 - > > app/test-crypto-perf/cperf_ops.c | 40 +-- > > app/test-crypto-perf/cperf_ops.h | 2 +- > > app/test-crypto-perf/cperf_test_latency.c | 9 +- > > app/test-crypto-perf/cperf_test_latency.h | 1 - > > .../cperf_test_pmd_cyclecount.c | 10 +- > > .../cperf_test_pmd_cyclecount.h | 1 - > > app/test-crypto-perf/cperf_test_throughput.c | 11 +- > > app/test-crypto-perf/cperf_test_throughput.h | 1 - > > app/test-crypto-perf/cperf_test_verify.c | 9 +- > > app/test-crypto-perf/cperf_test_verify.h | 1 - > > app/test-crypto-perf/main.c | 30 +- > > app/test-eventdev/test_perf_common.c | 35 +- > > app/test-eventdev/test_perf_common.h | 1 - > > app/test/test_cryptodev.c | 336 +++++------------- > > app/test/test_cryptodev_blockcipher.c | 16 +- > > app/test/test_cryptodev_security_ipsec.c | 2 +- > > app/test/test_cryptodev_security_ipsec.h | 2 +- > > app/test/test_event_crypto_adapter.c | 35 +- > > app/test/test_ipsec.c | 47 +-- > > app/test/test_ipsec_perf.c | 4 +- > > app/test/test_security.c | 178 ++-------- > > app/test/test_security_inline_proto.c | 26 +- > > doc/guides/prog_guide/cryptodev_lib.rst | 16 +- > > doc/guides/rel_notes/deprecation.rst | 9 + > > doc/guides/rel_notes/release_22_11.rst | 7 + > > drivers/common/cnxk/roc_cpt.c | 4 +- > > drivers/crypto/armv8/rte_armv8_pmd.c | 21 +- > > drivers/crypto/armv8/rte_armv8_pmd_ops.c | 32 +- > > drivers/crypto/bcmfs/bcmfs_sym_session.c | 39 +- > > drivers/crypto/bcmfs/bcmfs_sym_session.h | 3 +- > > drivers/crypto/caam_jr/caam_jr.c | 69 +--- > > drivers/crypto/ccp/ccp_crypto.c | 56 +-- > > drivers/crypto/ccp/ccp_pmd_ops.c | 32 +- > > drivers/crypto/ccp/ccp_pmd_private.h | 2 - > > drivers/crypto/ccp/rte_ccp_pmd.c | 29 +- > > drivers/crypto/cnxk/cn10k_cryptodev_ops.c | 41 +-- > > drivers/crypto/cnxk/cn10k_ipsec.c | 45 +-- > > drivers/crypto/cnxk/cn9k_cryptodev_ops.c | 38 +- > > drivers/crypto/cnxk/cn9k_ipsec.c | 54 +-- > > drivers/crypto/cnxk/cnxk_cryptodev_ops.c | 55 +-- > > drivers/crypto/cnxk/cnxk_cryptodev_ops.h | 16 +- > > drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 70 ++-- > > drivers/crypto/dpaa2_sec/dpaa2_sec_raw_dp.c | 6 +- > > drivers/crypto/dpaa_sec/dpaa_sec.c | 69 +--- > > drivers/crypto/dpaa_sec/dpaa_sec_raw_dp.c | 7 +- > > drivers/crypto/ipsec_mb/ipsec_mb_ops.c | 34 +- > > drivers/crypto/ipsec_mb/ipsec_mb_private.h | 41 +-- > > drivers/crypto/ipsec_mb/pmd_aesni_gcm.c | 48 +-- > > drivers/crypto/ipsec_mb/pmd_aesni_mb.c | 62 +--- > > drivers/crypto/ipsec_mb/pmd_chacha_poly.c | 4 - > > drivers/crypto/ipsec_mb/pmd_kasumi.c | 10 +- > > drivers/crypto/ipsec_mb/pmd_snow3g.c | 9 +- > > drivers/crypto/ipsec_mb/pmd_zuc.c | 4 - > > drivers/crypto/mlx5/mlx5_crypto.c | 25 +- > > drivers/crypto/mvsam/rte_mrvl_pmd.c | 11 +- > > drivers/crypto/mvsam/rte_mrvl_pmd_ops.c | 49 +-- > > drivers/crypto/nitrox/nitrox_sym.c | 39 +- > > drivers/crypto/null/null_crypto_pmd.c | 20 +- > > drivers/crypto/null/null_crypto_pmd_ops.c | 33 +- > > drivers/crypto/null/null_crypto_pmd_private.h | 2 - > > .../crypto/octeontx/otx_cryptodev_hw_access.h | 1 - > > drivers/crypto/octeontx/otx_cryptodev_ops.c | 67 +--- > > drivers/crypto/openssl/openssl_pmd_private.h | 2 - > > drivers/crypto/openssl/rte_openssl_pmd.c | 24 +- > > drivers/crypto/openssl/rte_openssl_pmd_ops.c | 29 +- > > drivers/crypto/qat/dev/qat_sym_pmd_gen1.c | 1 + > > drivers/crypto/qat/qat_sym.c | 15 +- > > drivers/crypto/qat/qat_sym.h | 16 +- > > drivers/crypto/qat/qat_sym_session.c | 73 ++-- > > drivers/crypto/qat/qat_sym_session.h | 10 +- > > drivers/crypto/scheduler/scheduler_failover.c | 19 +- > > .../crypto/scheduler/scheduler_multicore.c | 17 + > > .../scheduler/scheduler_pkt_size_distr.c | 81 +++-- > > drivers/crypto/scheduler/scheduler_pmd_ops.c | 93 ++++- > > .../crypto/scheduler/scheduler_pmd_private.h | 120 ++++++- > > .../crypto/scheduler/scheduler_roundrobin.c | 11 +- > > drivers/crypto/virtio/virtio_cryptodev.c | 40 +-- > > drivers/crypto/virtio/virtio_rxtx.c | 3 +- > > drivers/net/cnxk/cn10k_ethdev_sec.c | 38 +- > > drivers/net/cnxk/cn9k_ethdev_sec.c | 32 +- > > drivers/net/iavf/iavf_ipsec_crypto.c | 23 +- > > drivers/net/iavf/iavf_ipsec_crypto.h | 2 +- > > drivers/net/ixgbe/ixgbe_ipsec.c | 31 +- > > drivers/net/txgbe/txgbe_ipsec.c | 32 +- > > examples/fips_validation/fips_dev_self_test.c | 40 +-- > > examples/fips_validation/main.c | 35 +- > > examples/ipsec-secgw/ipsec-secgw.c | 44 +-- > > examples/ipsec-secgw/ipsec.c | 16 +- > > examples/ipsec-secgw/ipsec.h | 1 - > > examples/ipsec-secgw/ipsec_worker.c | 2 +- > > examples/l2fwd-crypto/main.c | 54 +-- > > examples/vhost_crypto/main.c | 16 +- > > lib/cryptodev/cryptodev_pmd.h | 60 ++-- > > lib/cryptodev/cryptodev_trace_points.c | 6 - > > lib/cryptodev/rte_crypto.h | 3 +- > > lib/cryptodev/rte_crypto_sym.h | 11 +- > > lib/cryptodev/rte_cryptodev.c | 284 ++++++--------- > > lib/cryptodev/rte_cryptodev.h | 153 +++----- > > lib/cryptodev/rte_cryptodev_trace.h | 35 +- > > lib/cryptodev/version.map | 6 - > > lib/ipsec/rte_ipsec_group.h | 13 +- > > lib/ipsec/ses.c | 5 +- > > lib/pipeline/rte_table_action.c | 10 +- > > lib/security/rte_security.c | 33 +- > > lib/security/rte_security.h | 90 +++-- > > lib/security/rte_security_driver.h | 31 +- > > lib/vhost/rte_vhost_crypto.h | 3 - > > lib/vhost/vhost_crypto.c | 28 +- > > 109 files changed, 1255 insertions(+), 2413 deletions(-) > > > > -- > > 2.25.1