FD.io VPP  v18.04-17-g3a0d853
Vector Packet Processing
nat66.h File Reference

NAT66 global declarations. More...

+ Include dependency graph for nat66.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  nat66_static_mapping_t
 
struct  nat66_sm_key_t
 
struct  nat66_main_t
 

Typedefs

typedef int(* nat66_interface_walk_fn_t) (snat_interface_t *i, void *ctx)
 
typedef int(* nat66_static_mapping_walk_fn_t) (nat66_static_mapping_t *sm, void *ctx)
 

Functions

void nat66_init (void)
 
void nat66_interfaces_walk (nat66_interface_walk_fn_t fn, void *ctx)
 
int nat66_interface_add_del (u32 sw_if_index, u8 is_inside, u8 is_add)
 
void nat66_static_mappings_walk (nat66_static_mapping_walk_fn_t fn, void *ctx)
 
nat66_static_mapping_tnat66_static_mapping_get (ip6_address_t *addr, u32 fib_index, u8 is_local)
 
int nat66_static_mapping_add_del (ip6_address_t *l_addr, ip6_address_t *e_addr, u32 vrf_id, u8 is_add)
 

Variables

nat66_main_t nat66_main
 
vlib_node_registration_t nat66_in2out_node
 (constructor) VLIB_REGISTER_NODE (nat66_in2out_node) More...
 
vlib_node_registration_t nat66_out2in_node
 (constructor) VLIB_REGISTER_NODE (nat66_out2in_node) More...
 

Detailed Description

NAT66 global declarations.

Definition in file nat66.h.

Typedef Documentation

typedef int(* nat66_interface_walk_fn_t) (snat_interface_t *i, void *ctx)

Definition at line 68 of file nat66.h.

typedef int(* nat66_static_mapping_walk_fn_t) (nat66_static_mapping_t *sm, void *ctx)

Definition at line 71 of file nat66.h.

Function Documentation

void nat66_init ( void  )

Definition at line 43 of file nat66.c.

+ Here is the caller graph for this function:

int nat66_interface_add_del ( u32  sw_if_index,
u8  is_inside,
u8  is_add 
)

Definition at line 58 of file nat66.c.

+ Here is the caller graph for this function:

void nat66_interfaces_walk ( nat66_interface_walk_fn_t  fn,
void *  ctx 
)

Definition at line 100 of file nat66.c.

+ Here is the caller graph for this function:

int nat66_static_mapping_add_del ( ip6_address_t l_addr,
ip6_address_t e_addr,
u32  vrf_id,
u8  is_add 
)

Definition at line 139 of file nat66.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

nat66_static_mapping_t* nat66_static_mapping_get ( ip6_address_t addr,
u32  fib_index,
u8  is_local 
)

Definition at line 115 of file nat66.c.

+ Here is the caller graph for this function:

void nat66_static_mappings_walk ( nat66_static_mapping_walk_fn_t  fn,
void *  ctx 
)

Definition at line 219 of file nat66.c.

+ Here is the caller graph for this function:

Variable Documentation

vlib_node_registration_t nat66_in2out_node
Initial value:
= {
.function = nat66_in2out_node_fn,
.name = "nat66-in2out",
.vector_size = sizeof (u32),
.format_trace = format_nat66_in2out_trace,
.error_strings = nat66_in2out_error_strings,
.n_next_nodes = NAT66_IN2OUT_N_NEXT,
.next_nodes = {
[NAT66_IN2OUT_NEXT_DROP] = "error-drop",
[NAT66_IN2OUT_NEXT_IP6_LOOKUP] = "ip6-lookup",
},
}
static char * nat66_in2out_error_strings[]
Definition: nat66_in2out.c:59
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88
static uword nat66_in2out_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: nat66_in2out.c:113
static u8 * format_nat66_in2out_trace(u8 *s, va_list *args)
Definition: nat66_in2out.c:31

(constructor) VLIB_REGISTER_NODE (nat66_in2out_node)

Definition at line 242 of file nat66_in2out.c.

nat66_main_t nat66_main

Definition at line 23 of file nat66.c.

vlib_node_registration_t nat66_out2in_node
Initial value:
= {
.function = nat66_out2in_node_fn,
.name = "nat66-out2in",
.vector_size = sizeof (u32),
.format_trace = format_nat66_out2in_trace,
.error_strings = nat66_out2in_error_strings,
.n_next_nodes = NAT66_OUT2IN_N_NEXT,
.next_nodes = {
[NAT66_OUT2IN_NEXT_DROP] = "error-drop",
[NAT66_OUT2IN_NEXT_IP6_LOOKUP] = "ip6-lookup",
},
}
static u8 * format_nat66_out2in_trace(u8 *s, va_list *args)
Definition: nat66_out2in.c:31
static uword nat66_out2in_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: nat66_out2in.c:73
static char * nat66_out2in_error_strings[]
Definition: nat66_out2in.c:59
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88

(constructor) VLIB_REGISTER_NODE (nat66_out2in_node)

Definition at line 200 of file nat66_out2in.c.