FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
NAT44 endpoint-dependent inside to outside network translation. More...
Go to the source code of this file.
Data Structures | |
struct | nat_in2out_ed_trace_t |
Macros | |
#define | ED_PORT_ALLOC_ATTEMPTS (10) |
Variables | |
static char * | nat_in2out_ed_error_strings [] |
vlib_node_registration_t | nat44_ed_in2out_node |
(constructor) VLIB_REGISTER_NODE (nat44_ed_in2out_node) More... | |
vlib_node_registration_t | nat44_ed_in2out_output_node |
(constructor) VLIB_REGISTER_NODE (nat44_ed_in2out_output_node) More... | |
vlib_node_registration_t | nat44_ed_in2out_slowpath_node |
(constructor) VLIB_REGISTER_NODE (nat44_ed_in2out_slowpath_node) More... | |
vlib_node_registration_t | nat44_ed_in2out_output_slowpath_node |
(constructor) VLIB_REGISTER_NODE (nat44_ed_in2out_output_slowpath_node) More... | |
vlib_main_t * | vm |
vlib_main_t vlib_node_runtime_t * | node |
vlib_main_t vlib_node_runtime_t vlib_frame_t * | frame |
vlib_node_registration_t | nat_pre_in2out_node |
(constructor) VLIB_REGISTER_NODE (nat_pre_in2out_node) More... | |
vlib_node_registration_t | nat_pre_in2out_output_node |
(constructor) VLIB_REGISTER_NODE (nat_pre_in2out_output_node) More... | |
NAT44 endpoint-dependent inside to outside network translation.
Definition in file nat44_ed_in2out.c.
#define ED_PORT_ALLOC_ATTEMPTS (10) |
Definition at line 38 of file nat44_ed_in2out.c.
Definition at line 61 of file nat44_ed_in2out.c.
Definition at line 1601 of file nat44_ed_in2out.c.
|
inlinestatic |
Definition at line 737 of file nat44_ed_in2out.c.
static_always_inline int nat44_ed_external_sm_lookup | ( | snat_main_t * | sm, |
ip4_address_t | match_addr, | ||
u16 | match_port, | ||
nat_protocol_t | match_protocol, | ||
u32 | match_fib_index, | ||
ip4_address_t * | daddr, | ||
u16 * | dport | ||
) |
Definition at line 307 of file nat44_ed_in2out.c.
|
inlinestatic |
Definition at line 969 of file nat44_ed_in2out.c.
VLIB_NODE_FN() nat44_ed_in2out_node | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
VLIB_NODE_FN() nat44_ed_in2out_output_node | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
VLIB_NODE_FN() nat44_ed_in2out_output_slowpath_node | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
|
inlinestatic |
Definition at line 1266 of file nat44_ed_in2out.c.
VLIB_NODE_FN() nat44_ed_in2out_slowpath_node | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
|
static |
Definition at line 821 of file nat44_ed_in2out.c.
static_always_inline int nat44_ed_not_translate | ( | vlib_main_t * | vm, |
snat_main_t * | sm, | ||
vlib_node_runtime_t * | node, | ||
u32 | sw_if_index, | ||
vlib_buffer_t * | b, | ||
ip4_header_t * | ip, | ||
u32 | proto, | ||
u32 | rx_fib_index, | ||
u32 | thread_index | ||
) |
Definition at line 560 of file nat44_ed_in2out.c.
static_always_inline int nat44_ed_not_translate_output_feature | ( | snat_main_t * | sm, |
vlib_buffer_t * | b, | ||
ip4_header_t * | ip, | ||
u16 | src_port, | ||
u16 | dst_port, | ||
u32 | thread_index, | ||
u32 | rx_sw_if_index, | ||
u32 | tx_sw_if_index, | ||
f64 | now, | ||
int | is_multi_worker | ||
) |
Definition at line 659 of file nat44_ed_in2out.c.
|
static |
Definition at line 225 of file nat44_ed_in2out.c.
|
static |
Definition at line 169 of file nat44_ed_in2out.c.
static_always_inline int nat_not_translate_output_feature_fwd | ( | snat_main_t * | sm, |
ip4_header_t * | ip, | ||
u32 | thread_index, | ||
f64 | now, | ||
vlib_main_t * | vm, | ||
vlib_buffer_t * | b | ||
) |
Definition at line 595 of file nat44_ed_in2out.c.
static_always_inline u32 nat_outside_fib_index_lookup | ( | snat_main_t * | sm, |
ip4_address_t | addr | ||
) |
Definition at line 281 of file nat44_ed_in2out.c.
|
static |
Definition at line 335 of file nat44_ed_in2out.c.
|
inlinestatic |
Check if packet should be translated.
Packets aimed at outside interface and external address with active session should be translated.
sm | NAT main |
rt | NAT runtime data |
sw_if_index0 | index of the inside interface |
ip0 | IPv4 header |
proto0 | NAT protocol |
rx_fib_index0 | RX FIB index |
Definition at line 115 of file nat44_ed_in2out.c.
Definition at line 1612 of file nat44_ed_in2out.c.
vlib_node_registration_t nat44_ed_in2out_node |
(constructor) VLIB_REGISTER_NODE (nat44_ed_in2out_node)
Definition at line 1513 of file nat44_ed_in2out.c.
vlib_node_registration_t nat44_ed_in2out_output_node |
(constructor) VLIB_REGISTER_NODE (nat44_ed_in2out_output_node)
Definition at line 1538 of file nat44_ed_in2out.c.
vlib_node_registration_t nat44_ed_in2out_output_slowpath_node |
(constructor) VLIB_REGISTER_NODE (nat44_ed_in2out_output_slowpath_node)
Definition at line 1589 of file nat44_ed_in2out.c.
vlib_node_registration_t nat44_ed_in2out_slowpath_node |
(constructor) VLIB_REGISTER_NODE (nat44_ed_in2out_slowpath_node)
Definition at line 1563 of file nat44_ed_in2out.c.
|
static |
Definition at line 40 of file nat44_ed_in2out.c.
vlib_node_registration_t nat_pre_in2out_node |
(constructor) VLIB_REGISTER_NODE (nat_pre_in2out_node)
Definition at line 1624 of file nat44_ed_in2out.c.
vlib_node_registration_t nat_pre_in2out_output_node |
(constructor) VLIB_REGISTER_NODE (nat_pre_in2out_output_node)
Definition at line 1633 of file nat44_ed_in2out.c.
Definition at line 1611 of file nat44_ed_in2out.c.
vlib_main_t* vm |
Definition at line 1611 of file nat44_ed_in2out.c.