20 #ifndef included_vnet_lisp_gpe_h 21 #define included_vnet_lisp_gpe_h 41 }) ip4_udp_lisp_gpe_header_t;
50 }) ip6_udp_lisp_gpe_header_t;
53 #define foreach_lisp_gpe_ip_input_next \ 54 _(DROP, "error-drop") \ 55 _(IP4_INPUT, "ip4-input") \ 56 _(IP6_INPUT, "ip6-input") \ 57 _(L2_INPUT, "l2-input") 62 #define _(s,n) LISP_GPE_INPUT_NEXT_##s, 70 #define lisp_gpe_error(n,s) LISP_GPE_ERROR_##n, 115 BVT (clib_bihash) l2_fib;
152 u32 overlay_table_id,
u32 vni);
223 #define foreach_lgpe_ip4_lookup_next \ 224 _(DROP, "error-drop") \ 225 _(LISP_CP_LOOKUP, "lisp-cp-lookup") 229 #define _(sym,str) LGPE_IP4_LOOKUP_NEXT_##sym, 235 #define foreach_lgpe_ip6_lookup_next \ 236 _(DROP, "error-drop") \ 237 _(LISP_CP_LOOKUP, "lisp-cp-lookup") 241 #define _(sym,str) LGPE_IP6_LOOKUP_NEXT_##sym,
#define foreach_lisp_gpe_ip_input_next
u32 * free_tunnel_hw_if_indices
Free vlib hw_if_indices.
lisp_gpe_main_t lisp_gpe_main
LISP-GPE global state.
u32 encap_fib_index
FIB index to lookup remote locator at encap.
clib_error_t * vnet_lisp_gpe_enable_disable(vnet_lisp_gpe_enable_disable_args_t *a)
Enable/disable LISP-GPE.
struct _vlib_node_registration vlib_node_registration_t
vnet_hw_interface_class_t lisp_gpe_hw_class
uword * vni_by_sw_if_index
void lisp_gpe_del_l2_iface(lisp_gpe_main_t *lgm, u32 vni, u32 bd_id)
Add/del LISP-GPE interface.
vlib_node_registration_t lisp_gpe_ip4_input_node
(constructor) VLIB_REGISTER_NODE (lisp_gpe_ip4_input_node)
static lisp_gpe_main_t * vnet_lisp_gpe_get_main()
u16 bd_id
bridge domain id
typedef CLIB_PACKED(struct{ip4_header_t ip4;udp_header_t udp;lisp_gpe_header_t lisp;}) ip4_udp_lisp_gpe_header_t
IP4-UDP-LISP encap header.
uword * lisp_gpe_fwd_entries
DB of all forwarding entries.
int vlib_main(vlib_main_t *volatile vm, unformat_input_t *input)
struct tunnel_lookup tunnel_lookup_t
u32 lisp_gpe_add_l3_iface(lisp_gpe_main_t *lgm, u32 vni, u32 bd_id)
Add/del LISP-GPE L3 interface.
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
u32 table_id
table (vrf) id
vlib_node_registration_t lisp_gpe_ip6_input_node
(constructor) VLIB_REGISTER_NODE (lisp_gpe_ip6_input_node)
LISP-GPE packet header structure.
u8 * format_lisp_gpe_header_with_length(u8 *s, va_list *args)
u8 is_negative
type of mapping
uword * sw_if_index_by_vni
lookup decap tunnel termination sw_if_index by vni and vice versa
u32 vni
VNI/tenant id in HOST byte order.
void lisp_gpe_del_l3_iface(lisp_gpe_main_t *lgm, u32 vni, u32 bd_id)
lisp_gpe_input_next_t
Enum of possible next nodes post LISP-GPE decap.
u32 decap_fib_index
FIB index to lookup inner IP at decap.
enum lgpe_ip6_lookup_next lgpe_ip6_lookup_next_t
#define foreach_lgpe_ip4_lookup_next
struct _gid_address_t gid_address_t
enum lgpe_ip4_lookup_next lgpe_ip4_lookup_next_t
uword * hw_if_index_by_dp_table
Lookup lisp-gpe interfaces by dp table (eg.
#define foreach_lgpe_ip6_lookup_next
gid_address_t rmt_eid
remote eid
u32 lisp_gpe_l3_iface_find_or_create(lisp_gpe_main_t *lgm, u32 overlay_table_id, u32 vni)
negative_fwd_actions_e action
action for negative mappings
struct lisp_gpe_fwd_entry_t_ * lisp_fwd_entry_pool
A Pool of all LISP forwarding entries.
u32 lisp_gpe_add_l2_iface(lisp_gpe_main_t *lgm, u32 vni, u32 bd_id)
Add/del LISP-GPE L2 interface.
struct _vnet_hw_interface_class vnet_hw_interface_class_t
tunnel_lookup_t l3_ifaces
u8 * format_vnet_lisp_gpe_status(u8 *s, va_list *args)
Format LISP-GPE status.
u32 dp_table
generic access
locator_pair_t * locator_pairs
vector of locator pairs
u8 vnet_lisp_gpe_enable_disable_status(void)
Read LISP-GPE status.
gid_address_t lcl_eid
local eid