![]() |
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Include dependency graph for nat44_ei.c:Go to the source code of this file.
Data Structures | |
| struct | nat44_ei_classify_trace_t |
Macros | |
| #define | skip_if_disabled() |
| #define | fail_if_enabled() |
| #define | fail_if_disabled() |
| #define | foreach_nat44_ei_classify_error |
| #define | nat_validate_simple_counter(c, i) |
| #define | nat_init_simple_counter(c, n, sn) |
| #define fail_if_disabled | ( | ) |
Definition at line 70 of file nat44_ei.c.
| #define fail_if_enabled | ( | ) |
Definition at line 58 of file nat44_ei.c.
| #define foreach_nat44_ei_classify_error |
Definition at line 167 of file nat44_ei.c.
| #define nat_init_simple_counter | ( | c, | |
| n, | |||
| sn | |||
| ) |
Definition at line 285 of file nat44_ei.c.
| #define skip_if_disabled | ( | ) |
Definition at line 49 of file nat44_ei.c.
| Enumerator | |
|---|---|
| NAT44_EI_CLASSIFY_N_ERROR | |
Definition at line 172 of file nat44_ei.c.
| Enumerator | |
|---|---|
| NAT44_EI_CLASSIFY_NEXT_IN2OUT | |
| NAT44_EI_CLASSIFY_NEXT_OUT2IN | |
| NAT44_EI_CLASSIFY_NEXT_DROP | |
| NAT44_EI_CLASSIFY_N_NEXT | |
Definition at line 186 of file nat44_ei.c.
Definition at line 204 of file nat44_ei.c.
Definition at line 2329 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 2361 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 2373 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int nat44_ei_add_address | ( | nat44_ei_main_t * | nm, |
| ip4_address_t * | addr, | ||
| u32 | vrf_id | ||
| ) |
Definition at line 2575 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void nat44_ei_add_del_addr_to_fib | ( | ip4_address_t * | addr, |
| u8 | p_len, | ||
| u32 | sw_if_index, | ||
| int | is_add | ||
| ) |
Definition at line 1829 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void nat44_ei_add_del_address_dpo | ( | ip4_address_t | addr, |
| u8 | is_add | ||
| ) |
Definition at line 1019 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int nat44_ei_add_del_static_mapping | ( | ip4_address_t | l_addr, |
| ip4_address_t | e_addr, | ||
| u16 | l_port, | ||
| u16 | e_port, | ||
| nat_protocol_t | proto, | ||
| u32 | sw_if_index, | ||
| u32 | vrf_id, | ||
| u8 | addr_only, | ||
| u8 | identity_nat, | ||
| u8 * | tag, | ||
| u8 | is_add | ||
| ) |
Add/delete NAT44-EI static mapping.
| l_addr | local IPv4 address |
| e_addr | external IPv4 address |
| l_port | local port number |
| e_port | external port number |
| proto | L4 protocol |
| sw_if_index | use interface address as external IPv4 address |
| vrf_id | local VRF ID |
| addr_only | 1 = 1:1NAT, 0 = 1:1NAPT |
| identity_nat | identity NAT |
| tag | opaque string tag |
| is_add | 1 = add, 0 = delete |
Definition at line 1853 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int nat44_ei_add_interface_address | ( | nat44_ei_main_t * | nm, |
| u32 | sw_if_index, | ||
| int | is_del | ||
| ) |
Definition at line 2632 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 1729 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void nat44_ei_addresses_free | ( | nat44_ei_address_t ** | addresses | ) |
|
static |
Definition at line 1512 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 1648 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 1601 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline uword nat44_ei_classify_inline_fn | ( | vlib_main_t * | vm, |
| vlib_node_runtime_t * | node, | ||
| vlib_frame_t * | frame | ||
| ) |
|
static |
Definition at line 2421 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 2442 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int nat44_ei_del_address | ( | nat44_ei_main_t * | nm, |
| ip4_address_t | addr, | ||
| u8 | delete_sm | ||
| ) |
Definition at line 2708 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int nat44_ei_del_session | ( | nat44_ei_main_t * | nm, |
| ip4_address_t * | addr, | ||
| u16 | port, | ||
| nat_protocol_t | proto, | ||
| u32 | vrf_id, | ||
| int | is_in | ||
| ) |
Delete NAT44-EI session.
| addr | IPv4 address |
| port | L4 port number |
| proto | L4 protocol |
| vrf_id | VRF ID |
| is_in | 1 = inside network address and port pair, 0 = outside |
Definition at line 1785 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void nat44_ei_delete_session | ( | nat44_ei_main_t * | nm, |
| nat44_ei_session_t * | ses, | ||
| u32 | thread_index | ||
| ) |
Definition at line 1753 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void nat44_ei_free_outside_address_and_port | ( | nat44_ei_address_t * | addresses, |
| u32 | thread_index, | ||
| ip4_address_t * | addr, | ||
| u16 | port, | ||
| nat_protocol_t | protocol | ||
| ) |
| void nat44_ei_free_session_data | ( | nat44_ei_main_t * | nm, |
| nat44_ei_session_t * | s, | ||
| u32 | thread_index, | ||
| u8 | is_ha | ||
| ) |
Definition at line 1252 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void nat44_ei_free_session_data_v2 | ( | nat44_ei_main_t * | nm, |
| nat44_ei_session_t * | s, | ||
| u32 | thread_index, | ||
| u8 | is_ha | ||
| ) |
Definition at line 1079 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 nat44_ei_get_in2out_worker_index | ( | ip4_header_t * | ip0, |
| u32 | rx_fib_index0, | ||
| u8 | is_output | ||
| ) |
Definition at line 1408 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 nat44_ei_get_out2in_worker_index | ( | vlib_buffer_t * | b, |
| ip4_header_t * | ip0, | ||
| u32 | rx_fib_index0, | ||
| u8 | is_output | ||
| ) |
Definition at line 1428 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 1816 of file nat44_ei.c.
| clib_error_t* nat44_ei_init | ( | vlib_main_t * | vm | ) |
Definition at line 496 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 747 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 2883 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 2807 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
| int nat44_ei_plugin_disable | ( | ) |
Definition at line 920 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int nat44_ei_plugin_enable | ( | nat44_ei_config_t | c | ) |
Definition at line 419 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| nat44_ei_session_t* nat44_ei_session_alloc_or_recycle | ( | nat44_ei_main_t * | nm, |
| nat44_ei_user_t * | u, | ||
| u32 | thread_index, | ||
| f64 | now | ||
| ) |
Definition at line 1180 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void nat44_ei_sessions_clear | ( | ) |
Clear all active NAT44-EI sessions.
Definition at line 2478 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void nat44_ei_set_alloc_default | ( | ) |
Set address and port assignment algorithm to default/standard.
Definition at line 1697 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:Set address and port assignment algorithm for MAP-E CE.
| psid | Port Set Identifier value |
| psid_offset | number of offset bits |
| psid_length | length of PSID |
Definition at line 1717 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:Set address and port assignment algorithm for port range.
| start_port | beginning of the port range |
| end_port | end of the port range |
Definition at line 1706 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int nat44_ei_set_frame_queue_nelts | ( | u32 | frame_queue_nelts | ) |
| void nat44_ei_set_node_indexes | ( | nat44_ei_main_t * | nm, |
| vlib_main_t * | vm | ||
| ) |
Definition at line 240 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int nat44_ei_set_outside_address_and_port | ( | nat44_ei_address_t * | addresses, |
| u32 | thread_index, | ||
| ip4_address_t | addr, | ||
| u16 | port, | ||
| nat_protocol_t | protocol | ||
| ) |
| int nat44_ei_set_workers | ( | uword * | bitmap | ) |
Definition at line 252 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void nat44_ei_static_mapping_del_sessions | ( | nat44_ei_main_t * | nm, |
| nat44_ei_main_per_thread_data_t * | tnm, | ||
| nat44_ei_user_key_t | u_key, | ||
| int | addr_only, | ||
| ip4_address_t | e_addr, | ||
| u16 | e_port | ||
| ) |
Delete session for static mapping.
| addr | IPv4 address |
| fib_index | FIB table index |
Definition at line 1356 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int nat44_ei_static_mapping_match | ( | ip4_address_t | match_addr, |
| u16 | match_port, | ||
| u32 | match_fib_index, | ||
| nat_protocol_t | match_protocol, | ||
| ip4_address_t * | mapping_addr, | ||
| u16 * | mapping_port, | ||
| u32 * | mapping_fib_index, | ||
| u8 | by_external, | ||
| u8 * | is_addr_only, | ||
| u8 * | is_identity_nat | ||
| ) |
Match NAT44-EI static mapping.
| key | address and port to match |
| addr | external/local address of the matched mapping |
| port | port of the matched mapping |
| fib_index | fib index of the matched mapping |
| by_external | if 0 match by local address otherwise match by external address |
| is_addr_only | 1 if matched mapping is address only |
| is_identity_nat | 1 if indentity mapping |
Definition at line 2253 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
| int nat44_ei_user_del | ( | ip4_address_t * | addr, |
| u32 | fib_index | ||
| ) |
Delete specific NAT44 EI user and his sessions.
| addr | IPv4 address |
| fib_index | FIB table index |
Definition at line 1314 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void nat44_ei_user_del_sessions | ( | nat44_ei_user_t * | u, |
| u32 | thread_index | ||
| ) |
Definition at line 1289 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| nat44_ei_user_t* nat44_ei_user_get_or_create | ( | nat44_ei_main_t * | nm, |
| ip4_address_t * | addr, | ||
| u32 | fib_index, | ||
| u32 | thread_index | ||
| ) |
Definition at line 1121 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
|
static |
Definition at line 2384 of file nat44_ei.c.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void nat_validate_interface_counters | ( | nat44_ei_main_t * | nm, |
| u32 | sw_if_index | ||
| ) |
| VLIB_PLUGIN_REGISTER | ( | ) |
| VNET_FEATURE_INIT | ( | ip4_nat44_ei_hairpin_dst | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | ip4_nat44_ei_hairpin_src | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | ip4_nat44_ei_hairpinning | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | ip4_nat44_ei_in2out | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | ip4_nat44_ei_in2out_fast | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | ip4_nat44_ei_in2out_output | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | ip4_nat44_ei_in2out_output_worker_handoff | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | ip4_nat44_ei_in2out_worker_handoff | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | ip4_nat44_ei_out2in | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | ip4_nat44_ei_out2in_fast | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | ip4_nat44_ei_out2in_worker_handoff | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | ip4_nat_classify | , |
| static | |||
| ) |
| VNET_FEATURE_INIT | ( | ip4_nat_handoff_classify | , |
| static | |||
| ) |
Definition at line 3048 of file nat44_ei.c.
|
static |
Definition at line 180 of file nat44_ei.c.
| vlib_node_registration_t nat44_ei_classify_node |
(constructor) VLIB_REGISTER_NODE (nat44_ei_classify_node)
Definition at line 3052 of file nat44_ei.c.
| vlib_node_registration_t nat44_ei_hairpin_dst_node |
(constructor) VLIB_REGISTER_NODE (nat44_ei_hairpin_dst_node)
Definition at line 724 of file nat44_ei_hairpinning.c.
| vlib_node_registration_t nat44_ei_hairpinning_node |
(constructor) VLIB_REGISTER_NODE (nat44_ei_hairpinning_node)
Definition at line 737 of file nat44_ei_hairpinning.c.
| vlib_node_registration_t nat44_ei_handoff_classify_node |
(constructor) VLIB_REGISTER_NODE (nat44_ei_handoff_classify_node)
Definition at line 3073 of file nat44_ei.c.
| vlib_node_registration_t nat44_ei_in2out_hairpinning_finish_interface_output_node |
(constructor) VLIB_REGISTER_NODE (nat44_ei_in2out_hairpinning_finish_interface_output_node)
Definition at line 2180 of file nat44_ei_in2out.c.
| vlib_node_registration_t nat44_ei_in2out_hairpinning_finish_ip4_lookup_node |
(constructor) VLIB_REGISTER_NODE (nat44_ei_in2out_hairpinning_finish_ip4_lookup_node)
Definition at line 2154 of file nat44_ei_in2out.c.
| nat44_ei_main_t nat44_ei_main |
Definition at line 40 of file nat44_ei.c.
| vlib_main_t vlib_node_runtime_t * node |
Definition at line 3047 of file nat44_ei.c.
| vlib_main_t * vm |
X-connect all packets from the HOST to the PHY.
x-connect ARP packets from the host to the phy
punt ARP replies to the host
Definition at line 3047 of file nat44_ei.c.