FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
ip4_fib_16_t_ Struct Reference

The IPv4 FIB. More...

+ Collaboration diagram for ip4_fib_16_t_:

Public Member Functions

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

Data Fields

ip4_mtrie_16_t mtrie
 Mtrie for fast lookups. More...
 
ip4_fib_hash_t hash
 The hash table DB. More...
 

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 36 of file ip4_fib_16.h.

Member Function Documentation

◆ CLIB_CACHE_LINE_ALIGN_MARK()

ip4_fib_16_t_::CLIB_CACHE_LINE_ALIGN_MARK ( cacheline0  )

Required for pool_get_aligned.

Field Documentation

◆ hash

ip4_fib_hash_t ip4_fib_16_t_::hash

The hash table DB.

Definition at line 50 of file ip4_fib_16.h.

◆ mtrie

ip4_mtrie_16_t ip4_fib_16_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_16.h.


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