15 #ifndef included_vnet_vxlan_gbp_h 16 #define included_vnet_vxlan_gbp_h 40 }) ip4_vxlan_gbp_header_t;
46 }) ip6_vxlan_gbp_header_t;
133 #define foreach_vxlan_gbp_input_next \ 134 _(DROP, "error-drop") \ 135 _(PUNT, "punt-dispatch") \ 136 _(L2_INPUT, "l2-input") \ 137 _(IP4_INPUT, "ip4-input") \ 138 _(IP6_INPUT, "ip6-input") 142 #define _(s,n) VXLAN_GBP_INPUT_NEXT_##s, 150 #define vxlan_gbp_error(n,s) VXLAN_GBP_ERROR_##n, 152 #undef vxlan_gbp_error
typedef CLIB_PACKED(struct { ip4_header_t ip4;udp_header_t udp;vxlan_gbp_header_t vxlan_gbp;}) ip4_vxlan_gbp_header_t
#define CLIB_CACHE_LINE_ALIGN_MARK(mark)
clib_bihash_24_8_t vxlan6_gbp_tunnel_by_key
u8 * format_vxlan_gbp_encap_trace(u8 *s, va_list *args)
#define VLIB_BUFFER_PRE_DATA_SIZE
#define FIB_PROTOCOL_IP_MAX
Definition outside of enum so it does not need to be included in non-defaulted switch statements...
enum vxlan_gbp_tunnel_mode_t_ vxlan_gbp_tunnel_mode_t
#define foreach_vxlan_gbp_input_next
int vnet_vxlan_gbp_tunnel_del(u32 sw_if_indexp)
static u32 vxlan_gbp_tunnel_by_sw_if_index(u32 sw_if_index)
int vnet_vxlan_gbp_tunnel_add_del(vnet_vxlan_gbp_tunnel_add_del_args_t *a, u32 *sw_if_indexp)
void vnet_int_vxlan_gbp_bypass_mode(u32 sw_if_index, u8 is_ip6, u8 is_enable)
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
clib_bihash_16_8_t vxlan4_gbp_tunnel_by_key
adj_index_t mcast_adj_index
vlib_node_registration_t vxlan6_gbp_encap_node
(constructor) VLIB_REGISTER_NODE (vxlan6_gbp_encap_node)
vlib_node_registration_t vxlan4_gbp_input_node
(constructor) VLIB_REGISTER_NODE (vxlan4_gbp_input_node)
u32 sibling_index
The tunnel is a child of the FIB entry for its destination.
An node in the FIB graph.
fib_node_index_t fib_entry_index
void vxlan_gbp_register_udp_ports(void)
u8 * format_vxlan_gbp_tunnel_mode(u8 *s, va_list *args)
clib_bihash_kv_24_8_t vxlan6_gbp_tunnel_key_t
clib_bihash_kv_16_8_t vxlan4_gbp_tunnel_key_t
vxlan_gbp_main_t vxlan_gbp_main
u32 fib_node_index_t
A typedef of a node index.
u32 adj_index_t
An index for adjacencies.
uword encap_next_node
Next node after VxLAN-GBP encap.
vxlan_gbp_input_next_t(* vxlan_bgp_no_tunnel_t)(vlib_buffer_t *b, u32 thread_index, u8 is_ip6)
Call back function packets that do not match a configured tunnel.
fib_node_t node
Linkage into the FIB object graph.
struct _vlib_node_registration vlib_node_registration_t
vlib_node_registration_t vxlan6_gbp_input_node
(constructor) VLIB_REGISTER_NODE (vxlan6_gbp_input_node)
#define vnet_declare_rewrite(total_bytes)
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant)
VLIB buffer representation.
vxlan_gbp_tunnel_t * tunnels
vxlan_gbp_tunnel_mode_t mode
Tunnel mode.
void vxlan_gbp_unregister_udp_ports(void)
enum vlib_punt_reason_t_ vlib_punt_reason_t
The 'syatem' defined punt reasons.
vxlan_gbp_tunnel_mode_t mode
vlib_node_registration_t vxlan4_gbp_encap_node
(constructor) VLIB_REGISTER_NODE (vxlan4_gbp_encap_node)
u32 * tunnel_index_by_sw_if_index