FD.io VPP  v16.12-rc0-308-g931be3a
Vector Packet Processing
fib_entry_t_ Struct Reference

An entry in a FIB table. More...

+ Collaboration diagram for fib_entry_t_:

Data Fields

fib_node_t fe_node
 Base class. More...
 
fib_prefix_t fe_prefix
 The prefix of the route. More...
 
u32 fe_fib_index
 The index of the FIB table this entry is in. More...
 
dpo_id_t fe_lb [FIB_FORW_CHAIN_MPLS_NUM]
 The load-balance used for forwarding. More...
 
fib_entry_src_tfe_srcs
 Vector of source infos. More...
 
fib_node_index_t fe_parent
 the path-list for which this entry is a child. More...
 
u32 fe_sibling
 index of this entry in the parent's child list. More...
 
fib_node_list_t fe_covered
 Dependency list of covered entries. More...
 
fib_node_index_t fe_export
 exporter More...
 
fib_node_index_t fe_import
 

Detailed Description

An entry in a FIB table.

This entry represents a route added to the FIB that is stored in one of the FIB tables.

Definition at line 360 of file fib_entry.h.

Field Documentation

fib_node_list_t fib_entry_t_::fe_covered

Dependency list of covered entries.

these are more specific entries that are interested in changes to their respective cover

Definition at line 408 of file fib_entry.h.

fib_node_index_t fib_entry_t_::fe_export

exporter

Definition at line 412 of file fib_entry.h.

u32 fib_entry_t_::fe_fib_index

The index of the FIB table this entry is in.

Definition at line 372 of file fib_entry.h.

fib_node_index_t fib_entry_t_::fe_import

Definition at line 413 of file fib_entry.h.

dpo_id_t fib_entry_t_::fe_lb[FIB_FORW_CHAIN_MPLS_NUM]

The load-balance used for forwarding.

We don't share the EOS and non-EOS even in case when they could be because:

  • complexity & reliability v. memory determining the conditions where sharing is possible is non-trivial.
  • separate LBs means we can get the EOS bit right in the MPLS label DPO and so save a few clock cycles in the DP imposition node since we can paint the header straight on without the need to check the packet type to derive the EOS bit value.

Definition at line 385 of file fib_entry.h.

fib_node_t fib_entry_t_::fe_node

Base class.

The entry's node representation in the graph.

Definition at line 364 of file fib_entry.h.

fib_node_index_t fib_entry_t_::fe_parent

the path-list for which this entry is a child.

This is also the path-list that is contributing forwarding for this entry.

Definition at line 396 of file fib_entry.h.

fib_prefix_t fib_entry_t_::fe_prefix

The prefix of the route.

Definition at line 368 of file fib_entry.h.

u32 fib_entry_t_::fe_sibling

index of this entry in the parent's child list.

This is set when this entry is added as a child, but can also be changed by the parent as it manages its list.

Definition at line 402 of file fib_entry.h.

fib_entry_src_t* fib_entry_t_::fe_srcs

Vector of source infos.

Most entries will only have 1 source. So we optimise for memory usage, which is preferable since we have many entries.

Definition at line 391 of file fib_entry.h.


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