FD.io VPP
v18.01.2-1-g9b554f3
Vector Packet Processing
|
A BIER Table is the bit-indexed forwarding table. More...
Public Member Functions | |
CLIB_CACHE_LINE_ALIGN_MARK (cacheline0) | |
Everything before this declaration is unused in the switch path. 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 | ) |
Everything before this declaration is unused in the switch path.
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 65 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 85 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 75 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 53 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 42 of file bier_table.h.
u16 bier_table_t_::bt_locks |
Number of locks on the table.
Definition at line 58 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 47 of file bier_table.h.