FD.io VPP  v21.01.1
Vector Packet Processing
lisp_gpe_tenant.h File Reference
+ Include dependency graph for lisp_gpe_tenant.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_tenant_t_
 Representation of the data associated with a LISP overlay tenant. More...
 

Typedefs

typedef enum lisp_gpe_tenant_lock_t_ lisp_gpe_tenant_lock_t
 Refernece counting lock types on the tenant. More...
 
typedef struct lisp_gpe_tenant_t_ lisp_gpe_tenant_t
 Representation of the data associated with a LISP overlay tenant. More...
 

Enumerations

enum  lisp_gpe_tenant_lock_t_ { LISP_GPE_TENANT_LOCK_L2_IFACE, LISP_GPE_TENANT_LOCK_L3_IFACE, LISP_GPE_TENANT_LOCK_NUM }
 Refernece counting lock types on the tenant. More...
 

Functions

u32 lisp_gpe_tenant_find_or_create (u32 vni)
 Find or create a tenant for the given VNI. More...
 
u32 lisp_gpe_tenant_l3_iface_add_or_lock (u32 vni, u32 vrf, u8 with_default_route)
 Add/create and lock a new or find and lock the existing L3 interface for the tenant. More...
 
void lisp_gpe_tenant_l3_iface_unlock (u32 vni)
 Release the lock held on the tenant's L3 interface. More...
 
u32 lisp_gpe_tenant_l2_iface_add_or_lock (u32 vni, u32 vrf)
 Add/create and lock a new or find and lock the existing L2 interface for the tenant. More...
 
void lisp_gpe_tenant_l2_iface_unlock (u32 vni)
 Release the lock held on the tenant's L3 interface. More...
 
const lisp_gpe_tenant_tlisp_gpe_tenant_get (u32 index)
 get a const pointer to the tenant object More...
 
void lisp_gpe_tenant_flush (void)
 Flush/delete ALL the tenants. More...
 

Typedef Documentation

◆ lisp_gpe_tenant_lock_t

Refernece counting lock types on the tenant.

When all of these counters drop to zero, we no longer need the tenant.

◆ lisp_gpe_tenant_t

Representation of the data associated with a LISP overlay tenant.

This object exists to manage the shared resources of the L2 and L3 interface of a given tenant.

Enumeration Type Documentation

◆ lisp_gpe_tenant_lock_t_

Refernece counting lock types on the tenant.

When all of these counters drop to zero, we no longer need the tenant.

Enumerator
LISP_GPE_TENANT_LOCK_L2_IFACE 
LISP_GPE_TENANT_LOCK_L3_IFACE 
LISP_GPE_TENANT_LOCK_NUM 

Definition at line 25 of file lisp_gpe_tenant.h.

Function Documentation

◆ lisp_gpe_tenant_find_or_create()

u32 lisp_gpe_tenant_find_or_create ( u32  vni)

Find or create a tenant for the given VNI.

Definition at line 67 of file lisp_gpe_tenant.c.

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

◆ lisp_gpe_tenant_flush()

void lisp_gpe_tenant_flush ( void  )

Flush/delete ALL the tenants.

Definition at line 261 of file lisp_gpe_tenant.c.

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

◆ lisp_gpe_tenant_get()

const lisp_gpe_tenant_t* lisp_gpe_tenant_get ( u32  index)

get a const pointer to the tenant object

Definition at line 252 of file lisp_gpe_tenant.c.

◆ lisp_gpe_tenant_l2_iface_add_or_lock()

u32 lisp_gpe_tenant_l2_iface_add_or_lock ( u32  vni,
u32  bd_id 
)

Add/create and lock a new or find and lock the existing L2 interface for the tenant.

vni The tenant's VNI

Parameters
table_idthe Tenant's L2 Bridge Domain ID.
Returns
the SW IF index of the L2 interface

Definition at line 182 of file lisp_gpe_tenant.c.

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

◆ lisp_gpe_tenant_l2_iface_unlock()

void lisp_gpe_tenant_l2_iface_unlock ( u32  vni)

Release the lock held on the tenant's L3 interface.

Definition at line 215 of file lisp_gpe_tenant.c.

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

◆ lisp_gpe_tenant_l3_iface_add_or_lock()

u32 lisp_gpe_tenant_l3_iface_add_or_lock ( u32  vni,
u32  table_id,
u8  with_default_route 
)

Add/create and lock a new or find and lock the existing L3 interface for the tenant.

vni The tenant's VNI

Parameters
table_idthe Tenant's L3 table ID.
with_default_routeInstall default route for the interface
Returns
the SW IF index of the L3 interface

Definition at line 110 of file lisp_gpe_tenant.c.

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

◆ lisp_gpe_tenant_l3_iface_unlock()

void lisp_gpe_tenant_l3_iface_unlock ( u32  vni)

Release the lock held on the tenant's L3 interface.

Definition at line 139 of file lisp_gpe_tenant.c.

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