FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
ip4_fib_t_ Struct Reference

The IPv4 FIB. More...

+ Collaboration diagram for ip4_fib_t_:

Public Member Functions

 CLIB_CACHE_LINE_ALIGN_MARK (cacheline0)
 Required for pool_get_aligned. More...
 

Data Fields

ip4_fib_mtrie_t mtrie
 Mtrie for fast lookups. More...
 
uwordfib_entry_by_dst_address [33]
 
u32 table_id
 
u32 index
 

Detailed Description

The IPv4 FIB.

FIBs are composed of two prefix data-bases (akak tables). The non-forwarding table contains all the routes that the control plane has programmed, the forwarding table contains the sub-set of those routes that can be used to forward packets. In the IPv4 FIB the non-forwarding table is an array of hash tables indexed by mask length, the forwarding table is an mtrie

This IPv4 FIB is used by the protocol independent FIB. So directly using this APIs in client code is not encouraged. However, this IPv4 FIB can be used if all the client wants is an IPv4 prefix data-base

Definition at line 39 of file ip4_fib.h.

Member Function Documentation

◆ CLIB_CACHE_LINE_ALIGN_MARK()

ip4_fib_t_::CLIB_CACHE_LINE_ALIGN_MARK ( cacheline0  )

Required for pool_get_aligned.

Field Documentation

◆ fib_entry_by_dst_address

uword* ip4_fib_t_::fib_entry_by_dst_address[33]

Definition at line 51 of file ip4_fib.h.

◆ index

u32 ip4_fib_t_::index

Definition at line 57 of file ip4_fib.h.

◆ mtrie

ip4_fib_mtrie_t ip4_fib_t_::mtrie

Mtrie for fast lookups.

Hash is used to maintain overlapping prefixes. First member so it's in the first cacheline.

Definition at line 48 of file ip4_fib.h.

◆ table_id

u32 ip4_fib_t_::table_id

Definition at line 54 of file ip4_fib.h.


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