Data Accelerator Offload
|
#include <dao_liquid_crypto.h>
Data Fields | ||
uint64_t | op_cookie | |
uint64_t | sess_id | |
struct dao_lc_buf * | in_buffer | |
struct dao_lc_buf * | out_buffer | |
uint32_t | cipher_offset | |
uint32_t | cipher_len | |
uint32_t | auth_offset | |
uint32_t | auth_len | |
uint8_t * | cipher_iv | |
uint8_t * | auth_iv | |
uint8_t * | aad | |
uint16_t | aad_len | |
uint8_t * | digest | |
union { | ||
bool encrypt | ||
bool auth_gen | ||
}; | ||
The liquid crypto op structure.
Definition at line 52 of file dao_liquid_crypto.h.
uint64_t op_cookie |
The cookie to be associated with the operation. This cookie is returned in the dao_lc_res structure when the operation is dequeued.
Definition at line 57 of file dao_liquid_crypto.h.
uint64_t sess_id |
Session ID to be used.
Definition at line 59 of file dao_liquid_crypto.h.
struct dao_lc_buf* in_buffer |
Data buffer input for the operation. The memory pointed to by in_buffer must remain valid until the operation is completed and dequeued by the application using dao_liquid_crypto_dequeue_burst().
Definition at line 65 of file dao_liquid_crypto.h.
struct dao_lc_buf* out_buffer |
Data buffer output for the operation. NULL value means in-place operation. The memory pointed to by out_buffer must remain valid until the operation is completed and dequeued by the application using dao_liquid_crypto_dequeue_burst().
Definition at line 71 of file dao_liquid_crypto.h.
uint32_t cipher_offset |
Starting point for cipher processing, specified as number of bytes from start of data in the input buffer. The result of the cipher operation will be written back into the output buffer starting at this location.
Definition at line 77 of file dao_liquid_crypto.h.
uint32_t cipher_len |
Length of data to be ciphered, specified as number of bytes from the cipher_offset in the input buffer.
For block ciphers, the cipher length must be aligned with the block size of the cipher type. It is the application's responsibility to ensure the cipher length meets this alignment requirement.
Definition at line 86 of file dao_liquid_crypto.h.
uint32_t auth_offset |
Starting point for auth processing, specified as number of bytes from start of data in the input buffer.
Definition at line 91 of file dao_liquid_crypto.h.
uint32_t auth_len |
Length of data to be authenticated, specified as number of bytes from the auth_offset in the input buffer.
Definition at line 96 of file dao_liquid_crypto.h.
uint8_t* cipher_iv |
Cipher IV
Definition at line 98 of file dao_liquid_crypto.h.
uint8_t* auth_iv |
Auth IV
Definition at line 100 of file dao_liquid_crypto.h.
uint8_t* aad |
AAD. Ignored for non-AEAD operations.
Definition at line 102 of file dao_liquid_crypto.h.
uint16_t aad_len |
AAD length. Ignored for non-AEAD operations.
Definition at line 104 of file dao_liquid_crypto.h.
uint8_t* digest |
Digest. Ignored for non auth use cases.
Definition at line 106 of file dao_liquid_crypto.h.
bool encrypt |
Is encrypt operation or decrypt operation.
Definition at line 110 of file dao_liquid_crypto.h.
bool auth_gen |
Is auth generate or auth verify. Used in case of auth-only operations.
Definition at line 112 of file dao_liquid_crypto.h.
union { ... } |
Type of operation