Go to the source code of this file.
|
enum | ip_vxan_bypass_next_t {
IP_GENEVE_BYPASS_NEXT_DROP,
IP_GENEVE_BYPASS_NEXT_GENEVE,
IP_GENEVE_BYPASS_N_NEXT,
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,
IP_GTPU_BYPASS_NEXT_DROP,
IP_GTPU_BYPASS_NEXT_GTPU,
IP_GTPU_BYPASS_N_NEXT
} |
|
enum | vxlan_flow_input_next_t { VXLAN_FLOW_N_NEXT
} |
|
enum | vxlan_flow_error_t { VXLAN_FLOW_N_ERROR
} |
|
|
static u8 * | format_vxlan_rx_trace (u8 *s, va_list *args) |
|
static u32 | buf_fib_index (vlib_buffer_t *b, u32 is_ip4) |
|
static vxlan_tunnel_t * | vxlan4_find_tunnel (vxlan_main_t *vxm, last_tunnel_cache4 *cache, u32 fib_index, ip4_header_t *ip4_0, vxlan_header_t *vxlan0, vxlan_tunnel_t **stats_t0) |
|
static vxlan_tunnel_t * | vxlan6_find_tunnel (vxlan_main_t *vxm, last_tunnel_cache6 *cache, u32 fib_index, ip6_header_t *ip6_0, vxlan_header_t *vxlan0, vxlan_tunnel_t **stats_t0) |
|
static uword | vxlan_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, u32 is_ip4) |
|
static uword | vxlan4_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
static uword | vxlan6_input (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) |
|
static uword | ip4_vxlan_bypass (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
clib_error_t * | ip4_vxlan_bypass_init (vlib_main_t *vm) |
|
static uword | ip6_vxlan_bypass (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
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) |
|
#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 964 of file decap.c.
#define foreach_vxlan_flow_input_next |
#define vxlan_error |
( |
|
n, |
|
|
|
s |
|
) |
| s, |
Enumerator |
---|
IP_GENEVE_BYPASS_NEXT_DROP |
|
IP_GENEVE_BYPASS_NEXT_GENEVE |
|
IP_GENEVE_BYPASS_N_NEXT |
|
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 |
|
IP_GTPU_BYPASS_NEXT_DROP |
|
IP_GTPU_BYPASS_NEXT_GTPU |
|
IP_GTPU_BYPASS_N_NEXT |
|
Definition at line 502 of file decap.c.
Enumerator |
---|
VXLAN_FLOW_N_ERROR |
|
Definition at line 971 of file decap.c.
Enumerator |
---|
VXLAN_FLOW_N_NEXT |
|
Definition at line 956 of file decap.c.
static u8* format_vxlan_rx_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
Initial value:= {
.name = "ip4-vxlan-bypass",
.vector_size =
sizeof (
u32),
.next_nodes = {
},
}
u8 * format_ip4_forward_next_trace(u8 *s, va_list *args)
static uword ip4_vxlan_bypass(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
(constructor) VLIB_REGISTER_NODE (ip4_vxlan_bypass_node)
Definition at line 898 of file decap.c.
Initial value:= {
.name = "ip6-vxlan-bypass",
.vector_size =
sizeof (
u32),
.next_nodes = {
},
}
static uword ip6_vxlan_bypass(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
u8 * format_ip6_forward_next_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (ip6_vxlan_bypass_node)
Definition at line 929 of file decap.c.
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 1288 of file decap.c.
Initial value:= {
.name = "vxlan4-input",
.vector_size =
sizeof (
u32),
.next_nodes = {
#define _(s,n)
},
}
#define foreach_vxlan_input_next
static uword vxlan4_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
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 22 of file decap.c.
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)
static uword vxlan6_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
(constructor) VLIB_REGISTER_NODE (vxlan6_input_node)
Definition at line 23 of file decap.c.
char* vxlan_error_strings[] |
|
static |
Initial value:= {
#define vxlan_error(n,s)
}
Definition at line 448 of file decap.c.
char* vxlan_flow_error_strings[] |
|
static |
Initial value:= {
#define _(n,s)
}
#define foreach_vxlan_flow_error
Definition at line 979 of file decap.c.