|
| VNET_FEATURE_INIT (ip4_snat_in2out, static) |
|
| VNET_FEATURE_INIT (ip4_snat_out2in, static) |
|
| VNET_FEATURE_INIT (ip4_nat_classify, static) |
|
| VNET_FEATURE_INIT (ip4_snat_det_in2out, static) |
|
| VNET_FEATURE_INIT (ip4_snat_det_out2in, static) |
|
| VNET_FEATURE_INIT (ip4_nat_det_classify, 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_snat_in2out_worker_handoff, static) |
|
| VNET_FEATURE_INIT (ip4_snat_out2in_worker_handoff, 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_hairpin_dst, static) |
|
| VNET_FEATURE_INIT (ip4_nat44_ed_hairpin_dst, static) |
|
| VNET_FEATURE_INIT (ip4_snat_in2out_output, static) |
|
| VNET_FEATURE_INIT (ip4_snat_in2out_output_worker_handoff, static) |
|
| VNET_FEATURE_INIT (ip4_snat_hairpin_src, static) |
|
| VNET_FEATURE_INIT (ip4_nat44_ed_in2out_output, static) |
|
| VNET_FEATURE_INIT (ip4_nat44_ed_hairpin_src, static) |
|
| VNET_FEATURE_INIT (ip4_nat_hairpinning, static) |
|
| VNET_FEATURE_INIT (ip4_nat44_ed_hairpinning, static) |
|
| VLIB_PLUGIN_REGISTER () |
|
void | nat_free_session_data (snat_main_t *sm, snat_session_t *s, u32 thread_index) |
|
snat_user_t * | nat_user_get_or_create (snat_main_t *sm, ip4_address_t *addr, u32 fib_index, u32 thread_index) |
|
snat_session_t * | nat_session_alloc_or_recycle (snat_main_t *sm, snat_user_t *u, u32 thread_index) |
|
static u8 * | format_nat44_classify_trace (u8 *s, va_list *args) |
|
static uword | nat44_classify_node_fn_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static uword | nat44_classify_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (nat44_classify_node, nat44_classify_node_fn) |
|
static uword | nat44_ed_classify_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (nat44_ed_classify_node, nat44_ed_classify_node_fn) |
|
static uword | nat44_det_classify_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (nat44_det_classify_node, nat44_det_classify_node_fn) |
|
static uword | nat44_handoff_classify_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (nat44_handoff_classify_node, nat44_handoff_classify_node_fn) |
|
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) |
|
static int | is_snat_address_used_in_static_mapping (snat_main_t *sm, ip4_address_t addr) |
|
void | increment_v4_address (ip4_address_t *a) |
|
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, snat_protocol_t proto, int addr_only, int is_add, u8 *tag) |
|
static u32 | get_thread_idx_by_port (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, snat_protocol_t proto, int is_add, twice_nat_type_t twice_nat, u8 out2in_only, u8 *tag) |
| Add static mapping. More...
|
|
int | nat44_add_del_lb_static_mapping (ip4_address_t e_addr, u16 e_port, snat_protocol_t proto, u32 vrf_id, nat44_lb_addr_port_t *locals, u8 is_add, twice_nat_type_t twice_nat, u8 out2in_only, u8 *tag) |
|
int | snat_del_address (snat_main_t *sm, ip4_address_t addr, u8 delete_sm, u8 twice_nat) |
|
int | snat_interface_add_del (u32 sw_if_index, u8 is_inside, int is_del) |
|
int | snat_interface_add_del_output_feature (u32 sw_if_index, u8 is_inside, int is_del) |
|
int | snat_set_workers (uword *bitmap) |
|
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) |
|
static int | nat_alloc_addr_and_port_default (snat_address_t *addresses, u32 fib_index, u32 thread_index, snat_session_key_t *k, u32 *address_indexp, u16 port_per_thread, u32 snat_thread_index) |
|
static clib_error_t * | snat_init (vlib_main_t *vm) |
|
void | snat_free_outside_address_and_port (snat_address_t *addresses, u32 thread_index, snat_session_key_t *k) |
|
int | snat_static_mapping_match (snat_main_t *sm, snat_session_key_t match, snat_session_key_t *mapping, u8 by_external, u8 *is_addr_only, twice_nat_type_t *twice_nat, u8 *lb) |
| Match NAT44 static mapping. More...
|
|
static_always_inline u16 | snat_random_port (u16 min, u16 max) |
|
int | snat_alloc_outside_address_and_port (snat_address_t *addresses, u32 fib_index, u32 thread_index, snat_session_key_t *k, u32 *address_indexp, u16 port_per_thread, u32 snat_thread_index) |
|
static int | nat_alloc_addr_and_port_mape (snat_address_t *addresses, u32 fib_index, u32 thread_index, snat_session_key_t *k, u32 *address_indexp, u16 port_per_thread, u32 snat_thread_index) |
|
void | nat44_add_del_address_dpo (ip4_address_t addr, u8 is_add) |
|
uword | unformat_snat_protocol (unformat_input_t *input, va_list *args) |
|
u8 * | format_snat_protocol (u8 *s, va_list *args) |
|
u8 * | format_snat_key (u8 *s, va_list *args) |
|
u8 * | format_session_kvp (u8 *s, va_list *args) |
|
u8 * | format_static_mapping_kvp (u8 *s, va_list *args) |
|
u8 * | format_user_kvp (u8 *s, va_list *args) |
|
u8 * | format_ed_session_kvp (u8 *s, va_list *args) |
|
static u32 | snat_get_worker_in2out_cb (ip4_header_t *ip0, u32 rx_fib_index0) |
|
static u32 | snat_get_worker_out2in_cb (ip4_header_t *ip0, u32 rx_fib_index0) |
|
static u32 | nat44_ed_get_worker_out2in_cb (ip4_header_t *ip, u32 rx_fib_index) |
|
static clib_error_t * | snat_config (vlib_main_t *vm, unformat_input_t *input) |
|
u8 * | format_snat_session_state (u8 *s, va_list *args) |
|
u8 * | format_snat_session (u8 *s, va_list *args) |
|
u8 * | format_snat_user (u8 *s, va_list *args) |
|
u8 * | format_snat_static_mapping (u8 *s, va_list *args) |
|
u8 * | format_snat_static_map_to_resolve (u8 *s, va_list *args) |
|
u8 * | format_det_map_ses (u8 *s, va_list *args) |
|
int | snat_add_interface_address (snat_main_t *sm, u32 sw_if_index, int is_del, u8 twice_nat) |
|
int | nat44_del_session (snat_main_t *sm, ip4_address_t *addr, u16 port, snat_protocol_t proto, u32 vrf_id, int is_in) |
|
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) |
|
void | nat_set_alloc_addr_and_port_mape (u16 psid, u16 psid_offset, u16 psid_length) |
|
void | nat_set_alloc_addr_and_port_default (void) |
|