FD.io VPP  v17.04-9-g99c0734
Vector Packet Processing
ip4_mtrie.h File Reference
+ Include dependency graph for ip4_mtrie.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ip4_fib_mtrie_ply_t
 
struct  ip4_fib_mtrie_t
 

Macros

#define IP4_FIB_MTRIE_LEAF_EMPTY   (1 + 2*0)
 
#define IP4_FIB_MTRIE_LEAF_ROOT   (0 + 2*0)
 

Typedefs

typedef u32 ip4_fib_mtrie_leaf_t
 

Functions

static u32 ip4_fib_mtrie_leaf_is_empty (ip4_fib_mtrie_leaf_t n)
 
static u32 ip4_fib_mtrie_leaf_is_non_empty (ip4_fib_mtrie_leaf_t n)
 
static u32 ip4_fib_mtrie_leaf_is_terminal (ip4_fib_mtrie_leaf_t n)
 
static u32 ip4_fib_mtrie_leaf_get_adj_index (ip4_fib_mtrie_leaf_t n)
 
static ip4_fib_mtrie_leaf_t ip4_fib_mtrie_leaf_set_adj_index (u32 adj_index)
 
static u32 ip4_fib_mtrie_leaf_is_next_ply (ip4_fib_mtrie_leaf_t n)
 
static u32 ip4_fib_mtrie_leaf_get_next_ply_index (ip4_fib_mtrie_leaf_t n)
 
static ip4_fib_mtrie_leaf_t ip4_fib_mtrie_leaf_set_next_ply_index (u32 i)
 
 STATIC_ASSERT (0==sizeof(ip4_fib_mtrie_ply_t)%CLIB_CACHE_LINE_BYTES,"IP4 Mtrie ply cache line")
 
void ip4_fib_mtrie_init (ip4_fib_mtrie_t *m)
 
void ip4_fib_mtrie_add_del_route (struct ip4_fib_t *f, ip4_address_t dst_address, u32 dst_address_length, u32 adj_index, u32 is_del)
 
u32 ip4_mtrie_lookup_address (ip4_fib_mtrie_t *m, ip4_address_t dst)
 
static ip4_fib_mtrie_leaf_t ip4_fib_mtrie_lookup_step (ip4_fib_mtrie_t *m, ip4_fib_mtrie_leaf_t current_leaf, const ip4_address_t *dst_address, u32 dst_address_byte_index)
 

Variables

format_function_t format_ip4_fib_mtrie
 

Macro Definition Documentation

#define IP4_FIB_MTRIE_LEAF_EMPTY   (1 + 2*0)

Definition at line 54 of file ip4_mtrie.h.

#define IP4_FIB_MTRIE_LEAF_ROOT   (0 + 2*0)

Definition at line 55 of file ip4_mtrie.h.

Typedef Documentation

Definition at line 52 of file ip4_mtrie.h.

Function Documentation

void ip4_fib_mtrie_add_del_route ( struct ip4_fib_t f,
ip4_address_t  dst_address,
u32  dst_address_length,
u32  adj_index,
u32  is_del 
)

Definition at line 387 of file ip4_mtrie.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ip4_fib_mtrie_init ( ip4_fib_mtrie_t m)
static u32 ip4_fib_mtrie_leaf_get_adj_index ( ip4_fib_mtrie_leaf_t  n)
inlinestatic

Definition at line 76 of file ip4_mtrie.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u32 ip4_fib_mtrie_leaf_get_next_ply_index ( ip4_fib_mtrie_leaf_t  n)
inlinestatic

Definition at line 98 of file ip4_mtrie.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u32 ip4_fib_mtrie_leaf_is_empty ( ip4_fib_mtrie_leaf_t  n)
inlinestatic

Definition at line 58 of file ip4_mtrie.h.

+ Here is the caller graph for this function:

static u32 ip4_fib_mtrie_leaf_is_next_ply ( ip4_fib_mtrie_leaf_t  n)
inlinestatic

Definition at line 92 of file ip4_mtrie.h.

+ Here is the caller graph for this function:

static u32 ip4_fib_mtrie_leaf_is_non_empty ( ip4_fib_mtrie_leaf_t  n)
inlinestatic

Definition at line 64 of file ip4_mtrie.h.

+ Here is the caller graph for this function:

static u32 ip4_fib_mtrie_leaf_is_terminal ( ip4_fib_mtrie_leaf_t  n)
inlinestatic

Definition at line 70 of file ip4_mtrie.h.

+ Here is the caller graph for this function:

static ip4_fib_mtrie_leaf_t ip4_fib_mtrie_leaf_set_adj_index ( u32  adj_index)
inlinestatic

Definition at line 83 of file ip4_mtrie.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ip4_fib_mtrie_leaf_t ip4_fib_mtrie_leaf_set_next_ply_index ( u32  i)
inlinestatic

Definition at line 105 of file ip4_mtrie.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ip4_fib_mtrie_leaf_t ip4_fib_mtrie_lookup_step ( ip4_fib_mtrie_t m,
ip4_fib_mtrie_leaf_t  current_leaf,
const ip4_address_t dst_address,
u32  dst_address_byte_index 
)
inlinestatic

Definition at line 164 of file ip4_mtrie.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 ip4_mtrie_lookup_address ( ip4_fib_mtrie_t m,
ip4_address_t  dst 
)

Definition at line 144 of file ip4_mtrie.c.

+ Here is the call graph for this function:

STATIC_ASSERT ( = =sizeof(ip4_fib_mtrie_ply_t)%CLIB_CACHE_LINE_BYTES,
"IP4 Mtrie ply cache line"   
)

Variable Documentation

format_function_t format_ip4_fib_mtrie

Definition at line 160 of file ip4_mtrie.h.