FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
esp.h File Reference
+ Include dependency graph for esp.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  esp_header_t
 
struct  esp_footer_t
 
struct  esp_aead_t_
 AES GCM Additional Authentication data. More...
 

Macros

#define ESP_SEQ_MAX   (4294967295UL)
 
#define ESP_MAX_BLOCK_SIZE   (16)
 
#define ESP_MAX_IV_SIZE   (16)
 
#define ESP_MAX_ICV_SIZE   (32)
 

Typedefs

typedef struct esp_aead_t_ esp_aead_t
 AES GCM Additional Authentication data. More...
 

Functions

typedef CLIB_PACKED (struct { ip4_header_t ip4;esp_header_t esp;}) ip4_and_esp_header_t
 
typedef CLIB_PACKED (struct { ip4_header_t ip4;udp_header_t udp;esp_header_t esp;}) ip4_and_udp_and_esp_header_t
 
typedef CLIB_PACKED (struct { ip6_header_t ip6;esp_header_t esp;}) ip6_and_esp_header_t
 
u8format_esp_header (u8 *s, va_list *args)
 
static int esp_seq_advance (ipsec_sa_t *sa)
 
static unsigned int hmac_calc (vlib_main_t *vm, ipsec_sa_t *sa, u8 *data, int data_len, u8 *signature)
 
static void esp_aad_fill (vnet_crypto_op_t *op, const esp_header_t *esp, const ipsec_sa_t *sa)
 

Macro Definition Documentation

◆ ESP_MAX_BLOCK_SIZE

#define ESP_MAX_BLOCK_SIZE   (16)

Definition at line 76 of file esp.h.

◆ ESP_MAX_ICV_SIZE

#define ESP_MAX_ICV_SIZE   (32)

Definition at line 78 of file esp.h.

◆ ESP_MAX_IV_SIZE

#define ESP_MAX_IV_SIZE   (16)

Definition at line 77 of file esp.h.

◆ ESP_SEQ_MAX

#define ESP_SEQ_MAX   (4294967295UL)

Definition at line 75 of file esp.h.

Typedef Documentation

◆ esp_aead_t

typedef struct esp_aead_t_ esp_aead_t

AES GCM Additional Authentication data.

Function Documentation

◆ CLIB_PACKED() [1/3]

typedef CLIB_PACKED ( struct { ip4_header_t ip4;esp_header_t esp;}  )

◆ CLIB_PACKED() [2/3]

typedef CLIB_PACKED ( struct { ip4_header_t ip4;udp_header_t udp;esp_header_t esp;}  )

◆ CLIB_PACKED() [3/3]

typedef CLIB_PACKED ( struct { ip6_header_t ip6;esp_header_t esp;}  )

◆ esp_aad_fill()

static void esp_aad_fill ( vnet_crypto_op_t op,
const esp_header_t esp,
const ipsec_sa_t sa 
)
inlinestatic

Definition at line 138 of file esp.h.

+ Here is the caller graph for this function:

◆ esp_seq_advance()

static int esp_seq_advance ( ipsec_sa_t sa)
inlinestatic

Definition at line 84 of file esp.h.

+ Here is the caller graph for this function:

◆ format_esp_header()

u8* format_esp_header ( u8 s,
va_list *  args 
)

Definition at line 23 of file esp_format.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hmac_calc()

static unsigned int hmac_calc ( vlib_main_t vm,
ipsec_sa_t sa,
u8 data,
int  data_len,
u8 signature 
)
inlinestatic

Definition at line 110 of file esp.h.

+ Here is the call graph for this function: