mbox series

[v4,0/8] cryptodev: hide internal structures

Message ID 20211020112754.1270163-1-gakhil@marvell.com (mailing list archive)
Headers
Series cryptodev: hide internal structures |

Message

Akhil Goyal Oct. 20, 2021, 11:27 a.m. UTC
  Structures rte_cryptodev and rte_cryptodev_data are not
supposed to be directly used by the application. These
are made public as they are used by inline datapath
public APIs.
This patchset, creates a new rte_cryptodev_core.h file
which helps in defining a data structure to hold datapath
APIs in a flat array based on the device identifier which
is filled by the PMD.

Similar series for ethdev and eventdev are also floated on ML.
https://patchwork.dpdk.org/project/dpdk/list/?series=19428
https://patchwork.dpdk.org/project/dpdk/list/?series=19405


changes in
v4:
- fixed number of reserved pointers.(Konstantin)
- added release notes
- added a patch for scheduler issue(Ciara).
v3: fixed multiprocess and enq-deq callback handling.
v2: align with the latest versions of above series.


Akhil Goyal (8):
  cryptodev: separate out internal structures
  cryptodev: allocate max space for internal qp array
  cryptodev: move inline APIs into separate structure
  crypto/scheduler: use proper API for device start/stop
  cryptodev: add PMD device probe finish API
  drivers/crypto: invoke probing finish function
  cryptodev: update fast path APIs to use new flat array
  cryptodev: move device specific structures

 doc/guides/rel_notes/release_21_11.rst        |   6 +
 drivers/crypto/armv8/rte_armv8_pmd.c          |   2 +
 drivers/crypto/bcmfs/bcmfs_sym_pmd.c          |   2 +
 drivers/crypto/caam_jr/caam_jr.c              |   2 +
 drivers/crypto/ccp/ccp_dev.h                  |   2 +-
 drivers/crypto/ccp/rte_ccp_pmd.c              |   2 +
 drivers/crypto/cnxk/cn10k_cryptodev.c         |   2 +
 drivers/crypto/cnxk/cn10k_ipsec.c             |   2 +-
 drivers/crypto/cnxk/cn9k_cryptodev.c          |   2 +
 drivers/crypto/cnxk/cn9k_ipsec.c              |   2 +-
 .../crypto/cnxk/cnxk_cryptodev_capabilities.c |   2 +-
 drivers/crypto/cnxk/cnxk_cryptodev_sec.c      |   2 +-
 drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c   |   4 +-
 drivers/crypto/dpaa_sec/dpaa_sec.c            |   4 +-
 drivers/crypto/ipsec_mb/ipsec_mb_private.c    |   2 +
 drivers/crypto/mlx5/mlx5_crypto.c             |   3 +
 drivers/crypto/mvsam/rte_mrvl_pmd.c           |   2 +
 drivers/crypto/nitrox/nitrox_sym.c            |   3 +
 drivers/crypto/nitrox/nitrox_sym_reqmgr.c     |   2 +-
 drivers/crypto/null/null_crypto_pmd.c         |   2 +
 drivers/crypto/octeontx/otx_cryptodev.c       |   5 +-
 .../crypto/octeontx/otx_cryptodev_hw_access.c |   2 +-
 .../crypto/octeontx/otx_cryptodev_hw_access.h |   2 +-
 drivers/crypto/octeontx/otx_cryptodev_ops.h   |   2 +-
 drivers/crypto/octeontx2/otx2_cryptodev.c     |   2 +
 .../crypto/octeontx2/otx2_cryptodev_mbox.c    |   2 +-
 drivers/crypto/openssl/rte_openssl_pmd.c      |   2 +
 drivers/crypto/qat/qat_asym_pmd.c             |   3 +
 drivers/crypto/qat/qat_sym_pmd.c              |   2 +
 drivers/crypto/scheduler/scheduler_failover.c |   2 +-
 .../crypto/scheduler/scheduler_multicore.c    |   2 +-
 .../scheduler/scheduler_pkt_size_distr.c      |   2 +-
 drivers/crypto/scheduler/scheduler_pmd.c      |   2 +
 drivers/crypto/scheduler/scheduler_pmd_ops.c  |   9 +-
 .../crypto/scheduler/scheduler_roundrobin.c   |   2 +-
 drivers/crypto/virtio/virtio_cryptodev.c      |   2 +
 drivers/event/cnxk/cnxk_eventdev.h            |   2 +-
 drivers/event/dpaa/dpaa_eventdev.c            |   2 +-
 drivers/event/dpaa2/dpaa2_eventdev.c          |   2 +-
 drivers/event/octeontx/ssovf_evdev.c          |   2 +-
 .../event/octeontx2/otx2_evdev_crypto_adptr.c |   2 +-
 lib/cryptodev/cryptodev_pmd.c                 |  69 +++-
 lib/cryptodev/cryptodev_pmd.h                 |  95 ++++-
 lib/cryptodev/meson.build                     |   4 +-
 lib/cryptodev/rte_cryptodev.c                 |  40 +-
 lib/cryptodev/rte_cryptodev.h                 | 367 +++++++-----------
 lib/cryptodev/rte_cryptodev_core.h            |  62 +++
 lib/cryptodev/version.map                     |   8 +-
 48 files changed, 473 insertions(+), 275 deletions(-)
 create mode 100644 lib/cryptodev/rte_cryptodev_core.h
  

Comments

Akhil Goyal Oct. 20, 2021, 1:36 p.m. UTC | #1
> Subject: [PATCH v4 0/8] cryptodev: hide internal structures
> 
> Structures rte_cryptodev and rte_cryptodev_data are not
> supposed to be directly used by the application. These
> are made public as they are used by inline datapath
> public APIs.
> This patchset, creates a new rte_cryptodev_core.h file
> which helps in defining a data structure to hold datapath
> APIs in a flat array based on the device identifier which
> is filled by the PMD.
> 
> Similar series for ethdev and eventdev are also floated on ML.
> https://patchwork.dpdk.org/project/dpdk/list/?series=19428
> https://patchwork.dpdk.org/project/dpdk/list/?series=19405
> 
> 
> changes in
> v4:
> - fixed number of reserved pointers.(Konstantin)
> - added release notes
> - added a patch for scheduler issue(Ciara).
> v3: fixed multiprocess and enq-deq callback handling.
> v2: align with the latest versions of above series.

Series Applied to dpdk-next-crypto