FD.io VPP
v17.07.01-10-g3be13f0
Vector Packet Processing
|
NAT64 IPv6 to IPv4 translation (inside to outside network) More...
Go to the source code of this file.
Data Structures | |
struct | nat64_in2out_trace_t |
struct | nat64_in2out_set_ctx_t_ |
Macros | |
#define | foreach_nat64_in2out_error |
Typedefs | |
typedef struct nat64_in2out_set_ctx_t_ | nat64_in2out_set_ctx_t |
Enumerations | |
enum | nat64_in2out_error_t { NAT64_IN2OUT_N_ERROR } |
enum | nat64_in2out_next_t { NAT64_IN2OUT_NEXT_IP4_LOOKUP, NAT64_IN2OUT_NEXT_IP6_LOOKUP, NAT64_IN2OUT_NEXT_DROP, NAT64_IN2OUT_N_NEXT } |
Functions | |
static u8 * | format_nat64_in2out_trace (u8 *s, va_list *args) |
static_always_inline int | is_hairpinning (ip6_address_t *dst_addr) |
Check whether is a hairpinning. More... | |
static int | nat64_in2out_tcp_udp_set_cb (ip6_header_t *ip6, ip4_header_t *ip4, void *arg) |
static int | nat64_in2out_icmp_set_cb (ip6_header_t *ip6, ip4_header_t *ip4, void *arg) |
static int | nat64_in2out_inner_icmp_set_cb (ip6_header_t *ip6, ip4_header_t *ip4, void *arg) |
static int | nat64_in2out_tcp_udp_hairpinning (vlib_main_t *vm, vlib_buffer_t *b, ip6_header_t *ip6) |
static int | nat64_in2out_icmp_hairpinning (vlib_main_t *vm, vlib_buffer_t *b, ip6_header_t *ip6) |
static uword | nat64_in2out_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
VLIB_NODE_FUNCTION_MULTIARCH (nat64_in2out_node, nat64_in2out_node_fn) | |
Variables | |
vlib_node_registration_t | nat64_in2out_node |
(constructor) VLIB_REGISTER_NODE (nat64_in2out_node) More... | |
static char * | nat64_in2out_error_strings [] |
NAT64 IPv6 to IPv4 translation (inside to outside network)
Definition in file nat64_in2out.c.
#define foreach_nat64_in2out_error |
Definition at line 46 of file nat64_in2out.c.
typedef struct nat64_in2out_set_ctx_t_ nat64_in2out_set_ctx_t |
enum nat64_in2out_error_t |
Enumerator | |
---|---|
NAT64_IN2OUT_N_ERROR |
Definition at line 52 of file nat64_in2out.c.
enum nat64_in2out_next_t |
Enumerator | |
---|---|
NAT64_IN2OUT_NEXT_IP4_LOOKUP | |
NAT64_IN2OUT_NEXT_IP6_LOOKUP | |
NAT64_IN2OUT_NEXT_DROP | |
NAT64_IN2OUT_N_NEXT |
Definition at line 66 of file nat64_in2out.c.
static_always_inline int is_hairpinning | ( | ip6_address_t * | dst_addr | ) |
Check whether is a hairpinning.
If the destination IP address of the packet is an IPv4 address assigned to the NAT64 itself, then the packet is a hairpin packet.
param dst_addr Destination address of the packet.
Definition at line 91 of file nat64_in2out.c.
|
static |
Definition at line 481 of file nat64_in2out.c.
|
static |
Definition at line 191 of file nat64_in2out.c.
|
static |
Definition at line 276 of file nat64_in2out.c.
|
static |
|
static |
Definition at line 357 of file nat64_in2out.c.
|
static |
Definition at line 106 of file nat64_in2out.c.
VLIB_NODE_FUNCTION_MULTIARCH | ( | nat64_in2out_node | , |
nat64_in2out_node_fn | |||
) |
|
static |
Definition at line 60 of file nat64_in2out.c.
vlib_node_registration_t nat64_in2out_node |
(constructor) VLIB_REGISTER_NODE (nat64_in2out_node)
Definition at line 44 of file nat64_in2out.c.