From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
Akhil Goyal <gakhil@marvell.com>,
Fan Zhang <fanzhang.oss@gmail.com>
Subject: [PATCH 18/20] cryptodev: promote algorithm helpers to stable
Date: Wed, 7 Oct 2026 14:39:48 -0700 [thread overview]
Message-ID: <20261007214115.3092715-19-stephen@networkplumber.org> (raw)
In-Reply-To: <20261007214115.3092715-1-stephen@networkplumber.org>
The algorithm name lookup helpers were added in 23.03 and the
asymmetric opcap check in 24.11. The inline raw enqueue/dequeue and
mbuf-to-vec helpers date back to 21.05. None of them have changed and
all are driver independent.
The queue pair reset, event error query and queue pair depth functions
are left experimental. They are currently implemented only by
crypto/cnxk, so the interface should not be frozen before a second
driver has tried to use it.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/rel_notes/release_26_11.rst | 4 ++++
lib/cryptodev/rte_crypto_sym.h | 2 --
lib/cryptodev/rte_cryptodev.c | 10 +++++-----
lib/cryptodev/rte_cryptodev.h | 10 ----------
4 files changed, 9 insertions(+), 17 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index f689f08338..6055c1edee 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -225,6 +225,10 @@ API Changes
* cmdline: Promoted ``cmdline_token_bool_ops`` from experimental to stable.
+* cryptodev: Promoted the algorithm name helpers and the asymmetric
+ capability check from experimental to stable, along with the inline
+ raw enqueue/dequeue and mbuf-to-vec helpers.
+
* dispatcher: Promoted the whole library API from experimental to stable.
The ``rte_dispatcher_*`` functions are unchanged since the library was
added in 23.11.
diff --git a/lib/cryptodev/rte_crypto_sym.h b/lib/cryptodev/rte_crypto_sym.h
index 630fd153bd..9bf5e63ce1 100644
--- a/lib/cryptodev/rte_crypto_sym.h
+++ b/lib/cryptodev/rte_crypto_sym.h
@@ -16,7 +16,6 @@
#include <string.h>
-#include <rte_compat.h>
#include <rte_mbuf.h>
#include <rte_memory.h>
#include <rte_mempool.h>
@@ -983,7 +982,6 @@ __rte_crypto_sym_op_attach_sym_session(struct rte_crypto_sym_op *sym_op, void *s
* - number of successfully filled entries in *vec* array.
* - negative number of elements in *vec* array required.
*/
-__rte_experimental
static inline int
rte_crypto_mbuf_to_vec(const struct rte_mbuf *mb, uint32_t ofs, uint32_t len,
struct rte_crypto_vec vec[], uint32_t num)
diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.c
index 829a5d0846..f2d2e5c864 100644
--- a/lib/cryptodev/rte_cryptodev.c
+++ b/lib/cryptodev/rte_cryptodev.c
@@ -407,7 +407,7 @@ rte_cryptodev_asym_get_xform_enum(enum rte_crypto_asym_xform_type *xform_enum,
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_cryptodev_get_cipher_algo_string, 23.03)
+RTE_EXPORT_SYMBOL(rte_cryptodev_get_cipher_algo_string)
const char *
rte_cryptodev_get_cipher_algo_string(enum rte_crypto_cipher_algorithm algo_enum)
{
@@ -421,7 +421,7 @@ rte_cryptodev_get_cipher_algo_string(enum rte_crypto_cipher_algorithm algo_enum)
return alg_str;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_cryptodev_get_auth_algo_string, 23.03)
+RTE_EXPORT_SYMBOL(rte_cryptodev_get_auth_algo_string)
const char *
rte_cryptodev_get_auth_algo_string(enum rte_crypto_auth_algorithm algo_enum)
{
@@ -435,7 +435,7 @@ rte_cryptodev_get_auth_algo_string(enum rte_crypto_auth_algorithm algo_enum)
return alg_str;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_cryptodev_get_aead_algo_string, 23.03)
+RTE_EXPORT_SYMBOL(rte_cryptodev_get_aead_algo_string)
const char *
rte_cryptodev_get_aead_algo_string(enum rte_crypto_aead_algorithm algo_enum)
{
@@ -449,7 +449,7 @@ rte_cryptodev_get_aead_algo_string(enum rte_crypto_aead_algorithm algo_enum)
return alg_str;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_cryptodev_asym_get_xform_string, 23.03)
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_get_xform_string)
const char *
rte_cryptodev_asym_get_xform_string(enum rte_crypto_asym_xform_type xform_enum)
{
@@ -731,7 +731,7 @@ rte_cryptodev_asym_xform_capability_check_hash(
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_cryptodev_asym_xform_capability_check_opcap, 24.11)
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_xform_capability_check_opcap)
int
rte_cryptodev_asym_xform_capability_check_opcap(
const struct rte_cryptodev_asymmetric_xform_capability *capability,
diff --git a/lib/cryptodev/rte_cryptodev.h b/lib/cryptodev/rte_cryptodev.h
index 37a6a5e49b..b8c00fe576 100644
--- a/lib/cryptodev/rte_cryptodev.h
+++ b/lib/cryptodev/rte_cryptodev.h
@@ -372,9 +372,6 @@ rte_cryptodev_asym_xform_capability_check_hash(
enum rte_crypto_auth_algorithm hash);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Check if op capability is supported
*
* @param capability Description of the asymmetric crypto capability.
@@ -385,7 +382,6 @@ rte_cryptodev_asym_xform_capability_check_hash(
* - Return 1 if the op capability is supported
* - Return 0 if unsupported
*/
-__rte_experimental
int
rte_cryptodev_asym_xform_capability_check_opcap(
const struct rte_cryptodev_asymmetric_xform_capability *capability,
@@ -460,7 +456,6 @@ rte_cryptodev_asym_get_xform_enum(enum rte_crypto_asym_xform_type *xform_enum,
* - Return NULL if enum is not valid
* - Return algo_string corresponding to enum
*/
-__rte_experimental
const char *
rte_cryptodev_get_cipher_algo_string(enum rte_crypto_cipher_algorithm algo_enum);
@@ -473,7 +468,6 @@ rte_cryptodev_get_cipher_algo_string(enum rte_crypto_cipher_algorithm algo_enum)
* - Return NULL if enum is not valid
* - Return algo_string corresponding to enum
*/
-__rte_experimental
const char *
rte_cryptodev_get_auth_algo_string(enum rte_crypto_auth_algorithm algo_enum);
@@ -486,7 +480,6 @@ rte_cryptodev_get_auth_algo_string(enum rte_crypto_auth_algorithm algo_enum);
* - Return NULL if enum is not valid
* - Return algo_string corresponding to enum
*/
-__rte_experimental
const char *
rte_cryptodev_get_aead_algo_string(enum rte_crypto_aead_algorithm algo_enum);
@@ -499,7 +492,6 @@ rte_cryptodev_get_aead_algo_string(enum rte_crypto_aead_algorithm algo_enum);
* - Return NULL, if enum is not valid.
* - Return xform string, for valid enum.
*/
-__rte_experimental
const char *
rte_cryptodev_asym_get_xform_string(enum rte_crypto_asym_xform_type xform_enum);
@@ -1690,7 +1682,6 @@ rte_cryptodev_raw_enqueue_burst(struct rte_crypto_raw_dp_ctx *ctx,
* until rte_cryptodev_raw_enqueue_done() is called.
* - negative integer: failure.
*/
-__rte_experimental
static __rte_always_inline int
rte_cryptodev_raw_enqueue(struct rte_crypto_raw_dp_ctx *ctx,
struct rte_crypto_vec *data_vec, uint16_t n_data_vecs,
@@ -1790,7 +1781,6 @@ rte_cryptodev_raw_dequeue_burst(struct rte_crypto_raw_dp_ctx *ctx,
* - The user data pointer retrieved from device queue or NULL if no
* operation is ready for dequeue.
*/
-__rte_experimental
static __rte_always_inline void *
rte_cryptodev_raw_dequeue(struct rte_crypto_raw_dp_ctx *ctx,
int *dequeue_status, enum rte_crypto_op_status *op_status)
--
2.53.0
next prev parent reply other threads:[~2026-10-07 21:43 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-07 21:39 [PATCH 00/20] promote long standing experimental API to stable Stephen Hemminger
2026-10-07 21:39 ` [PATCH 01/20] eal: add missing export for rte_basename Stephen Hemminger
2026-10-08 9:56 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 02/20] eal: promote rte_basename to stable Stephen Hemminger
2026-10-08 9:56 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 03/20] eal: promote explicit zero and sensitive free " Stephen Hemminger
2026-10-08 10:01 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 04/20] eal: promote rte_size_to_str " Stephen Hemminger
2026-10-08 10:01 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 05/20] eal: promote lcore variables API " Stephen Hemminger
2026-10-08 10:04 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 06/20] cmdline: promote bool token ops " Stephen Hemminger
2026-10-08 10:05 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 07/20] ethdev: promote link connector to string " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 08/20] port: promote SWX port API " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 09/20] table: promote SWX table " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 10/20] pipeline: promote SWX IPsec " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 11/20] pipeline: promote SWX pipeline and control " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 12/20] power: promote PM QoS and uncore " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 13/20] ring: promote soring " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 14/20] dispatcher: promote " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 15/20] argparse: " Stephen Hemminger
2026-10-08 10:15 ` Bruce Richardson
2026-10-07 21:39 ` [PATCH 16/20] node: " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 17/20] hash: promote RCU reclaim and thash key generation " Stephen Hemminger
2026-10-08 10:16 ` Bruce Richardson
2026-10-07 21:39 ` Stephen Hemminger [this message]
2026-10-07 21:39 ` [PATCH 19/20] pdcp: promote API " Stephen Hemminger
2026-10-07 21:39 ` [PATCH 20/20] mempool: promote memory range and alignment " Stephen Hemminger
2026-10-08 7:19 ` Morten Brørup
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=20261007214115.3092715-19-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=fanzhang.oss@gmail.com \
--cc=gakhil@marvell.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.