FD.io VPP  v21.01.1
Vector Packet Processing
gbp_bridge_domain.h File Reference
+ Include dependency graph for gbp_bridge_domain.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  gbp_bridge_domain_t_
 A bridge Domain Representation. More...
 
struct  gbp_bridge_domain_db_t
 DB of bridge_domains. More...
 

Typedefs

typedef enum gbp_bridge_domain_flags_t_ gbp_bridge_domain_flags_t
 Bridge Domain Flags. More...
 
typedef struct gbp_bridge_domain_t_ gbp_bridge_domain_t
 A bridge Domain Representation. More...
 
typedef int(* gbp_bridge_domain_cb_t) (gbp_bridge_domain_t *gb, void *ctx)
 
typedef struct gbp_bridge_domain_db_t gbp_bridge_domain_db_t
 DB of bridge_domains. More...
 

Enumerations

enum  gbp_bridge_domain_flags_t_ {
  GBP_BD_FLAG_NONE = 0, GBP_BD_FLAG_DO_NOT_LEARN = (1 << 0), GBP_BD_FLAG_UU_FWD_DROP = (1 << 1), GBP_BD_FLAG_MCAST_DROP = (1 << 2),
  GBP_BD_FLAG_UCAST_ARP = (1 << 3)
}
 Bridge Domain Flags. More...
 

Functions

void gbp_bridge_domain_itf_add (index_t gbdi, u32 sw_if_index, l2_bd_port_type_t type)
 
void gbp_bridge_domain_itf_del (index_t gbdi, u32 sw_if_index, l2_bd_port_type_t type)
 
int gbp_bridge_domain_add_and_lock (u32 bd_id, u32 rd_id, gbp_bridge_domain_flags_t flags, u32 bvi_sw_if_index, u32 uu_fwd_sw_if_index, u32 bm_flood_sw_if_index)
 
void gbp_bridge_domain_unlock (index_t gbi)
 
index_t gbp_bridge_domain_find_and_lock (u32 bd_id)
 
int gbp_bridge_domain_delete (u32 bd_id)
 
index_t gbp_bridge_domain_index (const gbp_bridge_domain_t *)
 
u32 gbp_bridge_domain_get_bd_id (index_t gbdi)
 
void gbp_bridge_domain_walk (gbp_bridge_domain_cb_t bgpe, void *ctx)
 
u8format_gbp_bridge_domain (u8 *s, va_list *args)
 
u8format_gbp_bridge_domain_flags (u8 *s, va_list *args)
 
static gbp_bridge_domain_tgbp_bridge_domain_get (index_t i)
 
static gbp_bridge_domain_tgbp_bridge_domain_get_by_bd_index (u32 bd_index)
 
static gbp_scope_t gbp_bridge_domain_get_scope (u32 bd_index)
 

Variables

gbp_bridge_domain_db_t gbp_bridge_domain_db
 DB of bridge_domains. More...
 
gbp_bridge_domain_tgbp_bridge_domain_pool
 Pool of GBP bridge_domains. More...
 
gbp_scope_tgbp_scope_by_bd_index
 Map of BD index to contract scope. More...
 

Typedef Documentation

◆ gbp_bridge_domain_cb_t

typedef int(* gbp_bridge_domain_cb_t) (gbp_bridge_domain_t *gb, void *ctx)

Definition at line 109 of file gbp_bridge_domain.h.

◆ gbp_bridge_domain_db_t

DB of bridge_domains.

◆ gbp_bridge_domain_flags_t

Bridge Domain Flags.

◆ gbp_bridge_domain_t

A bridge Domain Representation.

This is a standard bridge-domain plus all the attributes it must have to supprt the GBP model.

Enumeration Type Documentation

◆ gbp_bridge_domain_flags_t_

Bridge Domain Flags.

Enumerator
GBP_BD_FLAG_NONE 
GBP_BD_FLAG_DO_NOT_LEARN 
GBP_BD_FLAG_UU_FWD_DROP 
GBP_BD_FLAG_MCAST_DROP 
GBP_BD_FLAG_UCAST_ARP 

