NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
doca_aes_gcm.h File Reference
#include <inttypes.h>
#include <doca_compat.h>
#include <doca_error.h>
#include <doca_types.h>
Include dependency graph for doca_aes_gcm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef void(* doca_aes_gcm_task_encrypt_completion_cb_t) (struct doca_aes_gcm_task_encrypt *task, union doca_data task_user_data, union doca_data ctx_user_data)
 Function to execute on aes_gcm encrypt task completion. More...
 
typedef void(* doca_aes_gcm_task_decrypt_completion_cb_t) (struct doca_aes_gcm_task_decrypt *task, union doca_data task_user_data, union doca_data ctx_user_data)
 Function to execute on aes_gcm decrypt task completion. More...
 

Enumerations

enum  doca_aes_gcm_key_type { DOCA_AES_GCM_KEY_128 = 1 , DOCA_AES_GCM_KEY_256 = 2 }
 AES-GCM key type. More...
 

Functions

DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_create (struct doca_dev *dev, struct doca_aes_gcm **aes_gcm)
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_destroy (struct doca_aes_gcm *aes_gcm)
 
DOCA_EXPERIMENTAL struct doca_ctx * doca_aes_gcm_as_ctx (struct doca_aes_gcm *aes_gcm)
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_get_max_num_tasks (struct doca_aes_gcm *aes_gcm, uint32_t *max_num_tasks)
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_key_create (struct doca_aes_gcm *aes_gcm, const void *raw_key, enum doca_aes_gcm_key_type raw_key_type, struct doca_aes_gcm_key **key)
 Create an AES-GCM key from the user raw key to send with the task to allow encrypt/decrypt operations. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_key_destroy (struct doca_aes_gcm_key *key)
 Destroy AES-GCM key that was created in doca_aes_gcm_key_create. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_encrypt_is_supported (const struct doca_devinfo *devinfo)
 Check if a aes_gcm encrypt task is supported by a device. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_encrypt_get_max_iv_len (const struct doca_devinfo *devinfo, uint32_t *max_iv_len)
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_encrypt_is_tag_96_supported (const struct doca_devinfo *devinfo)
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_encrypt_is_tag_128_supported (const struct doca_devinfo *devinfo)
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_encrypt_is_key_type_supported (const struct doca_devinfo *devinfo, enum doca_aes_gcm_key_type key_type)
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_encrypt_get_max_buf_size (const struct doca_devinfo *devinfo, uint64_t *max_buffer_size)
 Get aes_gcm encrypt max buffer size. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_encrypt_get_max_list_buf_num_elem (const struct doca_devinfo *devinfo, uint32_t *max_list_num_elem)
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_task_encrypt_set_conf (struct doca_aes_gcm *aes_gcm, doca_aes_gcm_task_encrypt_completion_cb_t task_completion_cb, doca_aes_gcm_task_encrypt_completion_cb_t task_error_cb, uint32_t num_tasks)
 This method sets the aes_gcm encrypt task configuration. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_task_encrypt_alloc_init (struct doca_aes_gcm *aes_gcm, struct doca_buf const *src_buff, struct doca_buf *dst_buff, struct doca_aes_gcm_key *key, const uint8_t *iv, uint32_t iv_length, uint32_t tag_size, uint32_t aad_size, union doca_data user_data, struct doca_aes_gcm_task_encrypt **task)
 Allocate aes_gcm encrypt task. More...
 
DOCA_EXPERIMENTAL struct doca_task * doca_aes_gcm_task_encrypt_as_task (struct doca_aes_gcm_task_encrypt *task)
 convert aes_gcm encrypt task to doca_task More...
 
DOCA_EXPERIMENTAL void doca_aes_gcm_task_encrypt_set_src (struct doca_aes_gcm_task_encrypt *task, struct doca_buf const *src_buff)
 set aes_gcm encrypt task source More...
 
DOCA_EXPERIMENTAL struct doca_buf const * doca_aes_gcm_task_encrypt_get_src (const struct doca_aes_gcm_task_encrypt *task)
 get aes_gcm encrypt task source More...
 
DOCA_EXPERIMENTAL void doca_aes_gcm_task_encrypt_set_dst (struct doca_aes_gcm_task_encrypt *task, struct doca_buf *dst_buff)
 set aes_gcm encrypt task destination More...
 
DOCA_EXPERIMENTAL struct doca_buf * doca_aes_gcm_task_encrypt_get_dst (const struct doca_aes_gcm_task_encrypt *task)
 get aes_gcm encrypt task destination More...
 
DOCA_EXPERIMENTAL void doca_aes_gcm_task_encrypt_set_key (struct doca_aes_gcm_task_encrypt *task, struct doca_aes_gcm_key *key)
 set aes_gcm encrypt task doca_aes_gcm_key More...
 
DOCA_EXPERIMENTAL struct doca_aes_gcm_key * doca_aes_gcm_task_encrypt_get_key (const struct doca_aes_gcm_task_encrypt *task)
 get aes_gcm encrypt task doca_aes_gcm_key More...
 
DOCA_EXPERIMENTAL void doca_aes_gcm_task_encrypt_set_iv (struct doca_aes_gcm_task_encrypt *task, const uint8_t *iv, uint32_t iv_length)
 set aes_gcm encrypt task initialization vector More...
 
DOCA_EXPERIMENTAL const uint8_t * doca_aes_gcm_task_encrypt_get_iv (const struct doca_aes_gcm_task_encrypt *task, uint32_t *iv_length)
 get aes_gcm encrypt task initialization vector More...
 
