|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
16 #ifndef __BIER_DISP_TABLE_H__
17 #define __BIER_DISP_TABLE_H__
#define BIER_BP_MAX
The maximum BP that can be assigned.
static bier_disp_table_t * bier_disp_table_get(index_t bdti)
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
index_t bdt_db[BIER_BP_MAX]
The lookup DB based on sender BP.
u16 bier_hdr_src_id_t
An identifier of the sender of BIER packets this is the source of the 'tree' - the BFIR.
void(* bier_disp_table_walk_fn_t)(const bier_disp_table_t *bdt, const bier_disp_entry_t *bde, u16 bp, void *ctx)
Types and functions to walk all the entries in one BIER Table.
u32 bier_bp_t
A bit positon as assigned to egress PEs.
bier_disposition : The BIER disposition object
u16 bdt_locks
number of locks on the table
struct bier_disp_table_t_ bier_disp_table_t
A protocol Independent IP multicast FIB table.
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
index_t bier_disp_table_add_or_lock(u32 table_id)
index_t bier_disp_table_find(u32 table_id)
bier_disp_table_t * bier_disp_table_pool
Get a pointer to a FIB table.
enum bier_hdr_proto_id_t_ bier_hdr_proto_id_t
BIER header protocol payload types.
void bier_disp_table_unlock(index_t bdti)
u8 * format_bier_disp_table(u8 *s, va_list *ap)
Format the description/name of the table.
A representation of a path as described by a route producer.
void bier_disp_table_entry_path_remove(u32 table_id, bier_bp_t src, bier_hdr_proto_id_t payload_proto, const fib_route_path_t *paths)
A protocol Independent IP multicast FIB table.
void bier_disp_table_walk(u32 table_id, bier_disp_table_walk_fn_t fn, void *ctx)
CLIB_CACHE_LINE_ALIGN_MARK(cacheline0)
Required for pool_get_aligned.
static index_t bier_disp_table_lookup(index_t bdti, bier_hdr_src_id_t src)
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
void bier_disp_table_contribute_forwarding(index_t bdti, dpo_id_t *dpo)
void bier_disp_table_entry_path_add(u32 table_id, bier_bp_t src, bier_hdr_proto_id_t payload_proto, const fib_route_path_t *rpath)
u32 bdt_table_id
Table ID (hash key) for this FIB.
void bier_disp_table_unlock_w_table_id(u32 table_id)
void bier_disp_table_lock(index_t bdti)