DPDK
24.07.0
|
#include <string.h>
#include <rte_compat.h>
#include <rte_mbuf.h>
#include <rte_memory.h>
#include <rte_mempool.h>
#include <rte_common.h>
Go to the source code of this file.
Data Structures | |
struct | rte_crypto_vec |
struct | rte_crypto_sgl |
struct | rte_crypto_va_iova_ptr |
struct | rte_crypto_sym_vec |
union | rte_crypto_sym_ofs |
struct | rte_crypto_cipher_xform |
struct | rte_crypto_auth_xform |
struct | rte_crypto_sym_xform |
struct | rte_crypto_sym_op |
Functions | |
static void | __rte_crypto_sym_op_reset (struct rte_crypto_sym_op *op) |
static struct rte_crypto_sym_xform * | __rte_crypto_sym_op_sym_xforms_alloc (struct rte_crypto_sym_op *sym_op, void *priv_data, uint8_t nb_xforms) |
static int | __rte_crypto_sym_op_attach_sym_session (struct rte_crypto_sym_op *sym_op, void *sess) |
static __rte_experimental 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) |
Variables | |
const char * | rte_crypto_cipher_operation_strings [] |
const char * | rte_crypto_auth_operation_strings [] |
const char * | rte_crypto_aead_operation_strings [] |
RTE Definitions for Symmetric Cryptography
Defines symmetric cipher and authentication algorithms and modes, as well as supported symmetric crypto operation combinations.
Definition in file rte_crypto_sym.h.
Symmetric Cipher Algorithms
Note, to avoid ABI breakage across releases
Enumerator | |
---|---|
RTE_CRYPTO_CIPHER_NULL | NULL cipher algorithm. No mode applies to the NULL algorithm. |
RTE_CRYPTO_CIPHER_3DES_CBC | Triple DES algorithm in CBC mode |
RTE_CRYPTO_CIPHER_3DES_CTR | Triple DES algorithm in CTR mode |
RTE_CRYPTO_CIPHER_3DES_ECB | Triple DES algorithm in ECB mode |
RTE_CRYPTO_CIPHER_AES_CBC | AES algorithm in CBC mode |
RTE_CRYPTO_CIPHER_AES_CTR | AES algorithm in Counter mode |
RTE_CRYPTO_CIPHER_AES_ECB | AES algorithm in ECB mode |
RTE_CRYPTO_CIPHER_AES_F8 | AES algorithm in F8 mode |
RTE_CRYPTO_CIPHER_AES_XTS | AES algorithm in XTS mode |
RTE_CRYPTO_CIPHER_ARC4 | (A)RC4 cipher algorithm |
RTE_CRYPTO_CIPHER_KASUMI_F8 | KASUMI algorithm in F8 mode |
RTE_CRYPTO_CIPHER_SNOW3G_UEA2 | SNOW 3G algorithm in UEA2 mode |
RTE_CRYPTO_CIPHER_ZUC_EEA3 | ZUC algorithm in EEA3 mode |
RTE_CRYPTO_CIPHER_DES_CBC | DES algorithm in CBC mode |
RTE_CRYPTO_CIPHER_AES_DOCSISBPI | AES algorithm using modes required by DOCSIS Baseline Privacy Plus Spec. Chained mbufs are not supported in this mode, i.e. rte_mbuf.next for m_src and m_dst in the rte_crypto_sym_op must be NULL. |
RTE_CRYPTO_CIPHER_DES_DOCSISBPI | DES algorithm using modes required by DOCSIS Baseline Privacy Plus Spec. Chained mbufs are not supported in this mode, i.e. rte_mbuf.next for m_src and m_dst in the rte_crypto_sym_op must be NULL. |
RTE_CRYPTO_CIPHER_SM4_ECB | ShangMi 4 (SM4) algorithm in ECB mode |
RTE_CRYPTO_CIPHER_SM4_CBC | ShangMi 4 (SM4) algorithm in CBC mode |
RTE_CRYPTO_CIPHER_SM4_CTR | ShangMi 4 (SM4) algorithm in CTR mode |
RTE_CRYPTO_CIPHER_SM4_OFB | ShangMi 4 (SM4) algorithm in OFB mode |
RTE_CRYPTO_CIPHER_SM4_CFB | ShangMi 4 (SM4) algorithm in CFB mode |
Definition at line 120 of file rte_crypto_sym.h.
Symmetric Cipher Direction
Enumerator | |
---|---|
RTE_CRYPTO_CIPHER_OP_ENCRYPT | Encrypt cipher operation |
RTE_CRYPTO_CIPHER_OP_DECRYPT | Decrypt cipher operation |
Definition at line 184 of file rte_crypto_sym.h.
Symmetric Authentication / Hash Algorithms
Note, to avoid ABI breakage across releases
Definition at line 309 of file rte_crypto_sym.h.
Symmetric Authentication / Hash Operations
Enumerator | |
---|---|
RTE_CRYPTO_AUTH_OP_VERIFY | Verify authentication digest |
RTE_CRYPTO_AUTH_OP_GENERATE | Generate authentication digest |
Definition at line 388 of file rte_crypto_sym.h.
Symmetric AEAD Algorithms
Note, to avoid ABI breakage across releases
Enumerator | |
---|---|
RTE_CRYPTO_AEAD_AES_CCM | AES algorithm in CCM mode. |
RTE_CRYPTO_AEAD_AES_GCM | AES algorithm in GCM mode. |
RTE_CRYPTO_AEAD_CHACHA20_POLY1305 | Chacha20 cipher with poly1305 authenticator |
Definition at line 478 of file rte_crypto_sym.h.
Symmetric AEAD Operations
Enumerator | |
---|---|
RTE_CRYPTO_AEAD_OP_ENCRYPT | Encrypt and generate digest |
RTE_CRYPTO_AEAD_OP_DECRYPT | Verify digest and decrypt |
Definition at line 488 of file rte_crypto_sym.h.
Crypto transformation types
Enumerator | |
---|---|
RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED | No xform specified |
RTE_CRYPTO_SYM_XFORM_AUTH | Authentication xform |
RTE_CRYPTO_SYM_XFORM_CIPHER | Cipher xform |
RTE_CRYPTO_SYM_XFORM_AEAD | AEAD xform |
Definition at line 560 of file rte_crypto_sym.h.
|
inlinestatic |
Reset the fields of a symmetric operation to their default values.
op | The crypto operation to be reset. |
Definition at line 883 of file rte_crypto_sym.h.
|
static |
Allocate space for symmetric crypto xforms in the private data space of the crypto operation. This also defaults the crypto xform type to RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED and configures the chaining of the xforms in the crypto operation
Definition at line 900 of file rte_crypto_sym.h.
|
inlinestatic |
Attach a session to a symmetric crypto operation
sym_op | crypto operation |
sess | cryptodev session |
Definition at line 923 of file rte_crypto_sym.h.
|
inlinestatic |
Converts portion of mbuf data into a vector representation. Each segment will be represented as a separate entry in vec array. Expects that provided ofs + len not to exceed mbuf's pkt_len.
mb | Pointer to the rte_mbuf object. |
ofs | Offset within mbuf data to start with. |
len | Length of data to represent. |
vec | Pointer to an output array of IO vectors. |
num | Size of an output array. |
Definition at line 950 of file rte_crypto_sym.h.
const char* rte_crypto_cipher_operation_strings[] |
Cipher operation name strings
const char* rte_crypto_auth_operation_strings[] |
Authentication operation name strings
const char* rte_crypto_aead_operation_strings[] |
Authentication operation name strings