FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
esp_decrypt.c File Reference
+ Include dependency graph for esp_decrypt.c:

Go to the source code of this file.

Data Structures

struct  esp_decrypt_trace_t
 

Macros

#define foreach_esp_decrypt_next
 
#define foreach_esp_decrypt_error
 
#define foreach_esp_decrypt_post_error   _(PKTS, "ESP post pkts")
 

Enumerations

enum  esp_decrypt_next_t { ESP_DECRYPT_N_NEXT, ESP_DECRYPT_N_NEXT }
 
enum  esp_decrypt_error_t { ESP_DECRYPT_N_ERROR, ESP_DECRYPT_N_ERROR }
 
enum  esp_decrypt_post_error_t { ESP_DECRYPT_POST_N_ERROR }
 

Functions

static u8format_esp_decrypt_trace (u8 *s, va_list *args)
 
static uword dpdk_esp_decrypt_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, int is_ip6)
 
VLIB_NODE_FN() dpdk_esp4_decrypt_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
VLIB_NODE_FN() dpdk_esp6_decrypt_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static u8format_esp_decrypt_post_trace (u8 *s, va_list *args)
 
static uword dpdk_esp_decrypt_post_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, int is_ip6)
 
VLIB_NODE_FN() dpdk_esp4_decrypt_post_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
VLIB_NODE_FN() dpdk_esp6_decrypt_post_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 

Variables

static char * esp_decrypt_error_strings []
 
vlib_node_registration_t dpdk_esp4_decrypt_node
 (constructor) VLIB_REGISTER_NODE (dpdk_esp4_decrypt_node) More...
 
vlib_node_registration_t dpdk_esp6_decrypt_node
 (constructor) VLIB_REGISTER_NODE (dpdk_esp6_decrypt_node) More...
 
static char * esp_decrypt_post_error_strings []
 
vlib_node_registration_t dpdk_esp4_decrypt_post_node
 (constructor) VLIB_REGISTER_NODE (dpdk_esp4_decrypt_post_node) More...
 
vlib_node_registration_t dpdk_esp6_decrypt_post_node
 (constructor) VLIB_REGISTER_NODE (dpdk_esp6_decrypt_post_node) More...
 

Macro Definition Documentation

◆ foreach_esp_decrypt_error

#define foreach_esp_decrypt_error
Value:
_(RX_PKTS, "ESP pkts received") \
_(DECRYPTION_FAILED, "ESP decryption failed") \
_(REPLAY, "SA replayed packet") \
_(NOT_IP, "Not IP packet (dropped)") \
_(ENQ_FAIL, "Enqueue decrypt failed (queue full)") \
_(DISCARD, "Not enough crypto operations") \
_(BAD_LEN, "Invalid ciphertext length") \
_(SESSION, "Failed to get crypto session") \
_(NOSUP, "Cipher/Auth not supported")

Definition at line 42 of file esp_decrypt.c.

◆ foreach_esp_decrypt_next

#define foreach_esp_decrypt_next
Value:
_(DROP, "error-drop") \
_(IP4_INPUT, "ip4-input-no-checksum") \
_(IP6_INPUT, "ip6-input")
DROP
Definition: error.def:41

Definition at line 29 of file esp_decrypt.c.

◆ foreach_esp_decrypt_post_error

#define foreach_esp_decrypt_post_error   _(PKTS, "ESP post pkts")

Definition at line 451 of file esp_decrypt.c.

Enumeration Type Documentation

◆ esp_decrypt_error_t

Enumerator
ESP_DECRYPT_N_ERROR 
ESP_DECRYPT_N_ERROR 

Definition at line 54 of file esp_decrypt.c.

◆ esp_decrypt_next_t

Enumerator
ESP_DECRYPT_N_NEXT 
ESP_DECRYPT_N_NEXT 

Definition at line 35 of file esp_decrypt.c.

◆ esp_decrypt_post_error_t

Enumerator
ESP_DECRYPT_POST_N_ERROR 

Definition at line 454 of file esp_decrypt.c.

Function Documentation

◆ dpdk_esp4_decrypt_node()

VLIB_NODE_FN() dpdk_esp4_decrypt_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 395 of file esp_decrypt.c.

+ Here is the call graph for this function:

◆ dpdk_esp4_decrypt_post_node()

VLIB_NODE_FN() dpdk_esp4_decrypt_post_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 684 of file esp_decrypt.c.

+ Here is the call graph for this function:

◆ dpdk_esp6_decrypt_node()

VLIB_NODE_FN() dpdk_esp6_decrypt_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 421 of file esp_decrypt.c.

+ Here is the call graph for this function:

◆ dpdk_esp6_decrypt_post_node()

VLIB_NODE_FN() dpdk_esp6_decrypt_post_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 710 of file esp_decrypt.c.

+ Here is the call graph for this function:

◆ dpdk_esp_decrypt_inline()

