MLDSA_CAPA(3)
π NAME π
rte_cryptodev_asymmetric_xform_capability β okay bestie, this is the struct in DPDK (that's the Data Plane Development Kit, the library this page comes from, iykyk) that tells you what an asymmetric crypto transform can actually do. It's giving "capability report" energy and honestly? iconic.
β¨ SYNOPSIS β¨
#include <rte_cryptodev.h>
π Data Fields
enum rte_crypto_asym_xform_typexform_typeuint32_top_typesuint64_thash_algos
π₯ Detailed Description
So this whole struct is literally called "Asymmetric Xform Crypto Capability" β it's the vibe check for an asymmetric transform. You look at it and you know what's supported. No cap.
Fr fr, this is defined at line 163 of file rte_cryptodev.h. Remember that, there's gonna be a quiz (there is not a quiz, but like⦠write it down).
πΈ Field Documentation πΈ
enum rte_crypto_asym_xform_type xform_type
The transform type, bestie. Your options are RSA/MODEXP/DH/DSA/MODINV. That's it, that's the list π
Defined at line 164 of file rte_cryptodev.h.
uint32_t op_types
A bitmask for the supported rte_crypto_asym_op_type or rte_crypto_ml_kem_op_type or rte_crypto_ml_dsa_op_type or rte_crypto_asym_ke_type. And like β which enum gets used is decided by the rte_crypto_asym_xform_type. So:
- for key exchange algorithms like Diffie-Hellman, it's
rte_crypto_asym_ke_type - for ML-KEM algorithms, it's
rte_crypto_ml_kem_op_type - for ML-DSA algorithms, it's
rte_crypto_ml_dsa_op_type - for others, it's
rte_crypto_asym_op_type
Not me making a whole little decision tree, but here we are π¦
Defined at line 167 of file rte_cryptodev.h.
struct rte_crypto_param_range modlen
The range of modulus length that's supported by a modulus-based xform. And heads up β a value of 0 means the implementation default. So if you see 0, don't panic, it's not broken, that's just the default behavior π«Ά
Defined at line 181 of file rte_cryptodev.h.
uint8_t internal_rng
Is there a random number generator available for an Elliptic curve based xform? That's the question.
- Value
0means unavailable, and the application should pass the required random value. So like, you gotta bring your own, bestie π - Otherwise, the PMD would internally compute the random number. Slay, it handles it for you β¨
Defined at line 186 of file rte_cryptodev.h.
uint32_t op_capa[RTE_CRYPTO_ASYM_OP_LIST_END]
Operation-specific capabilities. The girlypop of capability arrays π
Defined at line 192 of file rte_cryptodev.h.
uint32_t mlkem_capa[RTE_CRYPTO_ML_KEM_OP_END]
A bitmask of the supported ML-KEM parameter sets. Obsessed with her honestly π₯
Defined at line 195 of file rte_cryptodev.h.
uint32_t mldsa_capa[RTE_CRYPTO_ML_DSA_OP_END]
A bitmask of the supported ML-DSA parameter sets. Her sister, equally iconic π
Defined at line 198 of file rte_cryptodev.h.
uint64_t hash_algos
A bitmask of the hash algorithms supported for op_type. That's the whole thing, but like, it's an important whole thing π
Defined at line 202 of file rte_cryptodev.h.
π Author
Generated automatically by Doxygen for DPDK from the source code. So nobody hand-wrote this, it wrote itself, main character energy fr fr π€β¨
Ok that's the page!! Signing off with the deets: this is DPDK, Version 26.03.0, and the page is rte_crypto..._capability(3) π Go forth and check your capabilities, bestie π
π¦ where this page comes from
- nixos 26.05: dpdk 26.03
- nixpkgs unstable: dpdk 26.03
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms