FD.io VPP  v18.04-17-g3a0d853
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

Refernece counting lock types on the tenant.

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

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

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

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:

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:

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.

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:

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:

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:

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: