DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ciara Power <ciara.power@intel.com>
To: dev@dpdk.org
Cc: roy.fan.zhang@intel.com, gakhil@marvell.com, anoobj@marvell.com,
	mdr@ashroe.eu, Ciara Power <ciara.power@intel.com>
Subject: [PATCH v6 0/5] crypto: improve asym session usage
Date: Thu, 10 Feb 2022 15:53:59 +0000	[thread overview]
Message-ID: <20220210155404.3598576-1-ciara.power@intel.com> (raw)
In-Reply-To: <20220209153854.2740455-1-ciara.power@intel.com>

This patchset includes improvements for the asymmetric session.
The main change is to the session structure, which is now a single
mempool object, rather than having pointers to private data elsewhere.
This session structure is now hidden in an internal header,
so the app will never use it directly.

Some other changes include adding a user data API, and modifying
the return value for the create session function.
This create session function now also initialises the session,
and subsequently the clear/free functions have been merged into one.

Sample code in the programmer's guide that showed basic steps for
using Asymmetric crypto in DPDK has been replaced with literal includes
in the first patch of this patchset. This ensures all subsequent code
changes in the patchset are automatically reflected in the documentation.

v6:
  - Reordered variable declarations to follow cnxk file format.
  - Added fix for crypto perf app asymmetric modex operation, there
    is no longer a need for private mempool, and the
    rte_cryptodev_asym_session_pool_create API should be used.

v5:
  - Modified which patch the sess parameter is passed to session create
    trace function.
  - Reworded create session function description.
  - Removed get API for session private data, can be accessed directly.
  - Modified test application to create a session mempool for
    TEST_NUM_SESSIONS rather than TEST_NUM_SESSIONS * 2.

v4:
  - Added new patch to add literal includes usage in programmer's guide.
  - Merged asym crypto session clear and free functions.
  - Reordered some function parameters.
  - Updated trace function for asym crypto session create.
  - Fixed cnxk clear, the PMD no longer needs to put private data
    back into a mempool.
  - Renamed struct field for max private session size.
  - Replaced __extension__ with RTE_STD_C11.
  - Moved some parameter validity checks to before functional code.
  - Reworded release note.
  - Removed mempool parameter from session configure function.
  - Removed docs code additions, these are included due to patch 1
    changing sample doc to use literal includes.
  - Initialised session variables as NULL.
  - Added possible error return values in user data API comment.

v3:
  - Added documentation in relevant patches.
  - Fixed setting user data size.
  - Fixed hiding structure, it should not be hidden from PMDs.
  - Fixed some other small formatting issues.
  - Increased size of max_priv_session_sz to uint16_t.
  - Removed trace for asym session init function that was
    previously removed.

Ciara Power (5):
  doc: replace asym crypto code with literal includes
  crypto: use single buffer for asymmetric session
  crypto: hide asym session structure
  crypto: add asym session user data API
  crypto: modify return value for asym session create

 app/test-crypto-perf/cperf_ops.c             |  22 +-
 app/test-crypto-perf/cperf_test_throughput.c |   8 +-
 app/test-crypto-perf/main.c                  |  26 +-
 app/test/test_cryptodev_asym.c               | 380 ++++++-------------
 app/test/test_cryptodev_mod_test_vectors.h   |   4 +
 doc/guides/prog_guide/cryptodev_lib.rst      | 212 +++--------
 doc/guides/rel_notes/release_22_03.rst       |  14 +
 drivers/crypto/cnxk/cn10k_cryptodev_ops.c    |   8 +-
 drivers/crypto/cnxk/cn9k_cryptodev_ops.c     |   8 +-
 drivers/crypto/cnxk/cnxk_cryptodev_ops.c     |  22 +-
 drivers/crypto/cnxk/cnxk_cryptodev_ops.h     |   3 +-
 drivers/crypto/octeontx/otx_cryptodev_ops.c  |  32 +-
 drivers/crypto/openssl/rte_openssl_pmd.c     |   4 +-
 drivers/crypto/openssl/rte_openssl_pmd_ops.c |  24 +-
 drivers/crypto/qat/qat_asym.c                |  54 +--
 drivers/crypto/qat/qat_asym.h                |   5 +-
 lib/cryptodev/cryptodev_pmd.h                |  36 +-
 lib/cryptodev/cryptodev_trace_points.c       |   9 +-
 lib/cryptodev/rte_cryptodev.c                | 258 ++++++++-----
 lib/cryptodev/rte_cryptodev.h                | 136 ++++---
 lib/cryptodev/rte_cryptodev_trace.h          |  38 +-
 lib/cryptodev/version.map                    |   9 +-
 22 files changed, 526 insertions(+), 786 deletions(-)

