DPDK
20.05.0
|
#include <string.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_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, struct rte_cryptodev_sym_session *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_algorithm_strings [] |
const char * | rte_crypto_cipher_operation_strings [] |
const char * | rte_crypto_auth_algorithm_strings [] |
const char * | rte_crypto_auth_operation_strings [] |
const char * | rte_crypto_aead_algorithm_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
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. |
Definition at line 91 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 151 of file rte_crypto_sym.h.
Symmetric Authentication / Hash Algorithms
Definition at line 250 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 326 of file rte_crypto_sym.h.
Symmetric AEAD Algorithms
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 410 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 425 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 497 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 817 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 834 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 857 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 885 of file rte_crypto_sym.h.
const char* rte_crypto_cipher_algorithm_strings[] |
Cipher algorithm name strings
const char* rte_crypto_cipher_operation_strings[] |
Cipher operation name strings
const char* rte_crypto_auth_algorithm_strings[] |
Authentication algorithm name strings
const char* rte_crypto_auth_operation_strings[] |
Authentication operation name strings
const char* rte_crypto_aead_algorithm_strings[] |
AEAD algorithm name strings
const char* rte_crypto_aead_operation_strings[] |
Authentication operation name strings