FD.io VPP  v21.01.1
Vector Packet Processing
lisp_gpe_sub_interface.h File Reference

LISP sub-interfaces. More...

+ Include dependency graph for lisp_gpe_sub_interface.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  lisp_gpe_sub_interface_key_t_
 A Key for lookup in the L£ sub-interface DB. More...
 
struct  lisp_gpe_sub_interface_t_
 A LISP L3 sub-interface. More...
 

Typedefs

typedef struct lisp_gpe_sub_interface_key_t_ lisp_gpe_sub_interface_key_t
 A Key for lookup in the L£ sub-interface DB. More...
 
typedef struct lisp_gpe_sub_interface_t_ lisp_gpe_sub_interface_t
 A LISP L3 sub-interface. More...
 

Functions

index_t lisp_gpe_sub_interface_find_or_create_and_lock (const ip_address_t *lrloc, u32 eid_table_id, u32 vni)
 
u8format_lisp_gpe_sub_interface (u8 *s, va_list *ap)
 
void lisp_gpe_sub_interface_unlock (index_t itf)
 
const lisp_gpe_sub_interface_tlisp_gpe_sub_interface_get (index_t itf)
 
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. More...
 
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. More...
 

Variables

uwordlisp_gpe_sub_interfaces_sw_if_index
 A DB of all L3 sub-interfaces. More...
 

Detailed Description

LISP sub-interfaces.

Definition in file lisp_gpe_sub_interface.h.

Typedef Documentation

◆ lisp_gpe_sub_interface_key_t

A Key for lookup in the L£ sub-interface DB.

◆ lisp_gpe_sub_interface_t

A LISP L3 sub-interface.

A LISP sub-interface is a multi-access interface, whose local address is a single local-RLOC. Adjacencies that form on this sub-interface, represent remote RLOCs. This is analogous to an ethernet interface. As with all interface types it can only be present in one VRF, hence a LISP sub-interface is per-local-rloc and per-VNI.

Function Documentation

◆ format_lisp_gpe_sub_interface()

u8* format_lisp_gpe_sub_interface ( u8 s,
va_list *  ap 
)

Definition at line 221 of file lisp_gpe_sub_interface.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lisp_gpe_sub_interface_find_ip4()

static index_t lisp_gpe_sub_interface_find_ip4 ( const ip4_address_t addr,
u32  vni 
)
inlinestatic

Get a VNET L3 interface matching the local-RLOC and VNI Called from the data-plane.

Definition at line 132 of file lisp_gpe_sub_interface.h.

◆ lisp_gpe_sub_interface_find_ip6()

static u32 lisp_gpe_sub_interface_find_ip6 ( const ip6_address_t *  addr,
u32  vni 
)
inlinestatic

Get a VNET L3 interface matching the local-RLOC and VNI Called from the data-plane.

Definition at line 108 of file lisp_gpe_sub_interface.h.

◆ lisp_gpe_sub_interface_find_or_create_and_lock()

index_t lisp_gpe_sub_interface_find_or_create_and_lock ( const ip_address_t lrloc,
u32  eid_table_id,
u32  vni 
)

Definition at line 122 of file lisp_gpe_sub_interface.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lisp_gpe_sub_interface_get()

const lisp_gpe_sub_interface_t* lisp_gpe_sub_interface_get ( index_t  itf)

Definition at line 215 of file lisp_gpe_sub_interface.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lisp_gpe_sub_interface_unlock()

void lisp_gpe_sub_interface_unlock ( index_t  itf)

Definition at line 189 of file lisp_gpe_sub_interface.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ lisp_gpe_sub_interfaces_sw_if_index

uword* lisp_gpe_sub_interfaces_sw_if_index

A DB of all L3 sub-interfaces.

The key is:{VNI,l-RLOC}

A DB of all L3 sub-interfaces.

The key is:{VNI,l-RLOC} Used in the data-plane for interface lookup on decap.

Definition at line 39 of file lisp_gpe_sub_interface.c.