|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
148 ASSERT (!
"remove non-existent fmask");
162 if (WALK_STOP == fn(*bfmi, ctx))
u32 bier_fmask_db_find(index_t bti, const fib_route_path_t *rpath)
@ BIER_HDR_O_MPLS
BIER Header in MPLS networks.
ip46_address_t frp_addr
The next-hop address.
u32 bier_fmask_db_find_or_create_and_lock(index_t bti, const fib_route_path_t *rpath)
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
static bier_fmask_db_t bier_fmask_db
Single fmask DB.
void bier_fmask_db_walk(bier_fmask_walk_fn_t fn, void *ctx)
Global Table of fmask objects The key into this table includes the table's key and the fmask's key,...
fib_mpls_label_t * frp_label_stack
The outgoing MPLS label Stack.
static void bier_fmask_db_mk_key(index_t bti, const fib_route_path_t *rpath, bier_fmask_id_t *key)
@ BIER_HDR_O_OTHER
BIER header in non-MPLS networks.
void bier_fmask_db_remove(const bier_fmask_id_t *fmid)
clib_error_t * bier_fmask_db_module_init(vlib_main_t *vm)
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
void bier_fmask_lock(index_t bfmi)
#define hash_create_mem(elts, key_bytes, value_bytes)
#define hash_set_mem(h, key, value)
#define hash_foreach(key_var, value_var, h, body)
index_t bier_fmask_create_and_lock(const bier_fmask_id_t *fmid, const fib_route_path_t *rpath)
@ FIB_ROUTE_PATH_UDP_ENCAP
A path via a UDP encap object.
@ BIER_NH_UDP
BIER header in non-MPLS networks.
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,...
walk_rc_t(* bier_fmask_walk_fn_t)(index_t bfmi, void *ctx)
Walk all the BIER fmasks.
bier_fmask_id_t * bfm_id
The key to this fmask - used for store/lookup in the DB.
u32 bier_fmask_get_index(const bier_fmask_t *bfm)
fib_route_path_flags_t frp_flags
flags on the path
#define hash_get_mem(h, key)
#define VLIB_INIT_FUNCTION(x)
A representation of a path as described by a route producer.
#define hash_unset(h, key)
clib_memset(h->entries, 0, sizeof(h->entries[0]) *entries)
clib_error_t *() vlib_init_function_t(struct vlib_main_t *vm)
struct bier_fmask_t_ * bfdb_pool
Pool for memory.
@ BIER_NH_IP
BIER Header in MPLS networks.
uword * bfdb_hash
hash table for underlying storage
u32 frp_udp_encap_id
UDP encap ID.
#define INDEX_INVALID
Invalid index - used when no index is known blazoned capitals INVALID speak volumes where ~0 does not...
A key/ID for a BIER forwarding Mas (FMask).
static bier_fmask_t * bier_fmask_get(u32 index)