FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
nat44_ei_inlines.h File Reference
+ Include dependency graph for nat44_ei_inlines.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

static u64 calc_nat_key (ip4_address_t addr, u16 port, u32 fib_index, u8 proto)
 
static void split_nat_key (u64 key, ip4_address_t *addr, u16 *port, u32 *fib_index, nat_protocol_t *proto)
 
static void init_nat_k (clib_bihash_kv_8_8_t *kv, ip4_address_t addr, u16 port, u32 fib_index, nat_protocol_t proto)
 
static void init_nat_kv (clib_bihash_kv_8_8_t *kv, ip4_address_t addr, u16 port, u32 fib_index, nat_protocol_t proto, u32 thread_index, u32 session_index)
 
static void init_nat_i2o_k (clib_bihash_kv_8_8_t *kv, nat44_ei_session_t *s)
 
static void init_nat_i2o_kv (clib_bihash_kv_8_8_t *kv, nat44_ei_session_t *s, u32 thread_index, u32 session_index)
 
static void init_nat_o2i_k (clib_bihash_kv_8_8_t *kv, nat44_ei_session_t *s)
 
static void init_nat_o2i_kv (clib_bihash_kv_8_8_t *kv, nat44_ei_session_t *s, u32 thread_index, u32 session_index)
 
static u32 nat_value_get_thread_index (clib_bihash_kv_8_8_t *value)
 
static u32 nat_value_get_session_index (clib_bihash_kv_8_8_t *value)
 
static u8 nat44_ei_is_interface_addr (ip4_main_t *im, vlib_node_runtime_t *node, u32 sw_if_index0, u32 ip4_addr)
 
static void nat44_ei_session_update_lru (nat44_ei_main_t *nm, nat44_ei_session_t *s, u32 thread_index)
 Per-user LRU list maintenance. More...
 
static void nat44_ei_user_session_increment (nat44_ei_main_t *nm, nat44_ei_user_t *u, u8 is_static)
 
static void nat44_ei_delete_user_with_no_session (nat44_ei_main_t *nm, nat44_ei_user_t *u, u32 thread_index)
 
static_always_inline u8 nat44_ei_maximum_sessions_exceeded (nat44_ei_main_t *nm, u32 thread_index)
 
static void nat44_ei_session_update_counters (nat44_ei_session_t *s, f64 now, uword bytes, u32 thread_index)
 

Function Documentation

◆ calc_nat_key()

static u64 calc_nat_key ( ip4_address_t  addr,
u16  port,
u32  fib_index,
u8  proto 
)
inlinestatic

Definition at line 25 of file nat44_ei_inlines.h.

+ Here is the caller graph for this function:

◆ init_nat_i2o_k()

static void init_nat_i2o_k ( clib_bihash_kv_8_8_t kv,
nat44_ei_session_t *  s 
)
inlinestatic

Definition at line 73 of file nat44_ei_inlines.h.

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

◆ init_nat_i2o_kv()

static void init_nat_i2o_kv ( clib_bihash_kv_8_8_t kv,
nat44_ei_session_t *  s,
u32  thread_index,
u32  session_index 
)
inlinestatic

Definition at line 80 of file nat44_ei_inlines.h.

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

◆ init_nat_k()

static void init_nat_k ( clib_bihash_kv_8_8_t kv,
ip4_address_t  addr,
u16  port,
u32  fib_index,
nat_protocol_t  proto 
)
inlinestatic

Definition at line 56 of file nat44_ei_inlines.h.

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

◆ init_nat_kv()

static void init_nat_kv ( clib_bihash_kv_8_8_t kv,
ip4_address_t  addr,
u16  port,
u32  fib_index,
nat_protocol_t  proto,
u32  thread_index,
u32  session_index 
)
inlinestatic

Definition at line 64 of file nat44_ei_inlines.h.

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

◆ init_nat_o2i_k()

static void init_nat_o2i_k ( clib_bihash_kv_8_8_t kv,
nat44_ei_session_t *  s 
)
inlinestatic

Definition at line 89 of file nat44_ei_inlines.h.

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

◆ init_nat_o2i_kv()

static void init_nat_o2i_kv ( clib_bihash_kv_8_8_t kv,
nat44_ei_session_t *  s,
u32  thread_index,
u32  session_index 
)
inlinestatic

Definition at line 96 of file nat44_ei_inlines.h.

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

◆ nat44_ei_delete_user_with_no_session()

static void nat44_ei_delete_user_with_no_session ( nat44_ei_main_t nm,
nat44_ei_user_t *  u,
u32  thread_index 
)
inlinestatic

Definition at line 180 of file nat44_ei_inlines.h.

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

◆ nat44_ei_is_interface_addr()

static u8 nat44_ei_is_interface_addr ( ip4_main_t im,
vlib_node_runtime_t node,
u32  sw_if_index0,
u32  ip4_addr 
)
inlinestatic

Definition at line 117 of file nat44_ei_inlines.h.

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

◆ nat44_ei_maximum_sessions_exceeded()

static_always_inline u8 nat44_ei_maximum_sessions_exceeded ( nat44_ei_main_t nm,
u32  thread_index 
)

Definition at line 202 of file nat44_ei_inlines.h.

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

◆ nat44_ei_session_update_counters()

static void nat44_ei_session_update_counters ( nat44_ei_session_t *  s,
f64  now,
uword  bytes,
u32  thread_index 
)
inlinestatic

Definition at line 211 of file nat44_ei_inlines.h.

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

◆ nat44_ei_session_update_lru()

static void nat44_ei_session_update_lru ( nat44_ei_main_t nm,
nat44_ei_session_t *  s,
u32  thread_index 
)
inlinestatic

Per-user LRU list maintenance.

Definition at line 152 of file nat44_ei_inlines.h.

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

◆ nat44_ei_user_session_increment()

static void nat44_ei_user_session_increment ( nat44_ei_main_t nm,
nat44_ei_user_t *  u,
u8  is_static 
)
inlinestatic

Definition at line 167 of file nat44_ei_inlines.h.

+ Here is the caller graph for this function:

◆ nat_value_get_session_index()

static u32 nat_value_get_session_index ( clib_bihash_kv_8_8_t value)
inlinestatic

Definition at line 111 of file nat44_ei_inlines.h.

+ Here is the caller graph for this function:

◆ nat_value_get_thread_index()

static u32 nat_value_get_thread_index ( clib_bihash_kv_8_8_t value)
inlinestatic

Definition at line 105 of file nat44_ei_inlines.h.

+ Here is the caller graph for this function:

◆ split_nat_key()

static void split_nat_key ( u64  key,
ip4_address_t addr,
u16 port,
u32 fib_index,
nat_protocol_t proto 
)
inlinestatic

Definition at line 34 of file nat44_ei_inlines.h.

+ Here is the caller graph for this function: