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

Go to the source code of this file.

Data Structures

struct  doca_flow_crypto_key_cfg
 doca flow crypto key configuration More...
 

Enumerations

enum  doca_flow_crypto_resource_type { DOCA_FLOW_CRYPTO_RESOURCE_NONE = 0 , DOCA_FLOW_CRYPTO_RESOURCE_IPSEC_SA , DOCA_FLOW_CRYPTO_RESOURCE_PSP }
 doca flow crypto operation resource type More...
 
enum  doca_flow_crypto_action_type { DOCA_FLOW_CRYPTO_ACTION_NONE = 0 , DOCA_FLOW_CRYPTO_ACTION_ENCRYPT , DOCA_FLOW_CRYPTO_ACTION_DECRYPT }
 doca flow crypto operation action type More...
 
enum  doca_flow_crypto_encap_action_type { DOCA_FLOW_CRYPTO_REFORMAT_NONE = 0 , DOCA_FLOW_CRYPTO_REFORMAT_ENCAP , DOCA_FLOW_CRYPTO_REFORMAT_DECAP }
 doca flow crypto operation reformat type More...
 
enum  doca_flow_crypto_encap_net_type {
  DOCA_FLOW_CRYPTO_HEADER_NONE = 0 , DOCA_FLOW_CRYPTO_HEADER_ESP_TUNNEL , DOCA_FLOW_CRYPTO_HEADER_ESP_OVER_IPV4 , DOCA_FLOW_CRYPTO_HEADER_ESP_OVER_IPV6 ,
  DOCA_FLOW_CRYPTO_HEADER_UDP_ESP_OVER_IPV4 , DOCA_FLOW_CRYPTO_HEADER_UDP_ESP_OVER_IPV6 , DOCA_FLOW_CRYPTO_HEADER_ESP_OVER_LAN , DOCA_FLOW_CRYPTO_HEADER_PSP_TUNNEL ,
  DOCA_FLOW_CRYPTO_HEADER_PSP_OVER_IPV4 , DOCA_FLOW_CRYPTO_HEADER_PSP_OVER_IPV6 , DOCA_FLOW_CRYPTO_HEADER_NON_ESP_MARKER
}
 doca flow crypto operation encapsulation header type More...
 
enum  doca_flow_crypto_key_type { DOCA_FLOW_CRYPTO_KEY_128 , DOCA_FLOW_CRYPTO_KEY_256 }
 doca flow crypto key type More...
 
enum  doca_flow_crypto_icv_len { DOCA_FLOW_CRYPTO_ICV_LENGTH_8 , DOCA_FLOW_CRYPTO_ICV_LENGTH_12 , DOCA_FLOW_CRYPTO_ICV_LENGTH_16 }
 doca flow crypto ICV length More...
 
enum  doca_flow_crypto_replay_win_size { DOCA_FLOW_CRYPTO_REPLAY_WIN_SIZE_32 , DOCA_FLOW_CRYPTO_REPLAY_WIN_SIZE_64 , DOCA_FLOW_CRYPTO_REPLAY_WIN_SIZE_128 , DOCA_FLOW_CRYPTO_REPLAY_WIN_SIZE_256 }
 doca flow crypto replay window size More...
 
enum  doca_flow_crypto_sn_offload_type { DOCA_FLOW_CRYPTO_SN_OFFLOAD_INC , DOCA_FLOW_CRYPTO_SN_OFFLOAD_AR }
 doca flow crypto SN offload type More...
 

Functions

DOCA_EXPERIMENTAL doca_error_t doca_flow_crypto_psp_master_key_rotate (struct doca_flow_port *port)
 Rotate PSP master key. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_flow_crypto_psp_spi_key_bulk_alloc (struct doca_flow_port *port, enum doca_flow_crypto_key_type key_type, uint32_t nr_spi_keys, struct doca_flow_crypto_psp_spi_key_bulk **spi_key_bulk)
 Allocate an array of spi and key pairs. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_flow_crypto_psp_spi_key_bulk_generate (struct doca_flow_crypto_psp_spi_key_bulk *spi_key_bulk)
 Fill a bulk with new pairs of SPI and key. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_flow_crypto_psp_spi_key_bulk_get (struct doca_flow_crypto_psp_spi_key_bulk *spi_key_bulk, uint32_t spi_key_idx, uint32_t *spi, uint32_t *key)
 Get SPI and key for specific index in the bulk. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_flow_crypto_psp_spi_key_wipe (struct doca_flow_crypto_psp_spi_key_bulk *spi_key_bulk, uint32_t spi_key_idx)
 Wipe the memory of a key for specific index in the bulk. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_flow_crypto_psp_spi_key_bulk_clear (struct doca_flow_crypto_psp_spi_key_bulk *spi_key_bulk)
 Clear the bulk data. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_flow_crypto_psp_spi_key_bulk_free (struct doca_flow_crypto_psp_spi_key_bulk *spi_key_bulk)
 Free the memory for spi key bulk. More...
 
DOCA_EXPERIMENTAL int doca_flow_crypto_ipsec_resource_handle (struct doca_flow_port *port, uint64_t quota, uint32_t max_processed_resources)
 Handle ipsec resources. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_flow_crypto_ipsec_update_sn (uint32_t shared_res_id, uint64_t sequence_number)
 Update the sequence number state for specific resource. More...