Definition at line 28 of file gbp_bridge_domain.h.

Function Documentation

◆ format_gbp_bridge_domain()

u8* format_gbp_bridge_domain ( u8 s,
va_list *  args 
)

Definition at line 168 of file gbp_bridge_domain.c.

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

◆ format_gbp_bridge_domain_flags()

u8* format_gbp_bridge_domain_flags ( u8 s,
va_list *  args 
)

Definition at line 124 of file gbp_bridge_domain.c.

+ Here is the caller graph for this function:

◆ gbp_bridge_domain_add_and_lock()

int gbp_bridge_domain_add_and_lock ( u32  bd_id,
u32  rd_id,
gbp_bridge_domain_flags_t  flags,
u32  bvi_sw_if_index,
u32  uu_fwd_sw_if_index,
u32  bm_flood_sw_if_index 
)

Definition at line 180 of file gbp_bridge_domain.c.

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

◆ gbp_bridge_domain_delete()

int gbp_bridge_domain_delete ( u32  bd_id)

Definition at line 343 of file gbp_bridge_domain.c.

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

◆ gbp_bridge_domain_find_and_lock()

index_t gbp_bridge_domain_find_and_lock ( u32  bd_id)

Definition at line 91 of file gbp_bridge_domain.c.

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

◆ gbp_bridge_domain_get()

static gbp_bridge_domain_t* gbp_bridge_domain_get ( index_t  i)
inlinestatic

Definition at line 128 of file gbp_bridge_domain.h.

+ Here is the caller graph for this function:

◆ gbp_bridge_domain_get_bd_id()

u32 gbp_bridge_domain_get_bd_id ( index_t  gbdi)

Definition at line 68 of file gbp_bridge_domain.c.

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

◆ gbp_bridge_domain_get_by_bd_index()

static gbp_bridge_domain_t* gbp_bridge_domain_get_by_bd_index ( u32  bd_index)
inlinestatic

Definition at line 134 of file gbp_bridge_domain.h.

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

◆ gbp_bridge_domain_get_scope()

static gbp_scope_t gbp_bridge_domain_get_scope ( u32  bd_index)
inlinestatic

Definition at line 143 of file gbp_bridge_domain.h.

+ Here is the caller graph for this function:

◆ gbp_bridge_domain_index()

index_t gbp_bridge_domain_index ( const gbp_bridge_domain_t )

Definition at line 53 of file gbp_bridge_domain.c.

+ Here is the caller graph for this function:

◆ gbp_bridge_domain_itf_add()

void gbp_bridge_domain_itf_add ( index_t  gbdi,
u32  sw_if_index,
l2_bd_port_type_t  type 
)

Definition at line 282 of file gbp_bridge_domain.c.

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

◆ gbp_bridge_domain_itf_del()

void gbp_bridge_domain_itf_del ( index_t  gbdi,
u32  sw_if_index,
l2_bd_port_type_t  type 
)

Definition at line 300 of file gbp_bridge_domain.c.

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

◆ gbp_bridge_domain_unlock()

void gbp_bridge_domain_unlock ( index_t  gbi)

Definition at line 312 of file gbp_bridge_domain.c.

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

◆ gbp_bridge_domain_walk()

void gbp_bridge_domain_walk ( gbp_bridge_domain_cb_t  bgpe,
void *  ctx 
)

Definition at line 362 of file gbp_bridge_domain.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ gbp_bridge_domain_db

gbp_bridge_domain_db_t gbp_bridge_domain_db

DB of bridge_domains.

Definition at line 37 of file gbp_bridge_domain.c.

◆ gbp_bridge_domain_pool

gbp_bridge_domain_t* gbp_bridge_domain_pool

Pool of GBP bridge_domains.

Definition at line 32 of file gbp_bridge_domain.c.

◆ gbp_scope_by_bd_index

gbp_scope_t* gbp_scope_by_bd_index

Map of BD index to contract scope.

Definition at line 42 of file gbp_bridge_domain.c.