![]() |
FD.io VPP
v18.07.1-11-g31aa6f2
Vector Packet Processing
|
Functions for decapsulating VXLAN GPE tunnels. More...
Go to the source code of this file.
Data Structures | |
struct | vxlan_gpe_rx_trace_t |
Struct for VXLAN GPE decap packet tracing. More... | |
Macros | |
#define | vxlan_gpe_error(n, s) s, |
Variables | |
vlib_node_registration_t | vxlan_gpe_input_node |
static char * | vxlan_gpe_error_strings [] |
VXLAN GPE error strings. More... | |
vlib_node_registration_t | vxlan4_gpe_input_node |
(constructor) VLIB_REGISTER_NODE (vxlan4_gpe_input_node) More... | |
vlib_node_registration_t | vxlan6_gpe_input_node |
(constructor) VLIB_REGISTER_NODE (vxlan6_gpe_input_node) More... | |
vlib_node_registration_t | ip4_vxlan_gpe_bypass_node |
(constructor) VLIB_REGISTER_NODE (ip4_vxlan_gpe_bypass_node) More... | |
vlib_node_registration_t | ip6_vxlan_gpe_bypass_node |
(constructor) VLIB_REGISTER_NODE (ip6_vxlan_gpe_bypass_node) More... | |
Functions for decapsulating VXLAN GPE tunnels.
Definition in file decap.c.
#define vxlan_gpe_error | ( | n, | |
s | |||
) | s, |
|
static |
clib_error_t* ip4_vxlan_gpe_bypass_init | ( | vlib_main_t * | vm | ) |
|
static |
clib_error_t* ip6_vxlan_gpe_bypass_init | ( | vlib_main_t * | vm | ) |
|
inlinestatic |
VLIB_NODE_FUNCTION_MULTIARCH | ( | vxlan4_gpe_input_node | , |
vxlan4_gpe_input | |||
) |
VLIB_NODE_FUNCTION_MULTIARCH | ( | vxlan6_gpe_input_node | , |
vxlan6_gpe_input | |||
) |
|
static |
Graph processing dispatch function for IPv4 VXLAN GPE.
vxlan4-gpe-input
*vm | |
*node | |
*from_frame |
Definition at line 677 of file decap.c.
|
static |
Graph processing dispatch function for IPv6 VXLAN GPE.
vxlan6-gpe-input
*vm | |
*node | |
*from_frame |
Definition at line 713 of file decap.c.
|
inlinestatic |
Common processing for IPv4 and IPv6 VXLAN GPE decap dispatch functions.
It is worth noting that other than trivial UDP forwarding (transit), VXLAN GPE tunnels are "terminate local". This means that there is no "TX" interface for this decap case, so that field in the buffer_metadata can be "used for something else". The something else in this case is, for the IPv4/IPv6 inner-packet type case, the FIB index used to look up the inner-packet's adjacency.
vnet_buffer(b0)->sw_if_index[VLIB_TX] = t0->decap_fib_index;
*vm | |
*node | |
*from_frame | |
is_ip4 |
ip[46] lookup in the configured FIB
Definition at line 108 of file decap.c.
vlib_node_registration_t ip4_vxlan_gpe_bypass_node |
(constructor) VLIB_REGISTER_NODE (ip4_vxlan_gpe_bypass_node)
vlib_node_registration_t ip6_vxlan_gpe_bypass_node |
(constructor) VLIB_REGISTER_NODE (ip6_vxlan_gpe_bypass_node)
vlib_node_registration_t vxlan4_gpe_input_node |
(constructor) VLIB_REGISTER_NODE (vxlan4_gpe_input_node)
vlib_node_registration_t vxlan6_gpe_input_node |
(constructor) VLIB_REGISTER_NODE (vxlan6_gpe_input_node)
|
static |
vlib_node_registration_t vxlan_gpe_input_node |