FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
cnat_node_snat.c File Reference
+ Include dependency graph for cnat_node_snat.c:

Go to the source code of this file.

Typedefs

typedef enum cnat_snat_next_ cnat_snat_next_t
 

Enumerations

enum  cnat_snat_next_ { CNAT_SNAT_NEXT_DROP, CNAT_SNAT_N_NEXT }
 

Functions

static uword cnat_snat_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_buffer_t *b, cnat_node_ctx_t *ctx, int session_not_found, cnat_session_t *session)
 
VLIB_NODE_FN() cnat_snat_ip4_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
VLIB_NODE_FN() cnat_snat_ip6_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
 VNET_FEATURE_INIT (cnat_snat_ip4_node, static)
 
 VNET_FEATURE_INIT (cnat_snat_ip6_node, static)
 

Variables

vlib_node_registration_t cnat_snat_ip4_node
 (constructor) VLIB_REGISTER_NODE (cnat_snat_ip4_node) More...
 
vlib_node_registration_t cnat_snat_ip6_node
 (constructor) VLIB_REGISTER_NODE (cnat_snat_ip6_node) More...
 

Typedef Documentation

◆ cnat_snat_next_t

Enumeration Type Documentation

◆ cnat_snat_next_

Enumerator
CNAT_SNAT_NEXT_DROP 
CNAT_SNAT_N_NEXT 

Definition at line 22 of file cnat_node_snat.c.

Function Documentation

◆ cnat_snat_ip4_node()

VLIB_NODE_FN() cnat_snat_ip4_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 151 of file cnat_node_snat.c.

+ Here is the call graph for this function:

◆ cnat_snat_ip6_node()

VLIB_NODE_FN() cnat_snat_ip6_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 162 of file cnat_node_snat.c.

+ Here is the call graph for this function:

◆ cnat_snat_node_fn()

static uword cnat_snat_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_buffer_t b,
cnat_node_ctx_t ctx,
int  session_not_found,
cnat_session_t session 
)
static

Definition at line 35 of file cnat_node_snat.c.

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

◆ VNET_FEATURE_INIT() [1/2]

VNET_FEATURE_INIT ( cnat_snat_ip4_node  ,
static   
)

◆ VNET_FEATURE_INIT() [2/2]

VNET_FEATURE_INIT ( cnat_snat_ip6_node  ,
static   
)

Variable Documentation

◆ cnat_snat_ip4_node

vlib_node_registration_t cnat_snat_ip4_node
Initial value:
= {
.name = "cnat-snat-ip4",
.vector_size = sizeof (u32),
.format_trace = format_cnat_trace,
.n_errors = CNAT_N_ERROR,
.error_strings = cnat_error_strings,
.n_next_nodes = CNAT_SNAT_N_NEXT,
.next_nodes = {
[CNAT_SNAT_NEXT_DROP] = "ip4-drop",
},
}

(constructor) VLIB_REGISTER_NODE (cnat_snat_ip4_node)

Definition at line 28 of file cnat_node_snat.c.

◆ cnat_snat_ip6_node

vlib_node_registration_t cnat_snat_ip6_node
Initial value:
= {
.name = "cnat-snat-ip6",
.vector_size = sizeof (u32),
.format_trace = format_cnat_trace,
.n_errors = CNAT_N_ERROR,
.error_strings = cnat_error_strings,
.n_next_nodes = CNAT_SNAT_N_NEXT,
.next_nodes = {
[CNAT_SNAT_NEXT_DROP] = "ip6-drop",
},
}

(constructor) VLIB_REGISTER_NODE (cnat_snat_ip6_node)

Definition at line 29 of file cnat_node_snat.c.

VLIB_NODE_TYPE_INTERNAL
@ VLIB_NODE_TYPE_INTERNAL
Definition: node.h:72
CNAT_N_ERROR
@ CNAT_N_ERROR
Definition: cnat_types.h:179
cnat_error_strings
char * cnat_error_strings[]
Definition: cnat_types.c:22
CNAT_SNAT_NEXT_DROP
@ CNAT_SNAT_NEXT_DROP
Definition: cnat_node_snat.c:24
format_cnat_trace
static u8 * format_cnat_trace(u8 *s, va_list *args)
Definition: cnat_node.h:75
u32
unsigned int u32
Definition: types.h:88
CNAT_SNAT_N_NEXT
@ CNAT_SNAT_N_NEXT
Definition: cnat_node_snat.c:25
type
vl_api_fib_path_type_t type
Definition: fib_types.api:123