FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
bier_table_t_ Struct Reference

A BIER Table is the bit-indexed forwarding table. More...

+ Collaboration diagram for bier_table_t_:

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_tbt_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_tbt_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...
 

Detailed Description

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 small <4096, the table is a flat array

Definition at line 38 of file bier_table.h.

Member Function Documentation

◆ CLIB_CACHE_LINE_ALIGN_MARK()

bier_table_t_::CLIB_CACHE_LINE_ALIGN_MARK ( cacheline0  )

required for pool_get_aligned.

memebers used in the switch path come first!

Field Documentation

◆ bt_entries

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.

◆ bt_fmasks

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.

◆ bt_id

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.

◆ bt_lfei

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.

◆ bt_ll

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.

◆ bt_locks

u16 bier_table_t_::bt_locks

Number of locks on the table.

Definition at line 64 of file bier_table.h.

◆ bt_pl

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.


The documentation for this struct was generated from the following file: