FD.io VPP  v21.06-1-gbb7418cf9
Vector Packet Processing
nat66.c File Reference

NAT66 implementation. More...

+ Include dependency graph for nat66.c:

Go to the source code of this file.

Macros

#define fail_if_enabled()
 
#define fail_if_disabled()
 

Functions

 VNET_FEATURE_INIT (nat66_in2out, static)
 
 VNET_FEATURE_INIT (nat66_out2in, static)
 
clib_error_tnat66_plugin_api_hookup (vlib_main_t *vm)
 
static clib_error_tnat66_init (vlib_main_t *vm)
 
int nat66_plugin_enable (u32 outside_vrf)
 
int nat66_plugin_disable ()
 
static void nat66_validate_counters (nat66_main_t *nm, u32 sw_if_index)
 
int nat66_interface_add_del (u32 sw_if_index, u8 is_inside, u8 is_add)
 
void nat66_interfaces_walk (nat66_interface_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)
 
void nat66_static_mappings_walk (nat66_static_mapping_walk_fn_t fn, void *ctx)
 
 VLIB_PLUGIN_REGISTER ()
 

Variables

nat66_main_t nat66_main
 

Detailed Description

NAT66 implementation.

Definition in file nat66.c.

Macro Definition Documentation

◆ fail_if_disabled

#define fail_if_disabled ( )
Value:
do \
{ \
nat66_main_t *nm = &nat66_main; \
if (PREDICT_FALSE (!nm->enabled)) \
{ \
nat66_elog_warn ("plugin disabled"); \
return 1; \
} \
} \
while (0)
nat66_main_t nat66_main
Definition: nat66.c:25
#define PREDICT_FALSE(x)
Definition: clib.h:124
nat44_ei_main_t * nm

Definition at line 55 of file nat66.c.

◆ fail_if_enabled

#define fail_if_enabled ( )
Value:
do \
{ \
nat66_main_t *nm = &nat66_main; \
if (PREDICT_FALSE (nm->enabled)) \
{ \
nat66_elog_warn ("plugin enabled"); \
return 1; \
} \
} \
while (0)
nat66_main_t nat66_main
Definition: nat66.c:25
#define PREDICT_FALSE(x)
Definition: clib.h:124
nat44_ei_main_t * nm

Definition at line 43 of file nat66.c.

Function Documentation

◆ nat66_init()

static clib_error_t* nat66_init ( vlib_main_t vm)
static

Definition at line 68 of file nat66.c.

+ Here is the call graph for this function:

◆ nat66_interface_add_del()

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

Definition at line 156 of file nat66.c.

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

◆ nat66_interfaces_walk()

void nat66_interfaces_walk ( nat66_interface_walk_fn_t  fn,
void *  ctx 
)

Definition at line 202 of file nat66.c.

+ Here is the caller graph for this function:

◆ nat66_plugin_api_hookup()

clib_error_t* nat66_plugin_api_hookup ( vlib_main_t vm)

Definition at line 189 of file nat66_api.c.

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

◆ nat66_plugin_disable()

int nat66_plugin_disable ( )

Definition at line 108 of file nat66.c.

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

◆ nat66_plugin_enable()

int nat66_plugin_enable ( u32  outside_vrf)

Definition at line 86 of file nat66.c.

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

◆ nat66_static_mapping_add_del()

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 239 of file nat66.c.

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

◆ nat66_static_mapping_get()

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

Definition at line 215 of file nat66.c.

+ Here is the caller graph for this function:

◆ nat66_static_mappings_walk()

void nat66_static_mappings_walk ( nat66_static_mapping_walk_fn_t  fn,
void *  ctx 
)

Definition at line 320 of file nat66.c.

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

◆ nat66_validate_counters()

static void nat66_validate_counters ( nat66_main_t nm,
u32  sw_if_index 
)
static

Definition at line 147 of file nat66.c.

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

◆ VLIB_PLUGIN_REGISTER()

VLIB_PLUGIN_REGISTER ( )
+ Here is the caller graph for this function:

◆ VNET_FEATURE_INIT() [1/2]

VNET_FEATURE_INIT ( nat66_in2out  ,
static   
)

◆ VNET_FEATURE_INIT() [2/2]

VNET_FEATURE_INIT ( nat66_out2in  ,
static   
)

Variable Documentation

◆ nat66_main

nat66_main_t nat66_main

Definition at line 25 of file nat66.c.