![]() |
FD.io VPP
v18.04-17-g3a0d853
Vector Packet Processing
|
A BIER Table is the bit-indexed forwarding table. More...
Public Member Functions | |
CLIB_CACHE_LINE_ALIGN_MARK (cacheline0) | |
required for pool_get_aligned. More... | |
Data Fields | |
mpls_label_t | bt_ll |
Save the MPLS local label associated with the table. More... | |
fib_node_index_t | bt_pl |
The path-list used for the ECMP-tables. More... | |
fib_node_index_t | bt_lfei |
The index of the lfib entry created for this table. More... | |
u16 | bt_locks |
Number of locks on the table. More... | |
index_t * | bt_entries |
Entries in the table This is a vector sized to the appropriate number of entries given the table's supported Bit-string length. More... | |
bier_table_id_t | bt_id |
The identity/key or the table. More... | |
index_t * | bt_fmasks |
f-masks in the ECMP table This is a vector sized to the appropriate number of entries given the table's supported Bit-string length. More... | |
A BIER Table is the bit-indexed forwarding table.
Each entry (bit-position) represents one destination, and its reachability
The number of entries in a table is thus the maximum supported bit-position. Since this is smal <4096, the table is a flat arry
Definition at line 38 of file bier_table.h.
bier_table_t_::CLIB_CACHE_LINE_ALIGN_MARK | ( | cacheline0 | ) |
required for pool_get_aligned.
memebers used in the switch path come first!
index_t* bier_table_t_::bt_entries |
Entries in the table This is a vector sized to the appropriate number of entries given the table's supported Bit-string length.
Definition at line 71 of file bier_table.h.
index_t* bier_table_t_::bt_fmasks |
f-masks in the ECMP table This is a vector sized to the appropriate number of entries given the table's supported Bit-string length.
In the ECMP table the LB choice has been pre-resolved, so each entry links to just one f-mask, i.e. there is a 1:1 mapping of bit-position to fmask. For efficient forwarding we collapse the fmasks up to the table.
Definition at line 86 of file bier_table.h.
bier_table_id_t bier_table_t_::bt_id |
The identity/key or the table.
we need the hdr_len in the data-path
Definition at line 76 of file bier_table.h.
fib_node_index_t bier_table_t_::bt_lfei |
The index of the lfib entry created for this table.
Only the EOS is required.
Definition at line 59 of file bier_table.h.
mpls_label_t bier_table_t_::bt_ll |
Save the MPLS local label associated with the table.
Definition at line 48 of file bier_table.h.
u16 bier_table_t_::bt_locks |
Number of locks on the table.
Definition at line 64 of file bier_table.h.
fib_node_index_t bier_table_t_::bt_pl |
The path-list used for the ECMP-tables.
Definition at line 53 of file bier_table.h.