[PATCH v2 0/6] crypto/security session framework rework
Coyle, David
david.coyle at intel.com
Fri Sep 23 15:00:52 CEST 2022
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.coyle at intel.com>
Tested-by: Kevin O'Sullivan <kevin.osullivan at intel.com>
Regards,
David
> -----Original Message-----
> From: Akhil Goyal <gakhil at marvell.com>
> Sent: Wednesday, September 21, 2022 4:11 PM
> To: Akhil Goyal <gakhil at marvell.com>; dev at dpdk.org; Zhang, Roy Fan
> <roy.fan.zhang at intel.com>
> Cc: thomas at monjalon.net; david.marchand at redhat.com;
> hemant.agrawal at nxp.com; Vamsi Krishna Attunuru
> <vattunuru at marvell.com>; ferruh.yigit at xilinx.com;
> andrew.rybchenko at oktetlabs.ru; konstantin.v.ananyev at yandex.ru;
> jiawenwu at trustnetic.com; yisen.zhuang at huawei.com; Igor Russkikh
> <irusskikh at marvell.com>; Jerin Jacob Kollanukkaran <jerinj at marvell.com>;
> Ankur Dwivedi <adwivedi at marvell.com>; maxime.coquelin at redhat.com;
> chandu at amd.com; ruifeng.wang at arm.com; ajit.khaparde at broadcom.com;
> Anoob Joseph <anoobj at marvell.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch at intel.com>; matan at nvidia.com; g.singh at nxp.com;
> Yang, Qiming <qiming.yang at intel.com>; Wu, Wenjun1
> <wenjun1.wu at intel.com>; jianwang at trustnetic.com; Wu, Jingjing
> <jingjing.wu at intel.com>; Xing, Beilei <beilei.xing at intel.com>; Nithin Kumar
> Dabilpuram <ndabilpuram at 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 <gakhil at marvell.com>
> > Sent: Wednesday, September 21, 2022 8:33 PM
> > To: dev at dpdk.org
> > Cc: thomas at monjalon.net; david.marchand at redhat.com;
> > hemant.agrawal at nxp.com; Vamsi Krishna Attunuru
> > <vattunuru at marvell.com>; ferruh.yigit at xilinx.com;
> > andrew.rybchenko at oktetlabs.ru; konstantin.v.ananyev at yandex.ru;
> > jiawenwu at trustnetic.com; yisen.zhuang at huawei.com; Igor Russkikh
> > <irusskikh at marvell.com>; Jerin Jacob Kollanukkaran
> > <jerinj at marvell.com>; Ankur Dwivedi <adwivedi at marvell.com>;
> > maxime.coquelin at redhat.com; chandu at amd.com;
> ruifeng.wang at arm.com;
> > ajit.khaparde at broadcom.com; Anoob Joseph <anoobj at marvell.com>;
> > pablo.de.lara.guarch at intel.com; matan at nvidia.com; g.singh at nxp.com;
> > qiming.yang at intel.com; wenjun1.wu at intel.com;
> jianwang at trustnetic.com;
> > jingjing.wu at intel.com; beilei.xing at intel.com; Nithin Kumar Dabilpuram
> > <ndabilpuram at marvell.com>; Akhil Goyal <gakhil at 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-
> > gakhil at marvell.com/
> > [2]
> > https://patches.dpdk.org/project/dpdk/cover/20220829160645.378406-1-
> > roy.fan.zhang at 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
More information about the dev
mailing list