-- 
2.25.1


  parent reply	other threads:[~2022-02-10 15:54 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-09 15:38 [PATCH v4 " Ciara Power
2022-02-09 15:38 ` [PATCH v4 1/5] doc: replace asym crypto code with literal includes Ciara Power
2022-02-09 15:38 ` [PATCH v4 2/5] crypto: use single buffer for asymmetric session Ciara Power
2022-02-09 19:52   ` [EXT] " Akhil Goyal
2022-02-09 15:38 ` [PATCH v4 3/5] crypto: hide asym session structure Ciara Power
2022-02-09 15:38 ` [PATCH v4 4/5] crypto: add asym session user data API Ciara Power
2022-02-09 20:09   ` [EXT] " Akhil Goyal
2022-02-09 15:38 ` [PATCH v4 5/5] crypto: modify return value for asym session create Ciara Power
2022-02-09 20:19   ` [EXT] " Akhil Goyal
2022-02-10 14:01 ` [PATCH v5 0/5] crypto: improve asym session usage Ciara Power
2022-02-10 14:01   ` [PATCH v5 1/5] doc: replace asym crypto code with literal includes Ciara Power
2022-02-10 14:01   ` [PATCH v5 2/5] crypto: use single buffer for asymmetric session Ciara Power
2022-02-10 14:34     ` [EXT] " Anoob Joseph
2022-02-10 14:01   ` [PATCH v5 3/5] crypto: hide asym session structure Ciara Power
2022-02-10 14:01   ` [PATCH v5 4/5] crypto: add asym session user data API Ciara Power
2022-02-10 14:01   ` [PATCH v5 5/5] crypto: modify return value for asym session create Ciara Power
2022-02-10 15:53 ` Ciara Power [this message]
2022-02-10 15:54   ` [PATCH v6 1/5] doc: replace asym crypto code with literal includes Ciara Power
2022-02-10 16:36     ` Zhang, Roy Fan
2022-02-10 15:54   ` [PATCH v6 2/5] crypto: use single buffer for asymmetric session Ciara Power
2022-02-10 15:54   ` [PATCH v6 3/5] crypto: hide asym session structure Ciara Power
2022-02-10 15:54   ` [PATCH v6 4/5] crypto: add asym session user data API Ciara Power
2022-02-10 15:54   ` [PATCH v6 5/5] crypto: modify return value for asym session create Ciara Power
2022-02-10 22:37   ` [EXT] [PATCH v6 0/5] crypto: improve asym session usage Akhil Goyal
2022-02-11  9:29 ` [PATCH v7 " Ciara Power
2022-02-11  9:29   ` [PATCH v7 1/5] doc: replace asym crypto code with literal includes Ciara Power
2022-02-11  9:29   ` [PATCH v7 2/5] crypto: use single buffer for asymmetric session Ciara Power
2022-02-11  9:29   ` [PATCH v7 3/5] crypto: hide asym session structure Ciara Power
2022-02-11  9:29   ` [PATCH v7 4/5] crypto: add asym session user data API Ciara Power
2022-02-11  9:29   ` [PATCH v7 5/5] crypto: modify return value for asym session create Ciara Power
2022-02-11 14:29   ` [EXT] [PATCH v7 0/5] crypto: improve asym session usage Akhil Goyal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220210155404.3598576-1-ciara.power@intel.com \
    --to=ciara.power@intel.com \
    --cc=anoobj@marvell.com \
    --cc=dev@dpdk.org \
    --cc=gakhil@marvell.com \
    --cc=mdr@ashroe.eu \
    --cc=roy.fan.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).