static uword dpdk_esp_decrypt_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame,
int  is_ip6 
)
inlinestatic

Definition at line 96 of file esp_decrypt.c.

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

◆ dpdk_esp_decrypt_post_inline()

static uword dpdk_esp_decrypt_post_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame,
int  is_ip6 
)
inlinestatic

Definition at line 495 of file esp_decrypt.c.

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

◆ format_esp_decrypt_post_trace()

static u8* format_esp_decrypt_post_trace ( u8 s,
va_list *  args 
)
static

Definition at line 472 of file esp_decrypt.c.

+ Here is the call graph for this function:

◆ format_esp_decrypt_trace()

static u8* format_esp_decrypt_trace ( u8 s,
va_list *  args 
)
static

Definition at line 80 of file esp_decrypt.c.

+ Here is the call graph for this function:

Variable Documentation

◆ dpdk_esp4_decrypt_node

vlib_node_registration_t dpdk_esp4_decrypt_node
Initial value:
= {
.name = "dpdk-esp4-decrypt",
.vector_size = sizeof (u32),
.format_trace = format_esp_decrypt_trace,
.error_strings = esp_decrypt_error_strings,
.n_next_nodes = ESP_DECRYPT_N_NEXT,
.next_nodes = {
#define _(s,n)
},
}
static char * esp_decrypt_error_strings[]
Definition: esp_decrypt.c:62
#define foreach_esp_decrypt_next
Definition: esp_decrypt.c:29
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
#define ARRAY_LEN(x)
Definition: clib.h:67
static u8 * format_esp_decrypt_trace(u8 *s, va_list *args)
Definition: esp_decrypt.c:80

(constructor) VLIB_REGISTER_NODE (dpdk_esp4_decrypt_node)

Definition at line 403 of file esp_decrypt.c.

◆ dpdk_esp4_decrypt_post_node

vlib_node_registration_t dpdk_esp4_decrypt_post_node
Initial value:
= {
.name = "dpdk-esp4-decrypt-post",
.vector_size = sizeof (u32),
.n_next_nodes = ESP_DECRYPT_N_NEXT,
.next_nodes = {
#define _(s,n)
},
}
static char * esp_decrypt_post_error_strings[]
Definition: esp_decrypt.c:462
static u8 * format_esp_decrypt_post_trace(u8 *s, va_list *args)
Definition: esp_decrypt.c:472
#define foreach_esp_decrypt_next
Definition: esp_decrypt.c:29
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
#define ARRAY_LEN(x)
Definition: clib.h:67

(constructor) VLIB_REGISTER_NODE (dpdk_esp4_decrypt_post_node)

Definition at line 692 of file esp_decrypt.c.

◆ dpdk_esp6_decrypt_node

vlib_node_registration_t dpdk_esp6_decrypt_node
Initial value:
= {
.name = "dpdk-esp6-decrypt",
.vector_size = sizeof (u32),
.format_trace = format_esp_decrypt_trace,
.error_strings = esp_decrypt_error_strings,
.n_next_nodes = ESP_DECRYPT_N_NEXT,
.next_nodes = {
#define _(s,n)
},
}
static char * esp_decrypt_error_strings[]
Definition: esp_decrypt.c:62
#define foreach_esp_decrypt_next
Definition: esp_decrypt.c:29
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
#define ARRAY_LEN(x)
Definition: clib.h:67
static u8 * format_esp_decrypt_trace(u8 *s, va_list *args)
Definition: esp_decrypt.c:80

(constructor) VLIB_REGISTER_NODE (dpdk_esp6_decrypt_node)

Definition at line 429 of file esp_decrypt.c.

◆ dpdk_esp6_decrypt_post_node

vlib_node_registration_t dpdk_esp6_decrypt_post_node
Initial value:
= {
.name = "dpdk-esp6-decrypt-post",
.vector_size = sizeof (u32),
.n_next_nodes = ESP_DECRYPT_N_NEXT,
.next_nodes = {
#define _(s,n)
},
}
static char * esp_decrypt_post_error_strings[]
Definition: esp_decrypt.c:462
static u8 * format_esp_decrypt_post_trace(u8 *s, va_list *args)
Definition: esp_decrypt.c:472
#define foreach_esp_decrypt_next
Definition: esp_decrypt.c:29
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
#define ARRAY_LEN(x)
Definition: clib.h:67

(constructor) VLIB_REGISTER_NODE (dpdk_esp6_decrypt_post_node)

Definition at line 718 of file esp_decrypt.c.

◆ esp_decrypt_error_strings

char* esp_decrypt_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_esp_decrypt_error
Definition: esp_decrypt.c:42

Definition at line 62 of file esp_decrypt.c.

◆ esp_decrypt_post_error_strings

char* esp_decrypt_post_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_esp_decrypt_post_error
Definition: esp_decrypt.c:451

Definition at line 462 of file esp_decrypt.c.