Go to the source code of this file.
|
enum | ip4_mapt_next_t {
IP4_MAPT_NEXT_MAPT_TCP_UDP,
IP4_MAPT_NEXT_MAPT_ICMP,
IP4_MAPT_NEXT_MAPT_FRAGMENTED,
IP4_MAPT_NEXT_ICMP_ERROR,
IP4_MAPT_NEXT_DROP,
IP4_MAPT_N_NEXT
} |
|
enum | ip4_mapt_icmp_next_t {
IP4_MAPT_ICMP_NEXT_IP6_LOOKUP,
IP4_MAPT_ICMP_NEXT_IP6_REWRITE,
IP4_MAPT_ICMP_NEXT_IP6_FRAG,
IP4_MAPT_ICMP_NEXT_DROP,
IP4_MAPT_ICMP_N_NEXT
} |
|
enum | ip4_mapt_tcp_udp_next_t {
IP4_MAPT_TCP_UDP_NEXT_IP6_LOOKUP,
IP4_MAPT_TCP_UDP_NEXT_IP6_REWRITE,
IP4_MAPT_TCP_UDP_NEXT_IP6_FRAG,
IP4_MAPT_TCP_UDP_NEXT_DROP,
IP4_MAPT_TCP_UDP_N_NEXT
} |
|
enum | ip4_mapt_fragmented_next_t {
IP4_MAPT_FRAGMENTED_NEXT_IP6_LOOKUP,
IP4_MAPT_FRAGMENTED_NEXT_IP6_REWRITE,
IP4_MAPT_FRAGMENTED_NEXT_IP6_FRAG,
IP4_MAPT_FRAGMENTED_NEXT_DROP,
IP4_MAPT_FRAGMENTED_N_NEXT
} |
|
|
typedef | CLIB_PACKED (struct { ip6_address_t daddr;ip6_address_t saddr;u8 unused[28];}) |
|
static int | ip4_to_ip6_set_icmp_cb (vlib_buffer_t *b, ip4_header_t *ip4, ip6_header_t *ip6, void *arg) |
|
static int | ip4_to_ip6_set_inner_icmp_cb (vlib_buffer_t *b, ip4_header_t *ip4, ip6_header_t *ip6, void *arg) |
|
static uword | ip4_map_t_icmp (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static int | map_ip4_to_ip6_fragmented (vlib_buffer_t *p, ip4_mapt_pseudo_header_t *pheader) |
|
static uword | ip4_map_t_fragmented (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static int | map_ip4_to_ip6_tcp_udp (vlib_buffer_t *p, ip4_mapt_pseudo_header_t *pheader) |
|
static uword | ip4_map_t_tcp_udp (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static_always_inline void | ip4_map_t_classify (vlib_buffer_t *p0, map_domain_t *d0, ip4_header_t *ip40, u16 ip4_len0, i32 *dst_port0, u8 *error0, ip4_mapt_next_t *next0, u16 l4_dst_port) |
|
static uword | ip4_map_t (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
| VNET_FEATURE_INIT (ip4_map_t_feature, static) |
|
◆ ip4_mapt_fragmented_next_t
Enumerator |
---|
IP4_MAPT_FRAGMENTED_NEXT_IP6_LOOKUP | |
IP4_MAPT_FRAGMENTED_NEXT_IP6_REWRITE | |
IP4_MAPT_FRAGMENTED_NEXT_IP6_FRAG | |
IP4_MAPT_FRAGMENTED_NEXT_DROP | |
IP4_MAPT_FRAGMENTED_N_NEXT | |
Definition at line 48 of file ip4_map_t.c.
◆ ip4_mapt_icmp_next_t
Enumerator |
---|
IP4_MAPT_ICMP_NEXT_IP6_LOOKUP | |
IP4_MAPT_ICMP_NEXT_IP6_REWRITE | |
IP4_MAPT_ICMP_NEXT_IP6_FRAG | |
IP4_MAPT_ICMP_NEXT_DROP | |
IP4_MAPT_ICMP_N_NEXT | |
Definition at line 30 of file ip4_map_t.c.
◆ ip4_mapt_next_t
Enumerator |
---|
IP4_MAPT_NEXT_MAPT_TCP_UDP | |
IP4_MAPT_NEXT_MAPT_ICMP | |
IP4_MAPT_NEXT_MAPT_FRAGMENTED | |
IP4_MAPT_NEXT_ICMP_ERROR | |
IP4_MAPT_NEXT_DROP | |
IP4_MAPT_N_NEXT | |
Definition at line 20 of file ip4_map_t.c.
◆ ip4_mapt_tcp_udp_next_t
Enumerator |
---|
IP4_MAPT_TCP_UDP_NEXT_IP6_LOOKUP | |
IP4_MAPT_TCP_UDP_NEXT_IP6_REWRITE | |
IP4_MAPT_TCP_UDP_NEXT_IP6_FRAG | |
IP4_MAPT_TCP_UDP_NEXT_DROP | |
IP4_MAPT_TCP_UDP_N_NEXT | |
Definition at line 39 of file ip4_map_t.c.
◆ CLIB_PACKED()
typedef CLIB_PACKED |
( |
struct { ip6_address_t daddr;ip6_address_t saddr;u8 unused[28];} |
| ) |
|
◆ ip4_map_t()
◆ ip4_map_t_classify()
◆ ip4_map_t_fragmented()
◆ ip4_map_t_icmp()
◆ ip4_map_t_tcp_udp()
◆ ip4_to_ip6_set_icmp_cb()
◆ ip4_to_ip6_set_inner_icmp_cb()
◆ map_ip4_to_ip6_fragmented()
static int map_ip4_to_ip6_fragmented |
( |
vlib_buffer_t * |
p, |
|
|
ip4_mapt_pseudo_header_t * |
pheader |
|
) |
| |
|
inlinestatic |
◆ map_ip4_to_ip6_tcp_udp()
static int map_ip4_to_ip6_tcp_udp |
( |
vlib_buffer_t * |
p, |
|
|
ip4_mapt_pseudo_header_t * |
pheader |
|
) |
| |
|
inlinestatic |
◆ VNET_FEATURE_INIT()
VNET_FEATURE_INIT |
( |
ip4_map_t_feature |
, |
|
|
static |
|
|
) |
| |
◆ icmp_to_icmp6_ctx_t
◆ ip4_map_t_fragmented_node
Initial value:= {
.name = "ip4-map-t-fragmented",
.vector_size =
sizeof(
u32),
.n_errors = MAP_N_ERROR,
.error_counters = map_error_counters,
.next_nodes = {
},
}
#define IP6_FRAG_NODE_NAME
vl_api_fib_path_type_t type
u8 * format_map_trace(u8 *s, va_list *args)
static uword ip4_map_t_fragmented(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
(constructor) VLIB_REGISTER_NODE (ip4_map_t_fragmented_node)
Definition at line 695 of file ip4_map_t.c.
◆ ip4_map_t_icmp_node
Initial value:= {
.name = "ip4-map-t-icmp",
.vector_size =
sizeof(
u32),
.n_errors = MAP_N_ERROR,
.error_counters = map_error_counters,
.next_nodes = {
},
}
#define IP6_FRAG_NODE_NAME
static uword ip4_map_t_icmp(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
vl_api_fib_path_type_t type
u8 * format_map_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (ip4_map_t_icmp_node)
Definition at line 716 of file ip4_map_t.c.
◆ ip4_map_t_node
Initial value:= {
.name = "ip4-map-t",
.vector_size =
sizeof(
u32),
.n_errors = MAP_N_ERROR,
.error_counters = map_error_counters,
.next_nodes = {
},
}
static uword ip4_map_t(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
vl_api_fib_path_type_t type
u8 * format_map_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (ip4_map_t_node)
Definition at line 758 of file ip4_map_t.c.
◆ ip4_map_t_tcp_udp_node
Initial value:= {
.name = "ip4-map-t-tcp-udp",
.vector_size =
sizeof(
u32),
.n_errors = MAP_N_ERROR,
.error_counters = map_error_counters,
.next_nodes = {
},
}
#define IP6_FRAG_NODE_NAME
vl_api_fib_path_type_t type
u8 * format_map_trace(u8 *s, va_list *args)
static uword ip4_map_t_tcp_udp(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
(constructor) VLIB_REGISTER_NODE (ip4_map_t_tcp_udp_node)
Definition at line 737 of file ip4_map_t.c.