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

Go to the source code of this file.

Data Structures

struct  cnat_ipv4_icmp_e_inside_input_main_t
 

Macros

#define foreach_cnat_ipv4_icmp_e_inside_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_inside_input_t { CNAT_IPV4_ICMP_E_INSIDE_INPUT_N_ERROR }
 
enum  cnat_ipv4_icmp_e_inside_input_next_t { CNAT_V4_ICMP_E_I2O_T, CNAT_V4_ICMP_E_I2O_D, CNAT_V4_ICMP_E_I2O_NEXT }
 

Functions

void swap_ip_src_emip_dst (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_inside_input_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
clib_error_tcnat_ipv4_icmp_e_inside_input_init (vlib_main_t *vm)
 

Variables

static char * cnat_ipv4_icmp_e_inside_input_error_strings []
 
cnat_ipv4_icmp_e_inside_input_main_t cnat_ipv4_icmp_e_inside_input_main
 
vlib_node_registration_t cnat_ipv4_icmp_e_inside_input_node
 (constructor) VLIB_REGISTER_NODE (cnat_ipv4_icmp_e_inside_input_node) More...
 

Macro Definition Documentation

#define foreach_cnat_ipv4_icmp_e_inside_input_error
Value:
_(CNAT_V4_ICMP_E_I2O_T_PKT, "cnat v4 icmp_e i2o packet transmit") \
_(CNAT_V4_ICMP_E_I2O_D_PKT, "cnat v4 icmp_e i2o packet drop") \
_(CNAT_V4_ICMP_E_I2O_TTL_DROP, "cnat v4 icmp_e i2o ttl drop")

Definition at line 27 of file cnat_ipv4_icmp_error_inside_input.c.

#define NSTAGES   5

Definition at line 63 of file cnat_ipv4_icmp_error_inside_input.c.

#define SPP_CACHE_LINE_BYTES   (1 << SPP_LOG2_CACHE_LINE_BYTES)

Definition at line 275 of file cnat_ipv4_icmp_error_inside_input.c.

#define SPP_LOG2_CACHE_LINE_BYTES   6

Definition at line 274 of file cnat_ipv4_icmp_error_inside_input.c.

#define stage0   generic_stage0

Definition at line 205 of file cnat_ipv4_icmp_error_inside_input.c.

Enumeration Type Documentation

Enumerator
CNAT_V4_ICMP_E_I2O_T 
CNAT_V4_ICMP_E_I2O_D 
CNAT_V4_ICMP_E_I2O_NEXT 

Definition at line 54 of file cnat_ipv4_icmp_error_inside_input.c.

Enumerator
CNAT_IPV4_ICMP_E_INSIDE_INPUT_N_ERROR 

Definition at line 32 of file cnat_ipv4_icmp_error_inside_input.c.

Function Documentation

clib_error_t* cnat_ipv4_icmp_e_inside_input_init ( vlib_main_t vm)

Definition at line 466 of file cnat_ipv4_icmp_error_inside_input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 440 of file cnat_ipv4_icmp_error_inside_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 341 of file cnat_ipv4_icmp_error_inside_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 209 of file cnat_ipv4_icmp_error_inside_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_inside_input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 308 of file cnat_ipv4_icmp_error_inside_input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void swap_ip_src_emip_dst ( 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_inside_input.c.

+ Here is the caller graph for this function:

Variable Documentation

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

Definition at line 39 of file cnat_ipv4_icmp_error_inside_input.c.

cnat_ipv4_icmp_e_inside_input_main_t cnat_ipv4_icmp_e_inside_input_main

Definition at line 60 of file cnat_ipv4_icmp_error_inside_input.c.

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

(constructor) VLIB_REGISTER_NODE (cnat_ipv4_icmp_e_inside_input_node)

Definition at line 61 of file cnat_ipv4_icmp_error_inside_input.c.