![]() |
FD.io VPP
v21.06
Vector Packet Processing
|
Include dependency graph for cnat_node.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | cnat_trace_element_t_ |
Typedefs | |
| typedef uword(* | cnat_node_sub_t) (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_buffer_t *b, cnat_node_ctx_t *ctx, int rv, cnat_session_t *session) |
| typedef struct cnat_trace_element_t_ | cnat_trace_element_t |
| typedef enum cnat_trace_element_flag_t_ | cnat_trace_element_flag_t |
Enumerations | |
| enum | cnat_trace_element_flag_t_ { CNAT_TRACE_SESSION_FOUND = (1 << 0), CNAT_TRACE_SESSION_CREATED = (1 << 1), CNAT_TRACE_TRANSLATION_FOUND = (1 << 2), CNAT_TRACE_NO_NAT = (1 << 3) } |
| typedef uword(* cnat_node_sub_t) (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_buffer_t *b, cnat_node_ctx_t *ctx, int rv, cnat_session_t *session) |
Definition at line 31 of file cnat_node.h.
| typedef enum cnat_trace_element_flag_t_ cnat_trace_element_flag_t |
| typedef struct cnat_trace_element_t_ cnat_trace_element_t |
| Enumerator | |
|---|---|
| CNAT_TRACE_SESSION_FOUND | |
| CNAT_TRACE_SESSION_CREATED | |
| CNAT_TRACE_TRANSLATION_FOUND | |
| CNAT_TRACE_NO_NAT | |
Definition at line 46 of file cnat_node.h.
| static_always_inline u8 cmp_ip6_address | ( | const ip6_address_t * | a1, |
| const ip6_address_t * | a2 | ||
| ) |
| static_always_inline void cnat_add_trace | ( | vlib_main_t * | vm, |
| vlib_node_runtime_t * | node, | ||
| vlib_buffer_t * | b, | ||
| cnat_session_t * | session, | ||
| const cnat_translation_t * | ct, | ||
| u8 | flags | ||
| ) |
Definition at line 55 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void cnat_ip4_translate_l3 | ( | ip4_header_t * | ip4, |
| ip4_address_t | new_addr[VLIB_N_DIR] | ||
| ) |
Definition at line 229 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void cnat_ip4_translate_l4 | ( | ip4_header_t * | ip4, |
| udp_header_t * | udp, | ||
| ip_csum_t * | sum, | ||
| ip4_address_t | new_addr[VLIB_N_DIR], | ||
| u16 | new_port[VLIB_N_DIR] | ||
| ) |
| static_always_inline void cnat_ip6_translate_l3 | ( | ip6_header_t * | ip6, |
| ip6_address_t | new_addr[VLIB_N_DIR] | ||
| ) |
Definition at line 428 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void cnat_ip6_translate_l4 | ( | ip6_header_t * | ip6, |
| udp_header_t * | udp, | ||
| ip_csum_t * | sum, | ||
| ip6_address_t | new_addr[VLIB_N_DIR], | ||
| u16 | new_port[VLIB_N_DIR] | ||
| ) |
Definition at line 437 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline cnat_ep_trk_t* cnat_load_balance | ( | const cnat_translation_t * | ct, |
| ip_address_family_t | af, | ||
| ip4_header_t * | ip4, | ||
| ip6_header_t * | ip6, | ||
| u32 * | dpoi_index | ||
| ) |
Definition at line 807 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 933 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void cnat_session_create | ( | cnat_session_t * | session, |
| cnat_node_ctx_t * | ctx, | ||
| cnat_session_location_t | rsession_location, | ||
| u8 | rsession_flags | ||
| ) |
Create NAT sessions rsession_location is the location the (return) session will be matched at.
Definition at line 841 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void cnat_session_make_key | ( | vlib_buffer_t * | b, |
| ip_address_family_t | af, | ||
| cnat_session_location_t | cs_loc, | ||
| cnat_bihash_kv_t * | bkey | ||
| ) |
Definition at line 685 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void cnat_tcp_update_session_lifetime | ( | tcp_header_t * | tcp, |
| u32 | index | ||
| ) |
Definition at line 256 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void cnat_translation_icmp4_echo | ( | ip4_header_t * | ip4, |
| icmp46_header_t * | icmp, | ||
| ip4_address_t | new_addr[VLIB_N_DIR], | ||
| u16 | new_port[VLIB_N_DIR] | ||
| ) |
Definition at line 276 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void cnat_translation_icmp4_error | ( | ip4_header_t * | outer_ip4, |
| icmp46_header_t * | icmp, | ||
| ip4_address_t | outer_new_addr[VLIB_N_DIR], | ||
| u16 | outer_new_port[VLIB_N_DIR], | ||
| u8 | snat_outer_ip | ||
| ) |
Definition at line 297 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void cnat_translation_icmp6_echo | ( | ip6_header_t * | ip6, |
| icmp46_header_t * | icmp, | ||
| ip6_address_t | new_addr[VLIB_N_DIR], | ||
| u16 | new_port[VLIB_N_DIR] | ||
| ) |
Definition at line 491 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void cnat_translation_icmp6_error | ( | ip6_header_t * | outer_ip6, |
| icmp46_header_t * | icmp, | ||
| ip6_address_t | outer_new_addr[VLIB_N_DIR], | ||
| u16 | outer_new_port[VLIB_N_DIR], | ||
| u8 | snat_outer_ip | ||
| ) |
Definition at line 531 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void cnat_translation_ip4 | ( | const cnat_session_t * | session, |
| ip4_header_t * | ip4, | ||
| udp_header_t * | udp | ||
| ) |
Definition at line 383 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline void cnat_translation_ip6 | ( | const cnat_session_t * | session, |
| ip6_header_t * | ip6, | ||
| udp_header_t * | udp | ||
| ) |
Definition at line 640 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 75 of file cnat_node.h.
Here is the call graph for this function:
Here is the caller graph for this function:| static_always_inline u8 has_ip6_address | ( | ip6_address_t * | a | ) |
Inline translation functions.
Definition at line 173 of file cnat_node.h.
Here is the caller graph for this function:| static_always_inline u8 icmp6_type_is_echo | ( | u8 | icmp_type | ) |
| static_always_inline u8 icmp6_type_is_error_message | ( | u8 | icmp_type | ) |
| static_always_inline u8 icmp_type_is_echo | ( | u8 | icmp_type | ) |
| static_always_inline u8 icmp_type_is_error_message | ( | u8 | icmp_type | ) |