FD.io VPP  v18.07-34-g55fbdb9
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  ipsec_proto_main_crypto_alg_t
 
struct  ipsec_proto_main_integ_alg_t
 
struct  ipsec_proto_main_per_thread_data_t
 
struct  ipsec_proto_main_t
 

Macros

#define ESP_WINDOW_SIZE   (64)
 
#define ESP_SEQ_MAX   (4294967295UL)
 

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_replay_check (ipsec_sa_t *sa, u32 seq)
 
static int esp_replay_check_esn (ipsec_sa_t *sa, u32 seq)
 
static void esp_replay_advance (ipsec_sa_t *sa, u32 seq)
 
static void esp_replay_advance_esn (ipsec_sa_t *sa, u32 seq)
 
static int esp_seq_advance (ipsec_sa_t *sa)
 
static void ipsec_proto_init ()
 
static unsigned int hmac_calc (ipsec_integ_alg_t alg, u8 *key, int key_len, u8 *data, int data_len, u8 *signature, u8 use_esn, u32 seq_hi)
 

Variables

ipsec_proto_main_t ipsec_proto_main
 

Macro Definition Documentation

#define ESP_SEQ_MAX   (4294967295UL)

Definition at line 108 of file esp.h.

#define ESP_WINDOW_SIZE   (64)

Definition at line 107 of file esp.h.

Function Documentation

typedef CLIB_PACKED ( struct{ip4_header_t ip4;esp_header_t esp;}  )
typedef CLIB_PACKED ( struct{ip4_header_t ip4;udp_header_t udp;esp_header_t esp;}  )
typedef CLIB_PACKED ( struct{ip6_header_t ip6;esp_header_t esp;}  )
static void esp_replay_advance ( ipsec_sa_t sa,
u32  seq 
)
inlinestatic

Definition at line 175 of file esp.h.

+ Here is the caller graph for this function:

static void esp_replay_advance_esn ( ipsec_sa_t sa,
u32  seq 
)
inlinestatic

Definition at line 196 of file esp.h.

+ Here is the caller graph for this function:

static int esp_replay_check ( ipsec_sa_t sa,
u32  seq 
)
inlinestatic

Definition at line 113 of file esp.h.

+ Here is the caller graph for this function:

static int esp_replay_check_esn ( ipsec_sa_t sa,
u32  seq 
)
inlinestatic

Definition at line 131 of file esp.h.

+ Here is the caller graph for this function:

static int esp_seq_advance ( ipsec_sa_t sa)
inlinestatic

Definition at line 233 of file esp.h.

+ Here is the caller graph for this function:

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:

static unsigned int hmac_calc ( ipsec_integ_alg_t  alg,
u8 key,
int  key_len,
u8 data,
int  data_len,
u8 signature,
u8  use_esn,
u32  seq_hi 
)
inlinestatic

Definition at line 331 of file esp.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void ipsec_proto_init ( )
inlinestatic

Definition at line 257 of file esp.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

ipsec_proto_main_t ipsec_proto_main

Definition at line 26 of file esp_encrypt.c.