From f051072f8518097cbce1a8a20510c4e43cb7167c Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Wed, 31 Jan 2018 11:35:41 -0800 Subject: BIER: fix support for longer bit-string lengths Change-Id: I2421197b76be58099e5f8ed5554410adff202109 Signed-off-by: Neale Ranns --- src/vnet/bier/bier_types.h | 62 ++++------------------------------------------ 1 file changed, 5 insertions(+), 57 deletions(-) (limited to 'src/vnet/bier/bier_types.h') diff --git a/src/vnet/bier/bier_types.h b/src/vnet/bier/bier_types.h index d484ba9ed03..ebddbe8d820 100644 --- a/src/vnet/bier/bier_types.h +++ b/src/vnet/bier/bier_types.h @@ -56,6 +56,11 @@ typedef enum bier_hdr_len_id_t_ { BIER_HDR_LEN_256, BIER_HDR_LEN_512, BIER_HDR_LEN_1024, + /** + * Bit-string lengths greater than 1024 are not supported due to the + * limited about pf space available in a vlib_buffer_t to prepend a + * BIER header at imposition. + */ BIER_HDR_LEN_2048, BIER_HDR_LEN_4096, BIER_HDR_LEN_INVALID, @@ -251,56 +256,6 @@ typedef enum bier_hdr_ctrl_sub_code_t_ { */ typedef u8 bier_bit_mask_bucket_t; -/** - * A BIER Bit-String value of length 64 bits. - */ -typedef struct bier_bit_mask_64_t_ { - bier_bit_mask_bucket_t bits[BIER_HDR_BUCKETS_64]; -} bier_bit_mask_64_t; - -/** - * A BIER Bit-String value of length 128 bits. - */ -typedef struct bier_bit_mask_128_t_ { - bier_bit_mask_bucket_t bits[BIER_HDR_BUCKETS_128]; -} bier_bit_mask_128_t; - -/** - * A BIER Bit-String value of length 256 bits. - */ -typedef struct bier_bit_mask_256_t_ { - bier_bit_mask_bucket_t bits[BIER_HDR_BUCKETS_256]; -} bier_bit_mask_256_t; - -/** - * A BIER Bit-String value of length 512 bits. - */ -typedef struct bier_bit_mask_512_t_ { - bier_bit_mask_bucket_t bits[BIER_HDR_BUCKETS_512]; -} bier_bit_mask_512_t; - -/** - * A BIER Bit-String value of length 1024 bits. - */ -typedef struct bier_bit_mask_1024_t_ { - bier_bit_mask_bucket_t bits[BIER_HDR_BUCKETS_1024]; -} bier_bit_mask_1024_t; - -/** - * A BIER Bit-String value of length 2048 bits. - */ -typedef struct bier_bit_mask_2048_t_ { - bier_bit_mask_bucket_t bits[BIER_HDR_BUCKETS_2048]; -} bier_bit_mask_2048_t; - -/** - * A BIER Bit-String value of length 4096 bits. - */ -typedef struct bier_bit_mask_4096_t_ { - bier_bit_mask_bucket_t bits[BIER_HDR_BUCKETS_4096]; -} bier_bit_mask_4096_t; - - /** * 256 bits = 32 bytes */ @@ -332,13 +287,6 @@ typedef struct bier_bit_string_t_ { bier_bit_mask_bucket_t *bbs_buckets; } bier_bit_string_t; -/** - * A BIER Bit-mask value - * - * The size of this mask represents this platforms BIER capabilities - */ -typedef bier_bit_mask_256_t bier_bit_mask_t; - /** * A bit positon * as assigned to egress PEs -- cgit 1.2.3-korg