DPDK
2.2.0

#include <rte_crypto.h>
Data Fields  
enum rte_crypto_cipher_operation  op 
enum rte_crypto_cipher_algorithm  algo 
struct rte_crypto_key  key 
Symmetric Cipher Setup Data.
This structure contains data relating to Cipher (Encryption and Decryption) use to create a session.
Definition at line 126 of file rte_crypto.h.
enum rte_crypto_cipher_operation op 
This parameter determines if the cipher operation is an encrypt or a decrypt operation. For the RC4 algorithm and the F8/CTR modes, only encrypt operations are valid.
Definition at line 127 of file rte_crypto.h.
enum rte_crypto_cipher_algorithm algo 
Cipher algorithm
Definition at line 132 of file rte_crypto.h.
struct rte_crypto_key key 
Cipher key
For the RTE_CRYPTO_CIPHER_AES_F8 mode of operation, key.data will point to a concatenation of the AES encryption key followed by a keymask. As per RFC3711, the keymask should be padded with trailing bytes to match the length of the encryption key used. For AESXTS mode of operation, two keys must be provided and key.data must point to the two keys concatenated together (Key1  Key2). The cipher key length will contain the total size of both keys. Cipher key length is in bytes. For AES it can be 128 bits (16 bytes), 192 bits (24 bytes) or 256 bits (32 bytes). For the CCM mode of operation, the only supported key length is 128 bits (16 bytes). For the RTE_CRYPTO_CIPHER_AES_F8 mode of operation, key.length should be set to the combined length of the encryption key and the keymask. Since the keymask and the encryption key are the same size, key.length should be set to 2 x the AES encryption key length. For the AESXTS mode of operation:  Two keys must be provided and key.length refers to total length of the two keys.  Each key can be either 128 bits (16 bytes) or 256 bits (32 bytes).  Both keys must have the same size.
Definition at line 135 of file rte_crypto.h.