|
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) |
|
static u8 * | format_cnat_trace (u8 *s, va_list *args) |
|
static_always_inline u8 | icmp_type_is_error_message (u8 icmp_type) |
|
static_always_inline u8 | icmp_type_is_echo (u8 icmp_type) |
|
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 | cmp_ip6_address (const ip6_address_t *a1, const ip6_address_t *a2) |
|
static_always_inline u8 | has_ip6_address (ip6_address_t *a) |
| Inline translation functions. More...
|
|
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_ip4_translate_l3 (ip4_header_t *ip4, ip4_address_t new_addr[VLIB_N_DIR]) |
|
static_always_inline void | cnat_tcp_update_session_lifetime (tcp_header_t *tcp, u32 index) |
|
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]) |
|
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) |
|
static_always_inline void | cnat_translation_ip4 (const cnat_session_t *session, ip4_header_t *ip4, udp_header_t *udp) |
|
static_always_inline void | cnat_ip6_translate_l3 (ip6_header_t *ip6, ip6_address_t new_addr[VLIB_N_DIR]) |
|
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]) |
|
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]) |
|
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) |
|
static_always_inline void | cnat_translation_ip6 (const cnat_session_t *session, ip6_header_t *ip6, udp_header_t *udp) |
|
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) |
|
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) |
|
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. More...
|
|
static uword | cnat_node_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, cnat_node_sub_t cnat_sub, ip_address_family_t af, cnat_session_location_t cs_loc, u8 do_trace) |
|