FD.io VPP
v17.01-9-ge7dcee4
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | snat_session_key_t |
struct | snat_user_key_t |
struct | snat_static_mapping_key_t |
struct | snat_user_t |
struct | snat_address_t |
struct | snat_static_mapping_t |
struct | snat_interface_t |
struct | snat_main_per_thread_data_t |
struct | snat_main_t |
struct | snat_runtime_t |
struct | icmp_echo_header_t |
Macros | |
#define | SNAT_SESSION_FLAG_STATIC_MAPPING 1 |
#define | snat_is_session_static(s) s->flags & SNAT_SESSION_FLAG_STATIC_MAPPING |
Check if SNAT session is created from static mapping. More... | |
Enumerations | |
enum | snat_protocol_t { SNAT_PROTOCOL_UDP = 0, SNAT_PROTOCOL_TCP, SNAT_PROTOCOL_ICMP } |
Functions | |
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 |
void | snat_free_outside_address_and_port (snat_main_t *sm, snat_session_key_t *k, u32 address_index) |
int | snat_alloc_outside_address_and_port (snat_main_t *sm, snat_session_key_t *k, u32 *address_indexp) |
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. More... | |
Variables | |
snat_main_t | snat_main |
vlib_node_registration_t | snat_in2out_node |
(constructor) VLIB_REGISTER_NODE (snat_in2out_node) More... | |
vlib_node_registration_t | snat_out2in_node |
(constructor) VLIB_REGISTER_NODE (snat_out2in_node) More... | |
vlib_node_registration_t | snat_in2out_fast_node |
(constructor) VLIB_REGISTER_NODE (snat_in2out_fast_node) More... | |
vlib_node_registration_t | snat_out2in_fast_node |
(constructor) VLIB_REGISTER_NODE (snat_out2in_fast_node) More... | |
vlib_node_registration_t | snat_in2out_worker_handoff_node |
(constructor) VLIB_REGISTER_NODE (snat_in2out_worker_handoff_node) More... | |
vlib_node_registration_t | snat_out2in_worker_handoff_node |
(constructor) VLIB_REGISTER_NODE (snat_out2in_worker_handoff_node) More... | |
format_function_t | format_snat_user |
#define snat_is_session_static | ( | s | ) | s->flags & SNAT_SESSION_FLAG_STATIC_MAPPING |
enum snat_protocol_t |
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;} | ) |
int snat_alloc_outside_address_and_port | ( | snat_main_t * | sm, |
snat_session_key_t * | k, | ||
u32 * | address_indexp | ||
) |
void snat_free_outside_address_and_port | ( | snat_main_t * | sm, |
snat_session_key_t * | k, | ||
u32 | address_index | ||
) |
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.
sm | SNAT main. |
match | Address and port to match. |
mapping | External or local address and port of the matched mapping. |
by_external | If 0 match by local address otherwise match by external address. |
Definition at line 1242 of file snat.c.
format_function_t format_snat_user |
vlib_node_registration_t snat_in2out_fast_node |
vlib_node_registration_t snat_in2out_node |
vlib_node_registration_t snat_in2out_worker_handoff_node |
snat_main_t snat_main |
Definition at line 42 of file jvpp_snat.h.
vlib_node_registration_t snat_out2in_fast_node |
vlib_node_registration_t snat_out2in_node |
vlib_node_registration_t snat_out2in_worker_handoff_node |