Go to the source code of this file.
|
static u8 * | format_nat64_in2out_trace (u8 *s, va_list *args) |
|
static u8 | nat64_not_translate (u32 sw_if_index, ip6_address_t ip6_addr) |
|
static_always_inline int | is_hairpinning (ip6_address_t *dst_addr) |
| Check whether is a hairpinning. More...
|
|
static int | nat64_in2out_tcp_udp (vlib_main_t *vm, vlib_buffer_t *p, u16 l4_offset, u16 frag_hdr_offset, nat64_in2out_set_ctx_t *ctx) |
|
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 | unk_proto_st_walk (nat64_db_st_entry_t *ste, void *arg) |
|
static int | nat64_in2out_unk_proto (vlib_main_t *vm, vlib_buffer_t *p, u8 l4_protocol, u16 l4_offset, u16 frag_hdr_offset, nat64_in2out_set_ctx_t *s_ctx) |
|
static int | nat64_in2out_tcp_udp_hairpinning (vlib_main_t *vm, vlib_buffer_t *b, ip6_header_t *ip6, u32 l4_offset, u32 thread_index) |
|
static int | nat64_in2out_icmp_hairpinning (vlib_main_t *vm, vlib_buffer_t *b, ip6_header_t *ip6, u32 thread_index) |
|
static int | nat64_in2out_unk_proto_hairpinning (vlib_main_t *vm, vlib_buffer_t *b, ip6_header_t *ip6, u32 thread_index) |
|
static uword | nat64_in2out_node_fn_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u8 is_slow_path) |
|
VLIB_NODE_FN() | nat64_in2out_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
VLIB_NODE_FN() | nat64_in2out_slowpath_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static u8 * | format_nat64_in2out_handoff_trace (u8 *s, va_list *args) |
|
VLIB_NODE_FN() | nat64_in2out_handoff_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
◆ foreach_nat64_in2out_error
#define foreach_nat64_in2out_error |
Value:_(UNSUPPORTED_PROTOCOL, "unsupported protocol") \
_(NO_TRANSLATION, "no translation") \
_(UNKNOWN, "unknown")
Definition at line 45 of file nat64_in2out.c.
◆ foreach_nat64_in2out_handoff_error
#define foreach_nat64_in2out_handoff_error |
Value:_(CONGESTION_DROP, "congestion drop") \
_(SAME_WORKER, "same worker") \
_(DO_HANDOFF, "do handoff")
Definition at line 1285 of file nat64_in2out.c.
◆ nat64_in2out_frag_set_ctx_t
◆ nat64_in2out_set_ctx_t
◆ unk_proto_st_walk_ctx_t
◆ nat64_in2out_error_t
◆ nat64_in2out_handoff_error_t
◆ nat64_in2out_next_t
Enumerator |
---|
NAT64_IN2OUT_NEXT_IP4_LOOKUP | |
NAT64_IN2OUT_NEXT_IP6_LOOKUP | |
NAT64_IN2OUT_NEXT_DROP | |
NAT64_IN2OUT_NEXT_SLOWPATH | |
NAT64_IN2OUT_N_NEXT | |
Definition at line 65 of file nat64_in2out.c.
◆ format_nat64_in2out_handoff_trace()
static u8* format_nat64_in2out_handoff_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ format_nat64_in2out_trace()
static u8* format_nat64_in2out_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ is_hairpinning()
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.
- Returns
- 1 if hairpinning, otherwise 0.
Definition at line 112 of file nat64_in2out.c.
◆ nat64_in2out_handoff_node()
◆ nat64_in2out_icmp_hairpinning()
◆ nat64_in2out_icmp_set_cb()
◆ nat64_in2out_inner_icmp_set_cb()
◆ nat64_in2out_node()
◆ nat64_in2out_node_fn_inline()
◆ nat64_in2out_slowpath_node()
◆ nat64_in2out_tcp_udp()
◆ nat64_in2out_tcp_udp_hairpinning()
◆ nat64_in2out_unk_proto()
◆ nat64_in2out_unk_proto_hairpinning()
◆ nat64_not_translate()
static u8 nat64_not_translate |
( |
u32 |
sw_if_index, |
|
|
ip6_address_t |
ip6_addr |
|
) |
| |
|
inlinestatic |
◆ unk_proto_st_walk()
static int unk_proto_st_walk |
( |
nat64_db_st_entry_t * |
ste, |
|
|
void * |
arg |
|
) |
| |
|
static |
◆ nat64_in2out_error_strings
char* nat64_in2out_error_strings[] |
|
static |
Initial value:= {
#define _(sym,string)
}
#define foreach_nat64_in2out_error
Definition at line 59 of file nat64_in2out.c.
◆ nat64_in2out_handoff_error_strings
char* nat64_in2out_handoff_error_strings[] |
|
static |
Initial value:= {
#define _(sym,string)
}
#define foreach_nat64_in2out_handoff_error
Definition at line 1298 of file nat64_in2out.c.
◆ nat64_in2out_handoff_node
Initial value:= {
.name = "nat64-in2out-handoff",
.vector_size =
sizeof (
u32),
.n_next_nodes = 1,
.next_nodes = {
[0] = "error-drop",
},
}
vl_api_fib_path_type_t type
static u8 * format_nat64_in2out_handoff_trace(u8 *s, va_list *args)
static char * nat64_in2out_handoff_error_strings[]
(constructor) VLIB_REGISTER_NODE (nat64_in2out_handoff_node)
Definition at line 1389 of file nat64_in2out.c.
◆ nat64_in2out_node
Initial value:= {
.name = "nat64-in2out",
.vector_size =
sizeof (
u32),
.next_nodes = {
},
}
static u8 * format_nat64_in2out_trace(u8 *s, va_list *args)
vl_api_fib_path_type_t type
static char * nat64_in2out_error_strings[]
(constructor) VLIB_REGISTER_NODE (nat64_in2out_node)
Definition at line 1230 of file nat64_in2out.c.
◆ nat64_in2out_slowpath_node
Initial value:= {
.name = "nat64-in2out-slowpath",
.vector_size =
sizeof (
u32),
.next_nodes = {
},
}
static u8 * format_nat64_in2out_trace(u8 *s, va_list *args)
vl_api_fib_path_type_t type
static char * nat64_in2out_error_strings[]
(constructor) VLIB_REGISTER_NODE (nat64_in2out_slowpath_node)
Definition at line 1256 of file nat64_in2out.c.