|
static u64 | calc_nat_key (ip4_address_t addr, u16 port, u32 fib_index, u8 proto) |
| The NAT inline functions. More...
|
|
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, u64 value) |
|
static void | init_nat_i2o_k (clib_bihash_kv_8_8_t *kv, snat_session_t *s) |
|
static void | init_nat_i2o_kv (clib_bihash_kv_8_8_t *kv, snat_session_t *s, u64 value) |
|
static void | init_nat_o2i_k (clib_bihash_kv_8_8_t *kv, snat_session_t *s) |
|
static void | init_nat_o2i_kv (clib_bihash_kv_8_8_t *kv, snat_session_t *s, u64 value) |
|
static uword | nat_pre_node_fn_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u32 def_next) |
|
static u8 | is_interface_addr (snat_main_t *sm, vlib_node_runtime_t *node, u32 sw_if_index0, u32 ip4_addr) |
|
static void | user_session_increment (snat_main_t *sm, snat_user_t *u, u8 is_static) |
|
static void | nat44_delete_user_with_no_session (snat_main_t *sm, snat_user_t *u, u32 thread_index) |
|
static void | nat44_delete_session (snat_main_t *sm, snat_session_t *ses, u32 thread_index) |
|
static void | nat44_set_tcp_session_state_i2o (snat_main_t *sm, f64 now, snat_session_t *ses, vlib_buffer_t *b, u32 thread_index) |
|
static void | nat44_set_tcp_session_state_o2i (snat_main_t *sm, f64 now, snat_session_t *ses, u8 tcp_flags, u32 tcp_ack_number, u32 tcp_seq_number, u32 thread_index) |
|
static u32 | nat44_session_get_timeout (snat_main_t *sm, snat_session_t *s) |
|
static void | nat44_session_update_counters (snat_session_t *s, f64 now, uword bytes, u32 thread_index) |
|
static void | nat44_session_update_lru (snat_main_t *sm, snat_session_t *s, u32 thread_index) |
| Per-user LRU list maintenance. More...
|
|
static void | init_ed_k (clib_bihash_kv_16_8_t *kv, ip4_address_t l_addr, u16 l_port, ip4_address_t r_addr, u16 r_port, u32 fib_index, u8 proto) |
|
static void | init_ed_kv (clib_bihash_kv_16_8_t *kv, ip4_address_t l_addr, u16 l_port, ip4_address_t r_addr, u16 r_port, u32 fib_index, u8 proto, u32 thread_index, u32 session_index) |
|
static u32 | ed_value_get_thread_index (clib_bihash_kv_16_8_t *value) |
|
static u32 | ed_value_get_session_index (clib_bihash_kv_16_8_t *value) |
|
static void | split_ed_kv (clib_bihash_kv_16_8_t *kv, ip4_address_t *l_addr, ip4_address_t *r_addr, u8 *proto, u32 *fib_index, u16 *l_port, u16 *r_port) |
|
static_always_inline int | get_icmp_i2o_ed_key (vlib_buffer_t *b, ip4_header_t *ip0, u32 rx_fib_index, u32 thread_index, u32 session_index, nat_protocol_t *nat_proto, u16 *l_port, u16 *r_port, clib_bihash_kv_16_8_t *kv) |
|
static_always_inline int | get_icmp_o2i_ed_key (vlib_buffer_t *b, ip4_header_t *ip0, u32 rx_fib_index, u32 thread_index, u32 session_index, nat_protocol_t *nat_proto, u16 *l_port, u16 *r_port, clib_bihash_kv_16_8_t *kv) |
|
static int | snat_not_translate_fast (snat_main_t *sm, vlib_node_runtime_t *node, u32 sw_if_index0, ip4_header_t *ip0, u32 proto0, u32 rx_fib_index0) |
| Check if packet should be translated. More...
|
|
static_always_inline u16 | snat_random_port (u16 min, u16 max) |
|