|
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...
|
|
static int | is_snat_address_used_in_static_mapping (snat_main_t *sm, ip4_address_t addr) |
|
static void | nat44_ed_add_del_addr_to_fib (ip4_address_t *addr, u8 p_len, u32 sw_if_index, int is_add) |
|
static void | nat44_ed_add_del_addr_to_fib_foreach_out_if (ip4_address_t *addr, u8 is_add) |
|
static_always_inline void | nat44_ed_add_del_addr_to_fib_foreach_addr (u32 sw_if_index, u8 is_add) |
|
static_always_inline void | nat44_ed_add_del_addr_to_fib_foreach_addr_only_sm (u32 sw_if_index, u8 is_add) |
|
int | nat44_ed_add_address (ip4_address_t *addr, u32 vrf_id, u8 twice_nat) |
|
int | nat44_ed_del_address (ip4_address_t addr, u8 delete_sm, u8 twice_nat) |
|
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 | nat44_ed_reserve_port (ip4_address_t addr, u16 port, nat_protocol_t proto) |
|
int | nat44_ed_free_port (ip4_address_t addr, u16 port, nat_protocol_t proto) |
|
void | nat44_ed_add_resolve_record (ip4_address_t l_addr, u16 l_port, u16 e_port, nat_protocol_t proto, u32 vrf_id, u32 sw_if_index, u32 flags, ip4_address_t pool_addr, u8 *tag) |
|
int | nat44_ed_get_resolve_record (ip4_address_t l_addr, u16 l_port, u16 e_port, nat_protocol_t proto, u32 vrf_id, u32 sw_if_index, u32 flags, int *out) |
|
int | nat44_ed_del_resolve_record (ip4_address_t l_addr, u16 l_port, u16 e_port, nat_protocol_t proto, u32 vrf_id, u32 sw_if_index, u32 flags) |
|
static_always_inline int | nat44_ed_validate_sm_input (u32 flags) |
|
int | nat44_ed_add_static_mapping (ip4_address_t l_addr, ip4_address_t e_addr, u16 l_port, u16 e_port, nat_protocol_t proto, u32 vrf_id, u32 sw_if_index, u32 flags, ip4_address_t pool_addr, u8 *tag) |
|
int | nat44_ed_del_static_mapping (ip4_address_t l_addr, ip4_address_t e_addr, u16 l_port, u16 e_port, nat_protocol_t proto, u32 vrf_id, u32 sw_if_index, u32 flags) |
|
int | nat44_ed_add_lb_static_mapping (ip4_address_t e_addr, u16 e_port, nat_protocol_t proto, nat44_lb_addr_port_t *locals, u32 flags, u8 *tag, u32 affinity) |
|
int | nat44_ed_del_lb_static_mapping (ip4_address_t e_addr, u16 e_port, nat_protocol_t proto, u32 flags) |
|
int | nat44_ed_add_del_lb_static_mapping_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) |
|
void | expire_per_vrf_sessions (u32 fib_index) |
|
void | update_per_vrf_sessions_vec (u32 fib_index, int is_del) |
|
static_always_inline nat_outside_fib_t * | nat44_ed_get_outside_fib (nat_outside_fib_t *outside_fibs, u32 fib_index) |
|
static_always_inline snat_interface_t * | nat44_ed_get_interface (snat_interface_t *interfaces, u32 sw_if_index) |
|
int | nat44_ed_add_interface (u32 sw_if_index, u8 is_inside) |
|
int | nat44_ed_del_interface (u32 sw_if_index, u8 is_inside) |
|
int | nat44_ed_add_output_interface (u32 sw_if_index) |
|
int | nat44_ed_del_output_interface (u32 sw_if_index) |
|
int | snat_set_workers (uword *bitmap) |
|
int | nat44_ed_set_frame_queue_nelts (u32 frame_queue_nelts) |
|
static void | nat44_ed_update_outside_fib_cb (ip4_main_t *im, uword opaque, u32 sw_if_index, u32 new_fib_index, u32 old_fib_index) |
|
static void | nat44_ed_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 | nat44_ed_add_del_static_mapping_addr_only_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) |
|
void | nat44_addresses_free (snat_address_t **addresses) |
|
int | nat44_plugin_disable () |
|
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 | 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 () |
|
static_always_inline int | is_sw_if_index_reg_for_auto_resolve (u32 *sw_if_indices, u32 sw_if_index) |
|
int | nat44_ed_add_interface_address (u32 sw_if_index, u8 twice_nat) |
|
int | nat44_ed_del_interface_address (u32 sw_if_index, u8 twice_nat) |
|
int | nat44_ed_del_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 (vlib_main_t *vm, 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, int skip_saddr_rewrite) |
|
static_always_inline int | it_fits (vlib_main_t *vm, vlib_buffer_t *b, void *object, size_t size) |
|
static_always_inline nat_translation_error_e | nat_6t_flow_buf_translate (vlib_main_t *vm, 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, int is_i2o) |
|
nat_translation_error_e | nat_6t_flow_buf_translate_i2o (vlib_main_t *vm, 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) |
|
nat_translation_error_e | nat_6t_flow_buf_translate_o2i (vlib_main_t *vm, 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) |
|