|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
24 #ifndef __BIER_IMPOSITION_H__
25 #define __BIER_IMPOSITION_H__
struct bier_imp_t_ bier_imp_t
bier_imposition : The BIER imposition object
enum dpo_proto_t_ dpo_proto_t
Data path protocol.
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
static bier_imp_t * bier_imp_get(index_t bii)
bier_imp_t * bier_imp_pool
bier_imposition : The BIER imposition object
u32 bier_bp_t
A bit positon as assigned to egress PEs.
void bier_imp_contribute_forwarding(index_t bii, dpo_proto_t proto, dpo_id_t *dpo)
CLIB_CACHE_LINE_ALIGN_MARK(cacheline0)
Required for pool_get_aligned.
bier_imposition : The BIER imposition object
#define FIB_PROTOCOL_IP_MAX
Definition outside of enum so it does not need to be included in non-defaulted switch statements.
bier_table_id_t bi_tbl
The BIER table into which to forward the post imposed packet.
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
void bier_imp_lock(index_t bii)
bier_hdr_t bi_hdr
The Header to impose.
u8 bi_bits[BIER_HDR_BUCKETS_1024]
The bit string.
dpo_id_t bi_dpo[FIB_PROTOCOL_IP_MAX]
The DPO contributed from the resolving BIER table.
A BIER header of variable length The encoding follows: https://tools.ietf.org/html/draft-ietf-bier-mp...
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
u8 * format_bier_imp(u8 *s, va_list *ap)
void bier_imp_unlock(index_t bii)
index_t bier_imp_add_or_lock(const bier_table_id_t *bt, bier_bp_t sender, const bier_bit_string_t *bs)
u32 bi_locks
number of locks
A Variable length BitString.