rte_pmd_cnxk_crypto.h(3)
๐ NAME ๐
rte_pmd_cnxk_crypto.h โ bestie, this is the manual page for it, page 3 of the Library Functions Manual, and it's all about the Marvell CNXK Crypto PMD. โจ
๐ธ SYNOPSIS ๐ธ
#include <stdbool.h>
#include <stdint.h>
#include <rte_compat.h>
#include <rte_crypto.h>
#include <rte_security.h>
๐ Data Structures ๐
struct rte_pmd_cnxk_crypto_qp_statsโ Crypto CNXK queue pair stats. ๐struct rte_pmd_cnxk_crypto_sessโ Crypto CNXK PMD session structure. ๐๏ธstruct rte_pmd_cnxk_crypto_ae_ec_group_paramsโ AE EC (Elliptic Curve) group parameters structure. ๐
๐ Enumerations ๐
enum rte_pmd_cnxk_ae_ec_id
๐ Functions ๐
__rte_experimental struct rte_pmd_cnxk_crypto_qptr *
rte_pmd_cnxk_crypto_qptr_get (uint8_t dev_id, uint16_t qp_id)
__rte_experimental void rte_pmd_cnxk_crypto_submit (struct
rte_pmd_cnxk_crypto_qptr *qptr, void *inst, uint16_t nb_inst)
__rte_experimental int rte_pmd_cnxk_crypto_cptr_flush (struct
rte_pmd_cnxk_crypto_qptr *qptr, struct rte_pmd_cnxk_crypto_cptr
*cptr, bool invalidate)
__rte_experimental struct rte_pmd_cnxk_crypto_cptr *
rte_pmd_cnxk_crypto_cptr_get (struct rte_pmd_cnxk_crypto_sess
*rte_sess)
__rte_experimental int rte_pmd_cnxk_crypto_cptr_read (struct
rte_pmd_cnxk_crypto_qptr *qptr, struct rte_pmd_cnxk_crypto_cptr
*cptr, void *data, uint32_t len)
__rte_experimental int rte_pmd_cnxk_crypto_cptr_write (struct
rte_pmd_cnxk_crypto_qptr *qptr, struct rte_pmd_cnxk_crypto_cptr
*cptr, void *data, uint32_t len)
__rte_experimental int rte_pmd_cnxk_crypto_qp_stats_get (struct
rte_pmd_cnxk_crypto_qptr *qptr, struct rte_pmd_cnxk_crypto_qp_stats
*stats)
__rte_experimental const uint64_t * rte_pmd_cnxk_ae_fpm_table_get
(uint8_t dev_id)
__rte_experimental const struct rte_pmd_cnxk_crypto_ae_ec_group_params
** rte_pmd_cnxk_ae_ec_grp_table_get (uint8_t dev_id, uint16_t
*nb_max_entries)
๐ Detailed Description ๐
Marvell CNXK Crypto PMD specific functions. That's the whole vibe of this header, fr fr.
Definition in file rte_pmd_cnxk_crypto.h. ๐
๐ฆ Enumeration Type Documentation ๐ฆ
enum rte_pmd_cnxk_ae_ec_id
Enumerates supported elliptic curves. ๐
Definition at line 26 of file rte_pmd_cnxk_crypto.h.
โจ Function Documentation โจ
๐ซถ __rte_experimental struct rte_pmd_cnxk_crypto_qptr * rte_pmd_cnxk_crypto_qptr_get (uint8_t dev_id, uint16_t qp_id)
Get queue pointer of a specific queue in a cryptodev. like, the pointer you need to do anything. ๐
Parameters
dev_idโ Device identifier of cryptodev device.qp_idโ Index of the queue pair.
Returns
- On success, pointer to queue pair structure that would be the input to submit APIs. ๐
NULLon error. ๐ญ
๐ __rte_experimental void rte_pmd_cnxk_crypto_submit (struct rte_pmd_cnxk_crypto_qptr * qptr, void * inst, uint16_t nb_inst)
Submit CPT instruction (cpt_inst_s) to hardware (CPT). ๐
The qp is a pointer obtained from rte_pmd_cnxk_crypto_qp_get. Application should make sure it doesn't overflow the internal hardware queues. It may do so by making sure the inflight packets are not more than the number of descriptors configured.
This API may be called only after the cryptodev and queue pair is configured and is started. โ ๏ธ
Parameters
qptrโ Pointer obtained withrte_pmd_cnxk_crypto_qptr_get.instโ Pointer to an array of instructions prepared by application.nb_instโ Number of instructions.
๐ธ __rte_experimental int rte_pmd_cnxk_crypto_cptr_flush (struct rte_pmd_cnxk_crypto_qptr * qptr, struct rte_pmd_cnxk_crypto_cptr * cptr, bool invalidate)
Flush the CPTR from CPT CTX cache. ๐งน
This API must be called only after the cryptodev and queue pair is configured and is started.
Parameters
qptrโ Pointer obtained withrte_pmd_cnxk_crypto_qptr_get.cptrโ Pointer obtained withrte_pmd_cnxk_crypto_cptr_getor any valid CPTR address that can be used with CPT CTX cache.invalidateโ Iftrue, invalidate the CTX cache entry. Iffalse, flush the CTX cache entry.
Returns
0on success. โ- Negative value on error. ๐
-EINVALif the input parameters are invalid.-ENOTSUPif the operation is not supported.-EAGAINif the operation is not successful.-EFAULTif the operation failed.
๐ง __rte_experimental struct rte_pmd_cnxk_crypto_cptr * rte_pmd_cnxk_crypto_cptr_get (struct rte_pmd_cnxk_crypto_sess * rte_sess)
Get the HW CPTR pointer from the rte_crypto/rte_security session. ๐๏ธ
Parameters
rte_sessโ Pointer to the structure holdingrte_cryptodevorrte_securitysession.
Returns
- On success, pointer to the HW CPTR. ๐
NULLon error. ๐ญ
๐ __rte_experimental int rte_pmd_cnxk_crypto_cptr_read (struct rte_pmd_cnxk_crypto_qptr * qptr, struct rte_pmd_cnxk_crypto_cptr * cptr, void * data, uint32_t len)
Read HW context (CPTR). ๐
Parameters
qptrโ Pointer obtained withrte_pmd_cnxk_crypto_qptr_get.cptrโ Pointer obtained withrte_pmd_cnxk_crypto_cptr_getor any valid CPTR address that can be used with CPT CTX cache.dataโ Destination pointer to copy CPTR context for application.lenโ Length of CPTR context to copy intodataparameter.
Returns
0On success. โ- Negative value on error. ๐
-EINVALif the input parameters are invalid.-ENOTSUPif the operation is not supported.-EAGAINif the operation is not successful.-EFAULTif the operation failed.
๐ __rte_experimental int rte_pmd_cnxk_crypto_cptr_write (struct rte_pmd_cnxk_crypto_qptr * qptr, struct rte_pmd_cnxk_crypto_cptr * cptr, void * data, uint32_t len)
Write HW context (CPTR). โ๏ธ
Parameters
qptrโ Pointer obtained withrte_pmd_cnxk_crypto_qptr_get.cptrโ Pointer obtained withrte_pmd_cnxk_crypto_cptr_getor any valid CPTR address that can be used with CPT CTX cache.dataโ Source pointer to copy CPTR context from application.lenโ Length of CPTR context to copy fromdataparameter.
Returns
0On success. โ- Negative value on error. ๐
-EINVALif the input parameters are invalid.-ENOTSUPif the operation is not supported.-EAGAINif the operation is not successful.-EFAULTif the operation failed.
๐ __rte_experimental int rte_pmd_cnxk_crypto_qp_stats_get (struct rte_pmd_cnxk_crypto_qptr * qptr, struct rte_pmd_cnxk_crypto_qp_stats * stats)
Get the HW Queue Pair (LF) stats. ๐
Parameters
qptrโ Pointer obtained withrte_pmd_cnxk_crypto_qptr_get.statsโ Pointer to the structure where stats will be copied.
Returns
0On success. โ- Negative value on error. ๐
-EINVALif the input parameters are invalid.
๐ __rte_experimental const uint64_t * rte_pmd_cnxk_ae_fpm_table_get (uint8_t dev_id)
Retrieves the addresses of the AE FPM (Finite Precision Math) tables. ๐งฎ
This API should be called only after the cryptodev device has been successfully configured. The returned pointer reference memory that is valid as long as the device remains configured and is not destroyed or reconfigured. If the device is reconfigured or destroyed, the memory referenced by the returned pointer becomes invalid and must not be used. ๐โ ๏ธ
bestie, that last sentence is not a drill โ that pointer goes stale the second the device gets reconfigured or destroyed.
Parameters
dev_idโ Device identifier of cryptodev device.
Returns
- On success pointer to the AE FPM table addresses. ๐
NULLon error. ๐ญ
๐งธ __rte_experimental const struct rte_pmd_cnxk_crypto_ae_ec_group_params ** rte_pmd_cnxk_ae_ec_grp_table_get (uint8_t dev_id, uint16_t * nb_max_entries)
Retrieves the addresses of the AE EC group table. ๐บ๏ธ
This API should be called only after the cryptodev device has been successfully configured. The returned pointer reference memory that is valid as long as the device remains configured and is not destroyed or reconfigured. If the device is reconfigured or destroyed, the memory referenced by the returned pointer becomes invalid and must not be used. ๐โ ๏ธ
same energy as above, no cap โ stale pointer, do not touch.
Parameters
dev_idโ Device identifier of cryptodev device.nb_max_entriesโ Pointer to store the maximum number of entries in the EC group table. This value is set by the function to indicate how many entries can be retrieved from the table.
Returns
- On success, pointer to the AE EC group table structure address. ๐
NULLon error. ๐ญ
๐ Author ๐
Generated automatically by Doxygen for DPDK from the source code. ๐คโจ
okay that's the whole page, bestie, you ate it ๐
this was DPDK, Version 25.11.3, for the rte_pmd_cnxk_crypto.h(3) page โ go be the main character of your own cryptodev now ๐ฆ๐๐
๐ฆ where this page comes from
- ubuntu resolute: dpdk-doc 25.11.3-0ubuntu0.26.04.1 ยท BSD-3-Clause
- ubuntu stonking: dpdk-doc 25.11.3-1 ยท BSD-3-Clause
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms