|
static_always_inline void | nat_validate_interface_counters (snat_main_t *sm, u32 sw_if_index) |
|
| VNET_FEATURE_INIT (nat_pre_in2out, static) |
|
| VNET_FEATURE_INIT (nat_pre_out2in, static) |
|
| VNET_FEATURE_INIT (snat_in2out_worker_handoff, static) |
|
| VNET_FEATURE_INIT (snat_out2in_worker_handoff, static) |
|
| VNET_FEATURE_INIT (ip4_snat_in2out, static) |
|
| VNET_FEATURE_INIT (ip4_snat_out2in, static) |
|
| VNET_FEATURE_INIT (ip4_nat44_ed_in2out, static) |
|
| VNET_FEATURE_INIT (ip4_nat44_ed_out2in, static) |
|
| VNET_FEATURE_INIT (ip4_nat44_ed_classify, static) |
|
| VNET_FEATURE_INIT (ip4_nat_handoff_classify, static) |
|
| VNET_FEATURE_INIT (ip4_snat_in2out_fast, static) |
|
| VNET_FEATURE_INIT (ip4_snat_out2in_fast, static) |
|
| VNET_FEATURE_INIT (ip4_snat_in2out_output, static) |
|
| VNET_FEATURE_INIT (ip4_snat_in2out_output_worker_handoff, static) |
|
| VNET_FEATURE_INIT (nat_pre_in2out_output, static) |
|
| VNET_FEATURE_INIT (ip4_nat44_ed_in2out_output, static) |
|
| VLIB_PLUGIN_REGISTER () |
|
static void | nat44_ed_db_init (u32 translations, u32 translation_buckets) |
|
static void | nat44_ed_db_free () |
|
u32 | nat_calc_bihash_buckets (u32 n_elts) |
|
u8 * | format_session_kvp (u8 *s, va_list *args) |
|
u8 * | format_static_mapping_kvp (u8 *s, va_list *args) |
|
u8 * | format_ed_session_kvp (u8 *s, va_list *args) |
|
void | nat_free_session_data (snat_main_t *sm, snat_session_t *s, u32 thread_index, u8 is_ha) |
| Free NAT44 session data (lookup keys, external address port) More...
|
|
void | snat_add_del_addr_to_fib (ip4_address_t *addr, u8 p_len, u32 sw_if_index, int is_add) |
| Add/del NAT address to FIB. More...
|
|
int | snat_add_address (snat_main_t *sm, ip4_address_t *addr, u32 vrf_id, u8 twice_nat) |
| Add external address to NAT44 pool. More...
|
|
static int | is_snat_address_used_in_static_mapping (snat_main_t *sm, ip4_address_t addr) |
|
static void | snat_add_static_mapping_when_resolved (snat_main_t *sm, ip4_address_t l_addr, u16 l_port, u32 sw_if_index, u16 e_port, u32 vrf_id, nat_protocol_t proto, int addr_only, u8 *tag, int twice_nat, int out2in_only, int identity_nat, ip4_address_t pool_addr, int exact) |
|
u32 | get_thread_idx_by_port (u16 e_port) |
|
void | nat_ed_static_mapping_del_sessions (snat_main_t *sm, snat_main_per_thread_data_t *tsm, ip4_address_t l_addr, u16 l_port, u8 protocol, u32 fib_index, int addr_only, ip4_address_t e_addr, u16 e_port) |
|
int | snat_add_static_mapping (ip4_address_t l_addr, ip4_address_t e_addr, u16 l_port, u16 e_port, u32 vrf_id, int addr_only, u32 sw_if_index, nat_protocol_t proto, int is_add, twice_nat_type_t twice_nat, u8 out2in_only, u8 *tag, u8 identity_nat, ip4_address_t pool_addr, int exact) |
| Add/delete NAT44 static mapping. More...
|
|
int | nat44_add_del_lb_static_mapping (ip4_address_t e_addr, u16 e_port, nat_protocol_t proto, nat44_lb_addr_port_t *locals, u8 is_add, twice_nat_type_t twice_nat, u8 out2in_only, u8 *tag, u32 affinity) |
| Add/delete static mapping with load-balancing (multiple backends) More...
|
|
int | nat44_lb_static_mapping_add_del_local (ip4_address_t e_addr, u16 e_port, ip4_address_t l_addr, u16 l_port, nat_protocol_t proto, u32 vrf_id, u8 probability, u8 is_add) |
|
int | snat_del_address (snat_main_t *sm, ip4_address_t addr, u8 delete_sm, u8 twice_nat) |
| Delete external address from NAT44 pool. More...
|
|
void | expire_per_vrf_sessions (u32 fib_index) |
|
void | update_per_vrf_sessions_vec (u32 fib_index, int is_del) |
|
int | snat_interface_add_del (u32 sw_if_index, u8 is_inside, int is_del) |
| Enable/disable NAT44 feature on the interface. More...
|
|
int | snat_interface_add_del_output_feature (u32 sw_if_index, u8 is_inside, int is_del) |
| Enable/disable NAT44 output feature on the interface (postrouting NAT) More...
|
|
int | snat_set_workers (uword *bitmap) |
| Set NAT plugin workers. More...
|
|
int | nat44_ed_set_frame_queue_nelts (u32 frame_queue_nelts) |
|
static void | snat_update_outside_fib (ip4_main_t *im, uword opaque, u32 sw_if_index, u32 new_fib_index, u32 old_fib_index) |
|
static void | snat_ip4_add_del_interface_address_cb (ip4_main_t *im, uword opaque, u32 sw_if_index, ip4_address_t *address, u32 address_length, u32 if_address_index, u32 is_delete) |
|
static void | nat_ip4_add_del_addr_only_sm_cb (ip4_main_t *im, uword opaque, u32 sw_if_index, ip4_address_t *address, u32 address_length, u32 if_address_index, u32 is_delete) |
|
void | test_key_calc_split () |
|
static clib_error_t * | nat_ip_table_add_del (vnet_main_t *vnm, u32 table_id, u32 is_add) |
|
| VNET_IP_TABLE_ADD_DEL_FUNCTION (nat_ip_table_add_del) |
|
void | nat44_set_node_indexes (snat_main_t *sm, vlib_main_t *vm) |
|
static clib_error_t * | nat_init (vlib_main_t *vm) |
|
int | nat44_plugin_enable (nat44_config_t c) |
| Enable NAT44 plugin. More...
|
|
void | nat44_addresses_free (snat_address_t **addresses) |
|
int | nat44_plugin_disable () |
| Disable NAT44 plugin. More...
|
|
void | nat44_ed_forwarding_enable_disable (u8 is_enable) |
|
void | snat_free_outside_address_and_port (snat_address_t *addresses, u32 thread_index, ip4_address_t *addr, u16 port, nat_protocol_t protocol) |
| Free outside address and port pair. More...
|
|
int | nat_set_outside_address_and_port (snat_address_t *addresses, u32 thread_index, ip4_address_t addr, u16 port, nat_protocol_t protocol) |
|
int | snat_static_mapping_match (vlib_main_t *vm, snat_main_t *sm, ip4_address_t match_addr, u16 match_port, u32 match_fib_index, nat_protocol_t match_protocol, ip4_address_t *mapping_addr, u16 *mapping_port, u32 *mapping_fib_index, u8 by_external, u8 *is_addr_only, twice_nat_type_t *twice_nat, lb_nat_type_t *lb, ip4_address_t *ext_host_addr, u8 *is_identity_nat, snat_static_mapping_t **out) |
| Match NAT44 static mapping. More...
|
|
u32 | nat44_ed_get_in2out_worker_index (vlib_buffer_t *b, ip4_header_t *ip, u32 rx_fib_index, u8 is_output) |
|
u32 | nat44_ed_get_out2in_worker_index (vlib_buffer_t *b, ip4_header_t *ip, u32 rx_fib_index, u8 is_output) |
|
u32 | nat44_get_max_session_limit () |
|
int | nat44_set_session_limit (u32 session_limit, u32 vrf_id) |
| Set NAT44 session limit (session limit, vrf id) More...
|
|
int | nat44_update_session_limit (u32 session_limit, u32 vrf_id) |
| Update NAT44 session limit flushing all data (session limit, vrf id) More...
|
|
static void | nat44_ed_worker_db_init (snat_main_per_thread_data_t *tsm, u32 translations, u32 translation_buckets) |
|
static void | reinit_ed_flow_hash () |
|
static void | nat44_ed_worker_db_free (snat_main_per_thread_data_t *tsm) |
|
void | nat44_ed_sessions_clear () |
|
int | snat_add_interface_address (snat_main_t *sm, u32 sw_if_index, int is_del, u8 twice_nat) |
| Add/delete NAT44 pool address from specific interface. More...
|
|
int | nat44_del_ed_session (snat_main_t *sm, ip4_address_t *addr, u16 port, ip4_address_t *eh_addr, u16 eh_port, u8 proto, u32 vrf_id, int is_in) |
| Delete NAT44 endpoint-dependent session. More...
|
|
VLIB_NODE_FN() | nat_default_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
void | nat_6t_l3_l4_csum_calc (nat_6t_flow_t *f) |
|
static_always_inline int | nat_6t_flow_icmp_translate (snat_main_t *sm, vlib_buffer_t *b, ip4_header_t *ip, nat_6t_flow_t *f) |
|
static_always_inline void | nat_6t_flow_ip4_translate (snat_main_t *sm, vlib_buffer_t *b, ip4_header_t *ip, nat_6t_flow_t *f, nat_protocol_t proto, int is_icmp_inner_ip4) |
|
nat_translation_error_e | nat_6t_flow_buf_translate (snat_main_t *sm, vlib_buffer_t *b, ip4_header_t *ip, nat_6t_flow_t *f, nat_protocol_t proto, int is_output_feature) |
|
u8 * | format_nat_6t (u8 *s, va_list *args) |
|
u8 * | format_nat_ed_translation_error (u8 *s, va_list *args) |
|
u8 * | format_nat_6t_flow (u8 *s, va_list *args) |
|