15 #ifndef included_vnet_geneve_h 16 #define included_vnet_geneve_h 37 #define SUPPORT_OPTIONS_HEADER 0 44 }) ip4_geneve_header_t;
51 }) ip6_geneve_header_t;
68 }) geneve4_tunnel_key_t;
78 }) geneve6_tunnel_key_t;
101 #if SUPPORT_OPTIONS_HEADER==1 145 #define foreach_geneve_input_next \ 146 _(DROP, "error-drop") \ 147 _(L2_INPUT, "l2-input") 151 #define _(s,n) GENEVE_INPUT_NEXT_##s, 159 #define geneve_error(n,s) GENEVE_ERROR_##n,
#define CLIB_CACHE_LINE_ALIGN_MARK(mark)
void vnet_int_geneve_bypass_mode(u32 sw_if_index, u8 is_ip6, u8 is_enable)
fib_node_t node
Linkage into the FIB object graph.
u8 * format_geneve_encap_trace(u8 *s, va_list *args)
u32 * tunnel_index_by_sw_if_index
geneve_tunnel_t * tunnels
#define foreach_geneve_input_next
vlib_node_registration_t geneve6_encap_node
(constructor) VLIB_REGISTER_NODE (geneve6_encap_node)
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
An node in the FIB graph.
vlib_node_registration_t geneve4_input_node
(constructor) VLIB_REGISTER_NODE (geneve4_input_node)
u32 fib_node_index_t
A typedef of a node index.
u32 adj_index_t
An index for adjacencies.
uword * geneve4_tunnel_by_key
adj_index_t mcast_adj_index
u32 sibling_index
The tunnel is a child of the FIB entry for its desintion.
struct _vlib_node_registration vlib_node_registration_t
vlib_node_registration_t geneve4_encap_node
(constructor) VLIB_REGISTER_NODE (geneve4_encap_node)
int vnet_geneve_add_del_tunnel(vnet_geneve_add_del_tunnel_args_t *a, u32 *sw_if_indexp)
uword * geneve6_tunnel_by_key
vlib_node_registration_t geneve6_input_node
(constructor) VLIB_REGISTER_NODE (geneve6_input_node)
fib_node_index_t fib_entry_index
geneve_main_t geneve_main
vl_api_interface_index_t sw_if_index
typedef CLIB_PACKED(struct { ip4_header_t ip4;udp_header_t udp;geneve_header_t geneve;}) ip4_geneve_header_t