X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fbier%2Fbier_imp.h;h=7480ebc7df1cec0c1633308321e1129a169f3dca;hb=57e53bb9a5c9ee164938a1cee6025f7044deb728;hp=fa53989fc93fc98eea965d2d6a4a7fe6947bed40;hpb=d792d9c01e60656cbfe1b0f1fd6a9b125f5dab0c;p=vpp.git diff --git a/src/vnet/bier/bier_imp.h b/src/vnet/bier/bier_imp.h index fa53989fc93..7480ebc7df1 100644 --- a/src/vnet/bier/bier_imp.h +++ b/src/vnet/bier/bier_imp.h @@ -17,7 +17,7 @@ * * A BIER imposition object is present in the IP mcast output list * and represents the imposition of a BIER bitmask. After BIER header - * imposition the packet is forward within the appropriate/specifid + * imposition the packet is forward within the appropriate/specified * BIER table */ @@ -33,17 +33,12 @@ */ typedef struct bier_imp_t_ { /** - * The BIER table into which to forward the post imposed packet + * Required for pool_get_aligned */ - bier_table_id_t bi_tbl; + CLIB_CACHE_LINE_ALIGN_MARK(cacheline0); /** - * number of locks - */ - u32 bi_locks; - - /** - * The DPO contirubted from the resolving BIER table. + * The DPO contributed from the resolving BIER table. * One per-IP protocol. This allows us to share a BIER imposition * object for a IPv4 and IPv6 mfib path. */ @@ -60,7 +55,18 @@ typedef struct bier_imp_t_ { * largest header type so as the bitstring is on the same * cacheline as the header. */ - bier_bit_mask_4096_t bi_bits; + u8 bi_bits[BIER_HDR_BUCKETS_1024]; + + /** + * The BIER table into which to forward the post imposed packet + */ + bier_table_id_t bi_tbl; + + /** + * number of locks + */ + u32 bi_locks; + } bier_imp_t; extern index_t bier_imp_add_or_lock(const bier_table_id_t *bt,