Go to the source code of this file.
|
static u8 * | format_vxlan_rx_trace (u8 *s, va_list *args) |
|
static vxlan_decap_info_t | vxlan4_find_tunnel (vxlan_main_t *vxm, last_tunnel_cache4 *cache, u32 fib_index, ip4_header_t *ip4_0, vxlan_header_t *vxlan0, u32 *stats_sw_if_index) |
|
static vxlan_decap_info_t | vxlan6_find_tunnel (vxlan_main_t *vxm, last_tunnel_cache6 *cache, u32 fib_index, ip6_header_t *ip6_0, vxlan_header_t *vxlan0, u32 *stats_sw_if_index) |
|
static uword | vxlan_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, u32 is_ip4) |
|
VLIB_NODE_FN() | vxlan4_input_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
VLIB_NODE_FN() | vxlan6_input_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
static uword | ip_vxlan_bypass_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u32 is_ip4) |
|
VLIB_NODE_FN() | ip4_vxlan_bypass_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static clib_error_t * | ip4_vxlan_bypass_init (vlib_main_t *vm) |
|
VLIB_NODE_FN() | ip6_vxlan_bypass_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static clib_error_t * | ip6_vxlan_bypass_init (vlib_main_t *vm) |
|
static_always_inline u8 | vxlan_validate_udp_csum (vlib_main_t *vm, vlib_buffer_t *b) |
|
static_always_inline u8 | vxlan_check_udp_csum (vlib_main_t *vm, vlib_buffer_t *b) |
|
static_always_inline u8 | vxlan_check_ip (vlib_buffer_t *b, u16 payload_len) |
|
static_always_inline u8 | vxlan_check_ip_udp_len (vlib_buffer_t *b) |
|
static_always_inline u8 | vxlan_err_code (u8 ip_err0, u8 udp_err0, u8 csum_err0) |
|
VLIB_NODE_FN() | vxlan4_flow_input_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *f) |
|
◆ foreach_vxlan_flow_error
#define foreach_vxlan_flow_error |
Value:_(NONE, "no error") \
_(IP_CHECKSUM_ERROR, "Rx ip checksum errors") \
_(IP_HEADER_ERROR, "Rx ip header errors") \
_(UDP_CHECKSUM_ERROR, "Rx udp checksum errors") \
_(UDP_LENGTH_ERROR, "Rx udp length errors")
Definition at line 906 of file decap.c.
◆ foreach_vxlan_flow_input_next
#define foreach_vxlan_flow_input_next |
◆ vxlan_error
#define vxlan_error |
( |
|
n, |
|
|
|
s |
|
) |
| s, |
◆ last_tunnel_cache4
◆ last_tunnel_cache6
◆ ip_vxlan_bypass_next_t
Enumerator |
---|
IP_VXLAN_BYPASS_NEXT_DROP | |
IP_VXLAN_BYPASS_NEXT_VXLAN | |
IP_VXLAN_BYPASS_N_NEXT | |
IP_VXLAN_BYPASS_NEXT_DROP | |
IP_VXLAN_BYPASS_NEXT_VXLAN | |
IP_VXLAN_BYPASS_N_NEXT | |
Definition at line 441 of file decap.c.
◆ vxlan_flow_error_t
Enumerator |
---|
VXLAN_FLOW_N_ERROR | |
Definition at line 913 of file decap.c.
◆ vxlan_flow_input_next_t
Enumerator |
---|
VXLAN_FLOW_N_NEXT | |
Definition at line 898 of file decap.c.
◆ format_vxlan_rx_trace()
static u8* format_vxlan_rx_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ ip4_vxlan_bypass_init()
◆ ip4_vxlan_bypass_node()
◆ ip6_vxlan_bypass_init()
◆ ip6_vxlan_bypass_node()
◆ ip_vxlan_bypass_inline()
◆ vxlan4_find_tunnel()
◆ vxlan4_flow_input_node()
◆ vxlan4_input_node()
◆ vxlan6_find_tunnel()
◆ vxlan6_input_node()
◆ vxlan_check_ip()
◆ vxlan_check_ip_udp_len()
◆ vxlan_check_udp_csum()
◆ vxlan_err_code()
◆ vxlan_input()
◆ vxlan_validate_udp_csum()
◆ decap_bad_flags
Initial value:= {
.sw_if_index = ~0,
.next_index = VXLAN_INPUT_NEXT_DROP,
.error = VXLAN_ERROR_BAD_FLAGS
}
Definition at line 57 of file decap.c.
◆ decap_not_found
Initial value:= {
.sw_if_index = ~0,
.next_index = VXLAN_INPUT_NEXT_DROP,
.error = VXLAN_ERROR_NO_SUCH_TUNNEL
}
Definition at line 51 of file decap.c.
◆ ip4_vxlan_bypass_node
Initial value:=
{
.name = "ip4-vxlan-bypass",
.vector_size =
sizeof (
u32),
.next_nodes = {
},
}
u8 * format_ip4_forward_next_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (ip4_vxlan_bypass_node)
Definition at line 838 of file decap.c.
◆ ip6_vxlan_bypass_node
Initial value:=
{
.name = "ip6-vxlan-bypass",
.vector_size =
sizeof (
u32),
.next_nodes = {
},
}
u8 * format_ip6_forward_next_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (ip6_vxlan_bypass_node)
Definition at line 870 of file decap.c.
◆ vxlan4_flow_input_node
Initial value:= {
.name = "vxlan-flow-input",
.vector_size =
sizeof (
u32),
.next_nodes = {
#define _(s,n)
},
}
static char * vxlan_flow_error_strings[]
#define foreach_vxlan_flow_input_next
static u8 * format_vxlan_rx_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (vxlan4_flow_input_node)
Definition at line 1263 of file decap.c.
◆ vxlan4_input_node
Initial value:=
{
.name = "vxlan4-input",
.vector_size =
sizeof (
u32),
.next_nodes = {
#define _(s,n)
},
}
#define foreach_vxlan_input_next
static char * vxlan_error_strings[]
static u8 * format_vxlan_rx_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (vxlan4_input_node)
Definition at line 23 of file decap.c.
◆ vxlan6_input_node
Initial value:=
{
.name = "vxlan6-input",
.vector_size =
sizeof (
u32),
.next_nodes = {
#define _(s,n)
},
}
#define foreach_vxlan_input_next
static char * vxlan_error_strings[]
static u8 * format_vxlan_rx_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (vxlan6_input_node)
Definition at line 24 of file decap.c.
◆ vxlan_error_strings
char* vxlan_error_strings[] |
|
static |
Initial value:= {
#define vxlan_error(n,s)
}
Definition at line 403 of file decap.c.
◆ vxlan_flow_error_strings
char* vxlan_flow_error_strings[] |
|
static |
Initial value:= {
#define _(n,s)
}
#define foreach_vxlan_flow_error
Definition at line 921 of file decap.c.