DOCA_EXPERIMENTAL void doca_aes_gcm_task_encrypt_set_tag_size (struct doca_aes_gcm_task_encrypt *task, uint32_t tag_size)
 set aes_gcm encrypt task authentication tag size More...
 
DOCA_EXPERIMENTAL uint32_t doca_aes_gcm_task_encrypt_get_tag_size (const struct doca_aes_gcm_task_encrypt *task)
 get aes_gcm encrypt task authentication tag size More...
 
DOCA_EXPERIMENTAL void doca_aes_gcm_task_encrypt_set_aad_size (struct doca_aes_gcm_task_encrypt *task, uint32_t aad_size)
 set aes_gcm encrypt task additional authenticated data size More...
 
DOCA_EXPERIMENTAL uint32_t doca_aes_gcm_task_encrypt_get_aad_size (const struct doca_aes_gcm_task_encrypt *task)
 get aes_gcm encrypt task additional authenticated data size More...
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_decrypt_is_supported (const struct doca_devinfo *devinfo)
 Check if a aes_gcm decrypt task is supported by a device. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_decrypt_get_max_iv_len (const struct doca_devinfo *devinfo, uint32_t *max_iv_len)
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_decrypt_is_tag_96_supported (const struct doca_devinfo *devinfo)
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_decrypt_is_tag_128_supported (const struct doca_devinfo *devinfo)
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_decrypt_is_key_type_supported (const struct doca_devinfo *devinfo, enum doca_aes_gcm_key_type key_type)
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_decrypt_get_max_buf_size (const struct doca_devinfo *devinfo, uint64_t *max_buffer_size)
 Get aes_gcm decrypt max buffer size. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_cap_task_decrypt_get_max_list_buf_num_elem (const struct doca_devinfo *devinfo, uint32_t *max_list_num_elem)
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_task_decrypt_set_conf (struct doca_aes_gcm *aes_gcm, doca_aes_gcm_task_decrypt_completion_cb_t task_completion_cb, doca_aes_gcm_task_decrypt_completion_cb_t task_error_cb, uint32_t num_tasks)
 This method sets the aes_gcm decrypt task configuration. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_aes_gcm_task_decrypt_alloc_init (struct doca_aes_gcm *aes_gcm, struct doca_buf const *src_buff, struct doca_buf *dst_buff, struct doca_aes_gcm_key *key, const uint8_t *iv, uint32_t iv_length, uint32_t tag_size, uint32_t aad_size, union doca_data user_data, struct doca_aes_gcm_task_decrypt **task)
 Allocate aes_gcm decrypt task. More...
 
DOCA_EXPERIMENTAL struct doca_task * doca_aes_gcm_task_decrypt_as_task (struct doca_aes_gcm_task_decrypt *task)
 convert aes_gcm decrypt task to doca_task More...
 
DOCA_EXPERIMENTAL void doca_aes_gcm_task_decrypt_set_src (struct doca_aes_gcm_task_decrypt *task, struct doca_buf const *src_buff)
 set aes_gcm decrypt task source More...
 
DOCA_EXPERIMENTAL struct doca_buf const * doca_aes_gcm_task_decrypt_get_src (const struct doca_aes_gcm_task_decrypt *task)
 get aes_gcm decrypt task source More...
 
DOCA_EXPERIMENTAL void doca_aes_gcm_task_decrypt_set_dst (struct doca_aes_gcm_task_decrypt *task, struct doca_buf *dst_buff)
 set aes_gcm decrypt task destination More...
 
DOCA_EXPERIMENTAL struct doca_buf * doca_aes_gcm_task_decrypt_get_dst (const struct doca_aes_gcm_task_decrypt *task)
 get aes_gcm decrypt task destination More...
 
DOCA_EXPERIMENTAL void doca_aes_gcm_task_decrypt_set_key (struct doca_aes_gcm_task_decrypt *task, struct doca_aes_gcm_key *key)
 set aes_gcm decrypt task doca_aes_gcm_key More...
 
DOCA_EXPERIMENTAL struct doca_aes_gcm_key * doca_aes_gcm_task_decrypt_get_key (const struct doca_aes_gcm_task_decrypt *task)
 get aes_gcm decrypt task doca_aes_gcm_key More...
 
DOCA_EXPERIMENTAL void doca_aes_gcm_task_decrypt_set_iv (struct doca_aes_gcm_task_decrypt *task, const uint8_t *iv, uint32_t iv_length)
 set aes_gcm decrypt task initialization vector More...
 
DOCA_EXPERIMENTAL const uint8_t * doca_aes_gcm_task_decrypt_get_iv (const struct doca_aes_gcm_task_decrypt *task, uint32_t *iv_length)
 get aes_gcm decrypt task initialization vector More...
 
DOCA_EXPERIMENTAL void doca_aes_gcm_task_decrypt_set_tag_size (struct doca_aes_gcm_task_decrypt *task, uint32_t tag_size)
 set aes_gcm decrypt task authentication tag size More...
 
DOCA_EXPERIMENTAL uint32_t doca_aes_gcm_task_decrypt_get_tag_size (const struct doca_aes_gcm_task_decrypt *task)
 get aes_gcm decrypt task authentication tag size More...
 
DOCA_EXPERIMENTAL void doca_aes_gcm_task_decrypt_set_aad_size (struct doca_aes_gcm_task_decrypt *task, uint32_t aad_size)
 set aes_gcm decrypt task additional authenticated data size More...
 
DOCA_EXPERIMENTAL uint32_t doca_aes_gcm_task_decrypt_get_aad_size (const struct doca_aes_gcm_task_decrypt *task)
 get aes_gcm decrypt task additional authenticated data size More...