148         ASSERT (!
"remove non-existent fmask");
   162         if (WALK_STOP == fn(*bfmi, ctx))
 Global Table of fmask objects The key into this table includes the table's key and the fmask's key...
 
walk_rc_t(* bier_fmask_walk_fn_t)(index_t bfmi, void *ctx)
Walk all the BIER fmasks. 
 
ip46_address_t frp_addr
The next-hop address. 
 
#define hash_unset(h, key)
 
void bier_fmask_lock(index_t bfmi)
 
u32 bier_fmask_db_find_or_create_and_lock(index_t bti, const fib_route_path_t *rpath)
 
u32 bfmi_id
ID of the next-hop object, e.g. 
 
A representation of a path as described by a route producer. 
 
index_t bier_fmask_create_and_lock(const bier_fmask_id_t *fmid, const fib_route_path_t *rpath)
 
bier_fmask_id_t * bfm_id
The key to this fmask - used for store/lookup in the DB. 
 
clib_memset(h->entries, 0, sizeof(h->entries[0]) *entries)
 
static bier_fmask_t * bier_fmask_get(u32 index)
 
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
 
BIER header in non-MPLS networks. 
 
static bier_fmask_db_t bier_fmask_db
Single fmask DB. 
 
#define hash_set_mem(h, key, value)
 
void bier_fmask_db_walk(bier_fmask_walk_fn_t fn, void *ctx)
 
clib_error_t * bier_fmask_db_module_init(vlib_main_t *vm)
 
#define VLIB_INIT_FUNCTION(x)
 
uword * bfdb_hash
hash table for underlying storage 
 
#define hash_foreach(key_var, value_var, h, body)
 
A path via a UDP encap object. 
 
#define hash_create_mem(elts, key_bytes, value_bytes)
 
u32 bier_fmask_get_index(const bier_fmask_t *bfm)
 
static void bier_fmask_db_mk_key(index_t bti, const fib_route_path_t *rpath, bier_fmask_id_t *key)
 
fib_mpls_label_t * frp_label_stack
The outgoing MPLS label Stack. 
 
void bier_fmask_db_remove(const bier_fmask_id_t *fmid)
 
BIER Header in MPLS networks. 
 
struct bier_fmask_t_ * bfdb_pool
Pool for memory. 
 
BIER header in non-MPLS networks. 
 
A key/ID for a BIER forwarding Mas (FMask). 
 
fib_route_path_flags_t frp_flags
flags on the path 
 
bier_hdr_type_t bfmi_hdr_type
Type of BIER header this fmask supports. 
 
struct bier_fmask_db_t_ bier_fmask_db_t
Global Table of fmask objects The key into this table includes the table's key and the fmask's key...
 
index_t bfmi_bti
The BIER table this fmask is in. 
 
#define INDEX_INVALID
Invalid index - used when no index is known blazoned capitals INVALID speak volumes where ~0 does not...
 
bier_nh_type_t bfmi_nh_type
Union discriminator. 
 
BIER Header in MPLS networks. 
 
#define hash_get_mem(h, key)
 
u32 bier_fmask_db_find(index_t bti, const fib_route_path_t *rpath)
 
u32 frp_udp_encap_id
UDP encap ID. 
 
ip46_address_t bfmi_nh
next-hop of the peer