FD.io VPP  v18.04-17-g3a0d853
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)
 

Data Fields

ip4_fib_mtrie_t mtrie
 Mtrie for fast lookups. More...
 
uwordfib_entry_by_dst_address [33]
 
u32 table_id
 
u32 index
 
u32 fwd_classify_table_index
 
u32 rev_classify_table_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

ip4_fib_t_::CLIB_CACHE_LINE_ALIGN_MARK ( cacheline0  )

Field Documentation

uword* ip4_fib_t_::fib_entry_by_dst_address[33]

Definition at line 48 of file ip4_fib.h.

u32 ip4_fib_t_::fwd_classify_table_index

Definition at line 57 of file ip4_fib.h.

u32 ip4_fib_t_::index

Definition at line 54 of file ip4_fib.h.

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 45 of file ip4_fib.h.

u32 ip4_fib_t_::rev_classify_table_index

Definition at line 58 of file ip4_fib.h.

u32 ip4_fib_t_::table_id

Definition at line 51 of file ip4_fib.h.


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