mbox series

[v3,0/6] crypto/security session framework rework

Message ID 20220924163542.4159562-1-gakhil@marvell.com (mailing list archive)
Headers show
Series crypto/security session framework rework | expand

Message

Akhil Goyal Sept. 24, 2022, 4:35 p.m. UTC
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.

Changes in v3:
- Updated release notes
- fixed checkpatch issues
- renamed macro to get sess priv data to align with crypto macro
- added acked-by/tested-by

Changes in v2:
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@marvell.com/
[2] https://patches.dpdk.org/project/dpdk/cover/20220829160645.378406-1-roy.fan.zhang@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        |  14 +
 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        |  69 +---
 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, 1251 insertions(+), 2431 deletions(-)

Comments

Akhil Goyal Sept. 24, 2022, 4:39 p.m. UTC | #1
Hi ixgbe/txgbe maintainers,

Please have a look at these patches. These introduce a FIXME into your code.
Please test these patches and provide a proper fix.

Regards,
Akhil

> Subject: [PATCH v3 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.
> 
> Changes in v3:
> - Updated release notes
> - fixed checkpatch issues
> - renamed macro to get sess priv data to align with crypto macro
> - added acked-by/tested-by
> 
> Changes in v2:
> 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@marvell.com/
> [2] https://patches.dpdk.org/project/dpdk/cover/20220829160645.378406-1-
> roy.fan.zhang@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        |  14 +
>  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        |  69 +---
>  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, 1251 insertions(+), 2431 deletions(-)
> 
> --
> 2.25.1
Ruifeng Wang Sept. 26, 2022, 10:09 a.m. UTC | #2
> -----Original Message-----
> From: Akhil Goyal <gakhil@marvell.com>
> Sent: Sunday, September 25, 2022 12:36 AM
> To: dev@dpdk.org
> Cc: thomas@monjalon.net; david.marchand@redhat.com; hemant.agrawal@nxp.com;
> vattunuru@marvell.com; ferruh.yigit@xilinx.com; andrew.rybchenko@oktetlabs.ru;
> konstantin.v.ananyev@yandex.ru; jiawenwu@trustnetic.com; yisen.zhuang@huawei.com;
> irusskikh@marvell.com; jerinj@marvell.com; adwivedi@marvell.com;
> maxime.coquelin@redhat.com; chandu@amd.com; Ruifeng Wang <Ruifeng.Wang@arm.com>; Ajit
> Khaparde (ajit.khaparde@broadcom.com) <ajit.khaparde@broadcom.com>; anoobj@marvell.com;
> pablo.de.lara.guarch@intel.com; matan@nvidia.com; g.singh@nxp.com; qiming.yang@intel.com;
> wenjun1.wu@intel.com; jianwang@trustnetic.com; jingjing.wu@intel.com;
> beilei.xing@intel.com; ndabilpuram@marvell.com; roy.fan.zhang@intel.com; Akhil Goyal
> <gakhil@marvell.com>
> Subject: [PATCH v3 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.
> 
> Changes in v3:
> - Updated release notes
> - fixed checkpatch issues
> - renamed macro to get sess priv data to align with crypto macro
> - added acked-by/tested-by
> 

Hi Akhil,

Thanks for the changes.
Armv8 crypo PMD has build issue with this series.
I updated code based on your series to fix the build. And an issue found
in unit test is also fixed.
http://patches.dpdk.org/project/dpdk/cover/20220926100120.3980185-1-ruifeng.wang@arm.com/

Could you merge my changes into your series?

Thanks.
Akhil Goyal Sept. 26, 2022, 10:12 a.m. UTC | #3
> > Subject: [PATCH v3 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.
> >
> > Changes in v3:
> > - Updated release notes
> > - fixed checkpatch issues
> > - renamed macro to get sess priv data to align with crypto macro
> > - added acked-by/tested-by
> >
> 
> Hi Akhil,
> 
> Thanks for the changes.
> Armv8 crypo PMD has build issue with this series.
> I updated code based on your series to fix the build. And an issue found
> in unit test is also fixed.
> http://patches.dpdk.org/project/dpdk/cover/20220926100120.3980185-1-ruifeng.wang@arm.com/> 
> Could you merge my changes into your series?
> 
Sure I will. Thanks for bringing this into my notice. Armv8 is by default not enabled on my build machine. So it got skipped.