FD.io VPP  v17.01.1-3-gc6833f8
Vector Packet Processing
cnat_ipv4_udp_inside_input.c File Reference
+ Include dependency graph for cnat_ipv4_udp_inside_input.c:

Go to the source code of this file.

Data Structures

struct  cnat_ipv4_udp_inside_input_main_t
 

Macros

#define foreach_cnat_ipv4_udp_inside_input_error
 
#define CNAT_V4_UDP_I2O_D   CNAT_V4_I2O_FIXME
 
#define CNAT_V4_PCP_T   CNAT_V4_I2O_FIXME
 
#define NSTAGES   6
 
#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_udp_inside_input_t { CNAT_IPV4_UDP_INSIDE_INPUT_N_ERROR }
 
enum  cnat_ipv4_udp_inside_input_next_t {
  CNAT_V4_I2O_FIXME, CNAT_V4_UDP_I2O_E, CNAT_REWRITE_OUTPUT, CNAT_V4_UDP_I2O_T = CNAT_REWRITE_OUTPUT,
  CNAT_N_NEXT
}
 

Functions

static u32 is_pcp_pkt (u32 addr, u16 port)
 
void swap_ip_src_udp_port (ipv4_header *ip, udp_hdr_type_t *udp, cnat_main_db_entry_t *db)
 
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 void stage4 (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_udp_inside_input_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
clib_error_tcnat_ipv4_udp_inside_input_init (vlib_main_t *vm)
 

Variables

static char * cnat_ipv4_udp_inside_input_error_strings []
 
cnat_ipv4_udp_inside_input_main_t cnat_ipv4_udp_inside_input_main
 
vlib_node_registration_t cnat_ipv4_udp_inside_input_node
 (constructor) VLIB_REGISTER_NODE (cnat_ipv4_udp_inside_input_node) More...
 
static u64 pkt_num = 0
 

Macro Definition Documentation

#define CNAT_V4_PCP_T   CNAT_V4_I2O_FIXME

Definition at line 71 of file cnat_ipv4_udp_inside_input.c.

#define CNAT_V4_UDP_I2O_D   CNAT_V4_I2O_FIXME

Definition at line 70 of file cnat_ipv4_udp_inside_input.c.

#define foreach_cnat_ipv4_udp_inside_input_error
Value:
_(CNAT_V4_UDP_I2O_T_PKT, "v4 udp i2o transmit") \
_(CNAT_V4_UDP_I2O_MISS_PKT, "v4 udp i2o db miss") \
_(CNAT_V4_UDP_I2O_TTL_GEN, "v4 udp i2o TTL gen") \
_(CNAT_V4_UDP_I2O_TTL_DROP, "v4 udp i2o TTL drop") \
_(CNAT_V4_PCP_PKT, "v4 pcp pkt") \
_(CNAT_V4_UDP_I2O_SESSION_DROP, "v4 udp i2o session drop")

Definition at line 32 of file cnat_ipv4_udp_inside_input.c.

#define NSTAGES   6

Definition at line 76 of file cnat_ipv4_udp_inside_input.c.

#define SPP_CACHE_LINE_BYTES   (1 << SPP_LOG2_CACHE_LINE_BYTES)

Definition at line 221 of file cnat_ipv4_udp_inside_input.c.

#define SPP_LOG2_CACHE_LINE_BYTES   6

Definition at line 220 of file cnat_ipv4_udp_inside_input.c.

#define stage0   generic_stage0

Definition at line 82 of file cnat_ipv4_udp_inside_input.c.

Enumeration Type Documentation

Enumerator
CNAT_V4_I2O_FIXME 
CNAT_V4_UDP_I2O_E 
CNAT_REWRITE_OUTPUT 
CNAT_V4_UDP_I2O_T 
CNAT_N_NEXT 

Definition at line 62 of file cnat_ipv4_udp_inside_input.c.

Enumerator
CNAT_IPV4_UDP_INSIDE_INPUT_N_ERROR 

Definition at line 40 of file cnat_ipv4_udp_inside_input.c.

Function Documentation

clib_error_t* cnat_ipv4_udp_inside_input_init ( vlib_main_t vm)

Definition at line 498 of file cnat_ipv4_udp_inside_input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 470 of file cnat_ipv4_udp_inside_input.c.

+ Here is the call graph for this function:

static u32 is_pcp_pkt ( u32  addr,
u16  port 
)
inlinestatic

Definition at line 86 of file cnat_ipv4_udp_inside_input.c.

+ Here is the caller graph for this function:

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

Definition at line 286 of file cnat_ipv4_udp_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 183 of file cnat_ipv4_udp_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 217 of file cnat_ipv4_udp_inside_input.c.

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

Definition at line 224 of file cnat_ipv4_udp_inside_input.c.

+ Here is the call graph for this function:

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

Definition at line 254 of file cnat_ipv4_udp_inside_input.c.

+ Here is the call graph for this function:

void swap_ip_src_udp_port ( ipv4_header ip,
udp_hdr_type_t udp,
cnat_main_db_entry_t db 
)
inline

Definition at line 114 of file cnat_ipv4_udp_inside_input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

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

Definition at line 47 of file cnat_ipv4_udp_inside_input.c.

cnat_ipv4_udp_inside_input_main_t cnat_ipv4_udp_inside_input_main

Definition at line 73 of file cnat_ipv4_udp_inside_input.c.

vlib_node_registration_t cnat_ipv4_udp_inside_input_node
Initial value:
= {
.name = "vcgn-v4-udp-i2o",
.vector_size = sizeof (u32),
.n_next_nodes = CNAT_N_NEXT,
.next_nodes = {
[CNAT_V4_I2O_FIXME] = "error-drop",
[CNAT_V4_UDP_I2O_E] = "vcgn-v4-udp-i2o-e",
[CNAT_REWRITE_OUTPUT] = "ip4-input",
},
}
bad routing header type(not 4)") sr_error (NO_MORE_SEGMENTS
static uword cnat_ipv4_udp_inside_input_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
static char * cnat_ipv4_udp_inside_input_error_strings[]
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88

(constructor) VLIB_REGISTER_NODE (cnat_ipv4_udp_inside_input_node)

Definition at line 74 of file cnat_ipv4_udp_inside_input.c.

u64 pkt_num = 0
static

Definition at line 285 of file cnat_ipv4_udp_inside_input.c.