RTE_CRYPTODEV_ASYMMETRIC_XFORM_CAPABILITY(3)

๐Ÿ’– rte_cryptodev_asymmetric_xform_capability ๐Ÿ’–

okay bestie, so this is a page from the Library Functions Manual โ€” specifically rte_crypto..._capability(3) โ€” and it's literally all about rte_cryptodev_asymmetric_xform_capability. it's a struct, it lives in DPDK's cryptodev world, and it's here to tell you what your crypto device can and cannot do with asymmetric transforms. no cap, it's giving โœจspec sheet energyโœจ and we're gonna read every single line of it together. ๐Ÿซถ


๐ŸŒธ NAME ๐ŸŒธ

rte_cryptodev_asymmetric_xform_capability โ€” the struct that spells out which asymmetric xform stuff your crypto device supports ๐Ÿ‘‘


โœจ SYNOPSIS โœจ

#include <rte_cryptodev.h>

๐ŸŽ€ Data Fields ๐ŸŽ€

  • enum rte_crypto_asym_xform_type xform_type
  • uint32_t op_types
  • uint64_t hash_algos

๐Ÿ’… Detailed Description ๐Ÿ’…

Asymmetric Xform Crypto Capability

like. that's the whole vibe. it's the capability report card for asymmetric xforms. ๐Ÿ“‹

Definition at line 163 of file rte_cryptodev.h.

๐Ÿ‘‘ Field Documentation ๐Ÿ‘‘

๐ŸŒˆ enum rte_crypto_asym_xform_type xform_type

Transform type: RSA/MODEXP/DH/DSA/MODINV

so basically which flavor of transform we're talking about. pick your fighter: RSA, MODEXP, DH, DSA, or MODINV. ๐ŸฅŠ

Definition at line 164 of file rte_cryptodev.h.

๐ŸŒŸ uint32_t op_types

Bitmask for 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 bestie, the way you figure out which enum is in play is โ€” plot twist โ€” it's determined by the rte_crypto_asym_xform_type. ๐Ÿ˜ญ here's the cheat sheet:

  • 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 everything else ๐Ÿ‘‰ it's rte_crypto_asym_op_type
Definition at line 167 of file rte_cryptodev.h.

๐Ÿฆ‹ struct rte_crypto_param_range modlen

Range of modulus length supported by modulus based xform. a value of 0 means the implementation default. (so like, "idk pick for me" but for math ๐Ÿงฎ)

Definition at line 181 of file rte_cryptodev.h.

๐Ÿ“ uint8_t internal_rng

Availability of random number generator for Elliptic curve based xform.

  • value 0 means unavailable, and the application should pass the required random value itself ๐Ÿ™ˆ
  • otherwise, the PMD would internally compute the random number โœจ
Definition at line 186 of file rte_cryptodev.h.

๐Ÿ’œ uint32_t op_capa[RTE_CRYPTO_ASYM_OP_LIST_END]

Operation specific capabilities. ๐Ÿ› ๏ธ

Definition at line 192 of file rte_cryptodev.h.

๐Ÿงš uint32_t mlkem_capa[RTE_CRYPTO_ML_KEM_OP_END]

Bitmask of supported ML-KEM parameter sets. ๐Ÿ”

Definition at line 195 of file rte_cryptodev.h.

โญ uint32_t mldsa_capa[RTE_CRYPTO_ML_DSA_OP_END]

Bitmask of supported ML-DSA parameter sets. ๐Ÿ”

Definition at line 198 of file rte_cryptodev.h.

๐ŸŽ€ uint64_t hash_algos

Bitmask of hash algorithms supported for op_type. ๐Ÿงฌ

Definition at line 202 of file rte_cryptodev.h.

๐Ÿ’– Author ๐Ÿ’–

Generated automatically by Doxygen for DPDK from the source code. (yes bestie, a robot wrote this and honestly? it ate. ๐Ÿค–๐Ÿ’…)


and that's the whole page!! mwah ๐Ÿ’‹ this was DPDK Version 25.11.3 of rte_crypto..._capability(3), so if you're reading this from a different version, go check your own build before you @ me. stay slaying, stay compiling, and remember: read the bitmask, respect the bitmask. ๐Ÿ‘‘โœจ

๐Ÿ“ฆ where this page comes from