FD.io VPP  v16.09
Vector Packet Processing
cnat_ipv4_icmp_error_outside_input.c File Reference
+ Include dependency graph for cnat_ipv4_icmp_error_outside_input.c:

Go to the source code of this file.

Data Structures

struct  cnat_ipv4_icmp_e_outside_input_main_t
 

Macros

#define foreach_cnat_ipv4_icmp_e_outside_input_error
 
#define NSTAGES   5
 
#define stage0   generic_stage0
 
#define SPP_LOG2_CACHE_LINE_BYTES   6
 
#define SPP_CACHE_LINE_BYTES   (1 << SPP_LOG2_CACHE_LINE_BYTES)
 

Enumerations

enum  cnat_ipv4_icmp_e_outside_input_t { CNAT_IPV4_ICMP_E_OUTSIDE_INPUT_N_ERROR }
 
enum  cnat_ipv4_icmp_e_outside_input_next_t { CNAT_V4_ICMP_E_O2I_T, CNAT_V4_ICMP_E_O2I_D, CNAT_V4_ICMP_E_O2I_NEXT }
 

Functions

void swap_ip_dst_emip_src (ipv4_header *ip, icmp_em_ip_info *icmp_info, cnat_main_db_entry_t *db, u16 vrf)
 
static void stage1 (vlib_main_t *vm, vlib_node_runtime_t *node, u32 buffer_index)
 
static void stage2 (vlib_main_t *vm, vlib_node_runtime_t *node, u32 buffer_index)
 
static void stage3 (vlib_main_t *vm, vlib_node_runtime_t *node, u32 buffer_index)
 
static u32 last_stage (vlib_main_t *vm, vlib_node_runtime_t *node, u32 bi)
 
static uword cnat_ipv4_icmp_e_outside_input_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
clib_error_tcnat_ipv4_icmp_e_outside_input_init (vlib_main_t *vm)
 

Variables

static char * cnat_ipv4_icmp_e_outside_input_error_strings []
 
cnat_ipv4_icmp_e_outside_input_main_t cnat_ipv4_icmp_e_outside_input_main
 
vlib_node_registration_t cnat_ipv4_icmp_e_outside_input_node
 (constructor) VLIB_REGISTER_NODE (cnat_ipv4_icmp_e_outside_input_node) More...
 

Macro Definition Documentation

#define foreach_cnat_ipv4_icmp_e_outside_input_error
Value:
_(CNAT_V4_ICMP_E_O2I_T_PKT, "cnat v4 icmp_e o2i packet transmit") \
_(CNAT_V4_ICMP_E_O2I_D_PKT, "cnat v4 icmp_e o2i packet drop") \
_(CNAT_V4_ICMP_E_O2I_TTL_DROP, "cnat v4 icmp_e o2i ttl drop")

Definition at line 27 of file cnat_ipv4_icmp_error_outside_input.c.

#define NSTAGES   5

Definition at line 63 of file cnat_ipv4_icmp_error_outside_input.c.

#define SPP_CACHE_LINE_BYTES   (1 << SPP_LOG2_CACHE_LINE_BYTES)

Definition at line 275 of file cnat_ipv4_icmp_error_outside_input.c.

#define SPP_LOG2_CACHE_LINE_BYTES   6

Definition at line 274 of file cnat_ipv4_icmp_error_outside_input.c.

#define stage0   generic_stage0

Definition at line 204 of file cnat_ipv4_icmp_error_outside_input.c.

Enumeration Type Documentation

Enumerator
CNAT_V4_ICMP_E_O2I_T 
CNAT_V4_ICMP_E_O2I_D 
CNAT_V4_ICMP_E_O2I_NEXT 

Definition at line 54 of file cnat_ipv4_icmp_error_outside_input.c.

Enumerator
CNAT_IPV4_ICMP_E_OUTSIDE_INPUT_N_ERROR 

Definition at line 32 of file cnat_ipv4_icmp_error_outside_input.c.

Function Documentation

clib_error_t* cnat_ipv4_icmp_e_outside_input_init ( vlib_main_t vm)

Definition at line 442 of file cnat_ipv4_icmp_error_outside_input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword cnat_ipv4_icmp_e_outside_input_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 416 of file cnat_ipv4_icmp_error_outside_input.c.

+ Here is the call graph for this function:

static u32 last_stage ( vlib_main_t vm,
vlib_node_runtime_t node,
u32  bi 
)
inlinestatic

Definition at line 340 of file cnat_ipv4_icmp_error_outside_input.c.

+ Here is the call graph for this function:

static void stage1 ( vlib_main_t vm,
vlib_node_runtime_t node,
u32  buffer_index 
)
inlinestatic

Definition at line 208 of file cnat_ipv4_icmp_error_outside_input.c.

+ Here is the call graph for this function:

static void stage2 ( vlib_main_t vm,
vlib_node_runtime_t node,
u32  buffer_index 
)
inlinestatic

Definition at line 278 of file cnat_ipv4_icmp_error_outside_input.c.

+ Here is the call graph for this function:

static void stage3 ( vlib_main_t vm,
vlib_node_runtime_t node,
u32  buffer_index 
)
inlinestatic

Definition at line 309 of file cnat_ipv4_icmp_error_outside_input.c.

+ Here is the call graph for this function:

void swap_ip_dst_emip_src ( ipv4_header ip,
icmp_em_ip_info icmp_info,
cnat_main_db_entry_t db,
u16  vrf 
)
inline

Definition at line 65 of file cnat_ipv4_icmp_error_outside_input.c.

+ Here is the caller graph for this function:

Variable Documentation

char* cnat_ipv4_icmp_e_outside_input_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_cnat_ipv4_icmp_e_outside_input_error

Definition at line 39 of file cnat_ipv4_icmp_error_outside_input.c.

cnat_ipv4_icmp_e_outside_input_main_t cnat_ipv4_icmp_e_outside_input_main

Definition at line 60 of file cnat_ipv4_icmp_error_outside_input.c.

vlib_node_registration_t cnat_ipv4_icmp_e_outside_input_node
Initial value:
= {
.name = "vcgn-v4-icmp-e-o2i",
.vector_size = sizeof (u32),
.n_next_nodes = CNAT_V4_ICMP_E_O2I_NEXT,
.next_nodes = {
[CNAT_V4_ICMP_E_O2I_T] = "ip4-input",
[CNAT_V4_ICMP_E_O2I_D] = "error-drop",
},
}
bad routing header type(not 4)") sr_error (NO_MORE_SEGMENTS
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88
static char * cnat_ipv4_icmp_e_outside_input_error_strings[]
static uword cnat_ipv4_icmp_e_outside_input_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)

(constructor) VLIB_REGISTER_NODE (cnat_ipv4_icmp_e_outside_input_node)

Definition at line 61 of file cnat_ipv4_icmp_error_outside_input.c.