30 #ifndef __BIER_FMASK_H__    31 #define __BIER_FMASK_H__    72 #define BIER_FMASK_ATTR_NAMES {                         \    73      [BIER_FMASK_ATTR_FORWARDING] = "forwarding",       \    74      [BIER_FMASK_ATTR_DISP] = "disposition",            \    75      [BIER_FMASK_ATTR_MPLS] = "mpls",                   \    78 #define FOR_EACH_BIER_FMASK_ATTR(_item)          \    79     for (_item =  BIER_FMASK_ATTR_FIRST;         \    80          _item <= BIER_FMASK_ATTR_LAST;          \ void bier_fmask_lock(index_t bfmi)
 
u32 bfmb_count
The total number of references to bits set on this mask in effect a count of the number of children...
 
#define CLIB_CACHE_LINE_ALIGN_MARK(mark)
 
A representation of a path as described by a route producer. 
 
u8 * format_bier_fmask(u8 *s, va_list *ap)
 
struct bier_fmask_t_ bier_fmask_t
An outgoing BIER mask. 
 
bier_fmask_id_t * bfm_id
The key to this fmask - used for store/lookup in the DB. 
 
static bier_fmask_t * bier_fmask_get(u32 index)
 
bier_fmask_t * bier_fmask_pool
 
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
 
bier_fmask : The BIER fmask 
 
bier_fmask_bits_t bfm_bits
The bits, and their ref counts, that are set on this mask This mask changes as BIER entries link to a...
 
u32 mpls_label_t
A label value only, i.e. 
 
index_t bier_fmask_create_and_lock(const bier_fmask_id_t *fmid, const fib_route_path_t *rpath)
 
fib_node_index_t bfm_pl
The path-list. 
 
A Variable length BitString. 
 
void bier_fmask_unlink(index_t bfmi, bier_bp_t bp)
 
u32 bier_bp_t
A bit positon as assigned to egress PEs. 
 
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
 
#define pool_elt_at_index(p, i)
Returns pointer to element at given index. 
 
void bier_fmask_child_remove(fib_node_index_t fib_entry_index, u32 sibling_index)
 
struct bier_fmask_bits_t_ bier_fmask_bits_t
bier_fmask : The BIER fmask 
 
An node in the FIB graph. 
 
void bier_fmask_contribute_forwarding(index_t bfmi, dpo_id_t *dpo)
 
mpls_label_t bfm_label
The MPLS label to paint on the header during forwarding. 
 
void bier_fmask_encode(index_t bfmi, bier_table_id_t *btid, fib_route_path_t *rpath)
 
void bier_fmask_get_stats(index_t bfmi, u64 *packets, u64 *bytes)
 
u32 bier_fmask_child_add(fib_node_index_t fib_entry_index, fib_node_type_t child_type, fib_node_index_t child_index)
 
u32 fib_node_index_t
A typedef of a node index. 
 
bier_fmask_flags_t bfm_flags
operational/state flags on the fmask 
 
void bier_fmask_link(index_t bfmi, bier_bp_t bp)
 
fib_node_t bfm_node
The BIER fmask is a child of a FIB entry in the FIB graph. 
 
A key/ID for a BIER forwarding Mas (FMask). 
 
enum bier_fmask_flags_t_ bier_fmask_flags_t
 
bier_fmask_attributes_t_
Flags on fmask. 
 
bier_bit_string_t bfmb_input_reset_string
each bit in the mask needs to be reference counted and set/cleared on the 0->1 and 1->0 transitions...
 
enum fib_node_type_t_ fib_node_type_t
The types of nodes in a FIB graph. 
 
dpo_id_t bfm_dpo
The index into the adj table for the adj that this fmask resolves via. 
 
enum bier_fmask_attributes_t_ bier_fmask_attributes_t
Flags on fmask. 
 
void bier_fmask_unlock(index_t bfmi)
 
u32 bfm_sibling
the index of this fmask in the parent's child list.