FD.io VPP
v20.05.1-6-gf53edbc3b
Vector Packet Processing
|
NAT44 inside to outside network translation. More...
Go to the source code of this file.
Data Structures | |
struct | snat_in2out_trace_t |
Macros | |
#define | foreach_snat_in2out_error |
Variables | |
static char * | snat_in2out_error_strings [] |
vlib_node_registration_t | snat_in2out_node |
(constructor) VLIB_REGISTER_NODE (snat_in2out_node) More... | |
vlib_node_registration_t | snat_in2out_output_node |
(constructor) VLIB_REGISTER_NODE (snat_in2out_output_node) More... | |
vlib_node_registration_t | snat_in2out_slowpath_node |
(constructor) VLIB_REGISTER_NODE (snat_in2out_slowpath_node) More... | |
vlib_node_registration_t | snat_in2out_output_slowpath_node |
(constructor) VLIB_REGISTER_NODE (snat_in2out_output_slowpath_node) More... | |
vlib_node_registration_t | snat_in2out_fast_node |
(constructor) VLIB_REGISTER_NODE (snat_in2out_fast_node) More... | |
NAT44 inside to outside network translation.
Definition in file in2out.c.
#define foreach_snat_in2out_error |
enum snat_in2out_error_t |
enum snat_in2out_next_t |
static_always_inline snat_in2out_error_t icmp_get_key | ( | vlib_buffer_t * | b, |
ip4_header_t * | ip0, | ||
snat_session_key_t * | p_key0 | ||
) |
u32 icmp_in2out | ( | snat_main_t * | sm, |
vlib_buffer_t * | b0, | ||
ip4_header_t * | ip0, | ||
icmp46_header_t * | icmp0, | ||
u32 | sw_if_index0, | ||
u32 | rx_fib_index0, | ||
vlib_node_runtime_t * | node, | ||
u32 | next0, | ||
u32 | thread_index, | ||
void * | d, | ||
void * | e | ||
) |
|
inlinestatic |
u32 icmp_match_in2out_fast | ( | snat_main_t * | sm, |
vlib_node_runtime_t * | node, | ||
u32 | thread_index, | ||
vlib_buffer_t * | b0, | ||
ip4_header_t * | ip0, | ||
u8 * | p_proto, | ||
snat_session_key_t * | p_value, | ||
u8 * | p_dont_translate, | ||
void * | d, | ||
void * | e | ||
) |
Get address and port values to be used for ICMP packet translation.
[in] | sm | NAT main |
[in,out] | node | NAT node runtime |
[in] | thread_index | thread index |
[in,out] | b0 | buffer containing packet to be translated |
[in,out] | ip0 | ip header |
[out] | p_proto | protocol used for matching |
[out] | p_value | address and port after NAT translation |
[out] | p_dont_translate | if packet should not be translated |
d | optional parameter | |
e | optional parameter |
Definition at line 581 of file in2out.c.
u32 icmp_match_in2out_slow | ( | snat_main_t * | sm, |
vlib_node_runtime_t * | node, | ||
u32 | thread_index, | ||
vlib_buffer_t * | b0, | ||
ip4_header_t * | ip0, | ||
u8 * | p_proto, | ||
snat_session_key_t * | p_value, | ||
u8 * | p_dont_translate, | ||
void * | d, | ||
void * | e | ||
) |
Get address and port values to be used for ICMP packet translation and create session if needed.
[in,out] | sm | NAT main |
[in,out] | node | NAT node runtime |
[in] | thread_index | thread index |
[in,out] | b0 | buffer containing packet to be translated |
[in,out] | ip0 | ip header |
[out] | p_proto | protocol used for matching |
[out] | p_value | address and port after NAT translation |
[out] | p_dont_translate | if packet should not be translated |
d | optional parameter | |
e | optional parameter |
Definition at line 457 of file in2out.c.
int nat44_i2o_is_idle_session_cb | ( | clib_bihash_kv_8_8_t * | kv, |
void * | arg | ||
) |
|
static |
|
inlinestatic |
|
static |
VLIB_NODE_FN() snat_in2out_fast_node | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
VLIB_NODE_FN() snat_in2out_node | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
|
inlinestatic |
VLIB_NODE_FN() snat_in2out_output_node | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
VLIB_NODE_FN() snat_in2out_output_slowpath_node | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
VLIB_NODE_FN() snat_in2out_slowpath_node | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
|
inlinestatic |
|
static |
vlib_node_registration_t snat_in2out_fast_node |
(constructor) VLIB_REGISTER_NODE (snat_in2out_fast_node)
vlib_node_registration_t snat_in2out_node |
(constructor) VLIB_REGISTER_NODE (snat_in2out_node)
vlib_node_registration_t snat_in2out_output_node |
(constructor) VLIB_REGISTER_NODE (snat_in2out_output_node)
vlib_node_registration_t snat_in2out_output_slowpath_node |
(constructor) VLIB_REGISTER_NODE (snat_in2out_output_slowpath_node)
vlib_node_registration_t snat_in2out_slowpath_node |
(constructor) VLIB_REGISTER_NODE (snat_in2out_slowpath_node)