FD.io VPP  v21.01.1
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.

Data Structures

struct  cnat_snat_trace_
 

Typedefs

typedef enum cnat_snat_next_ cnat_snat_next_t
 
typedef struct cnat_snat_trace_ cnat_snat_trace_t
 

Enumerations

enum  cnat_snat_next_ { CNAT_SNAT_NEXT_DROP, CNAT_SNAT_N_NEXT }
 

Functions

static u8format_cnat_snat_trace (u8 *s, va_list *args)
 
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 rv, 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

◆ cnat_snat_trace_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 180 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 191 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  rv,
cnat_session_t session 
)
static

Definition at line 59 of file cnat_node_snat.c.

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

◆ format_cnat_snat_trace()

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

Definition at line 39 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   
)
+ Here is the caller graph for this function:

◆ 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 = "ip4-cnat-snat",
.vector_size = sizeof (u32),
.format_trace = format_cnat_snat_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",
}
}
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
static u8 * format_cnat_snat_trace(u8 *s, va_list *args)
char * cnat_error_strings[]
Definition: cnat_types.c:23

(constructor) VLIB_REGISTER_NODE (cnat_snat_ip4_node)

Definition at line 35 of file cnat_node_snat.c.

◆ cnat_snat_ip6_node

vlib_node_registration_t cnat_snat_ip6_node
Initial value:
=
{
.name = "ip6-cnat-snat",
.vector_size = sizeof (u32),
.format_trace = format_cnat_snat_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",
}
}
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
static u8 * format_cnat_snat_trace(u8 *s, va_list *args)
char * cnat_error_strings[]
Definition: cnat_types.c:23

(constructor) VLIB_REGISTER_NODE (cnat_snat_ip6_node)

Definition at line 36 of file cnat_node_snat.c.