18 #ifndef __included_snat_h__ 19 #define __included_snat_h__ 79 #define SNAT_SESSION_FLAG_STATIC_MAPPING 1 91 u32 per_user_list_head_index;
101 u32 outside_address_index;
228 u32 * address_indexp);
246 #define snat_is_session_static(s) s->flags & SNAT_SESSION_FLAG_STATIC_MAPPING ip4_address_t external_addr
u32 translation_memory_size
clib_bihash_8_8_t static_mapping_by_external
int snat_static_mapping_match(snat_main_t *sm, snat_session_key_t match, snat_session_key_t *mapping, u8 by_external)
Match SNAT static mapping.
typedef CLIB_PACKED(struct{snat_session_key_t out2in;snat_session_key_t in2out;u32 flags;u32 per_user_index;u32 per_user_list_head_index;f64 last_heard;u64 total_bytes;u32 total_pkts;u32 outside_address_index;}) snat_session_t
u32 sessions_per_user_list_head_index
u32 max_translations_per_user
int snat_alloc_outside_address_and_port(snat_main_t *sm, snat_session_key_t *k, u32 *address_indexp)
u8 static_mapping_connection_tracking
ip_lookup_main_t * ip4_lookup_main
vlib_node_registration_t snat_out2in_worker_handoff_node
(constructor) VLIB_REGISTER_NODE (snat_out2in_worker_handoff_node)
struct _vlib_node_registration vlib_node_registration_t
snat_interface_t * interfaces
snat_main_per_thread_data_t * per_thread_data
snat_static_mapping_t * static_mappings
vlib_node_registration_t snat_in2out_node
(constructor) VLIB_REGISTER_NODE (snat_in2out_node)
format_function_t format_snat_user
clib_bihash_8_8_t worker_by_in
vlib_node_registration_t snat_in2out_worker_handoff_node
(constructor) VLIB_REGISTER_NODE (snat_in2out_worker_handoff_node)
void snat_free_outside_address_and_port(snat_main_t *sm, snat_session_key_t *k, u32 address_index)
vlib_node_registration_t snat_out2in_node
(constructor) VLIB_REGISTER_NODE (snat_out2in_node)
clib_bihash_8_8_t user_hash
snat_address_t * addresses
clib_bihash_8_8_t static_mapping_by_local
vlib_node_registration_t snat_out2in_fast_node
(constructor) VLIB_REGISTER_NODE (snat_out2in_fast_node)
vlib_node_registration_t snat_in2out_fast_node
(constructor) VLIB_REGISTER_NODE (snat_in2out_fast_node)
ethernet_main_t * ethernet_main
snat_session_t * sessions
clib_bihash_8_8_t worker_by_out