21 #ifndef __LISP_GPE_SUB_INTERFACE_H__ 22 #define __LISP_GPE_SUB_INTERFACE_H__
void lisp_gpe_sub_interface_unlock(index_t itf)
u32 locks
A reference counting lock on the number of users of this interface.
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
struct lisp_gpe_sub_interface_key_t_ lisp_gpe_sub_interface_key_t
A Key for lookup in the L£ sub-interface DB.
#define ip_addr_version(_a)
ip_address_t local_rloc
The local-RLOC.
u32 main_sw_if_index
The SW IF index assigned to the main interface of which this is a sub.
const lisp_gpe_sub_interface_t * lisp_gpe_sub_interface_get(index_t itf)
u32 sw_if_index
The SW if index assigned to this sub-interface.
A Key for lookup in the L£ sub-interface DB.
lisp_gpe_sub_interface_key_t * key
The interface's key inthe DB; rloc & vni; The key is allocated from the heap so it can be used in the...
u32 eid_table_id
The Table-ID in the overlay that this interface is bound to.
uword * lisp_gpe_sub_interfaces_sw_if_index
A DB of all L3 sub-interfaces.
static u32 lisp_gpe_sub_interface_find_ip6(const ip6_address_t *addr, u32 vni)
Get a VNET L3 interface matching the local-RLOC and VNI Called from the data-plane.
static index_t lisp_gpe_sub_interface_find_ip4(const ip4_address_t *addr, u32 vni)
Get a VNET L3 interface matching the local-RLOC and VNI Called from the data-plane.
ip_address_family_t version
u8 * format_lisp_gpe_sub_interface(u8 *s, va_list *ap)
struct lisp_gpe_sub_interface_t_ lisp_gpe_sub_interface_t
A LISP L3 sub-interface.
#define INDEX_INVALID
Invalid index - used when no index is known blazoned capitals INVALID speak volumes where ~0 does not...
#define hash_get_mem(h, key)
index_t lisp_gpe_sub_interface_find_or_create_and_lock(const ip_address_t *lrloc, u32 eid_table_id, u32 vni)