FD.io VPP  v16.06
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*IP_LOOKUP_MISS_ADJ_INDEX)
 
#define IP4_FIB_MTRIE_LEAF_ROOT   (0 + 2*0)
 

Typedefs

typedef u32 ip4_fib_mtrie_leaf_t
 

Functions

always_inline u32 ip4_fib_mtrie_leaf_is_empty (ip4_fib_mtrie_leaf_t n)
 
always_inline u32 ip4_fib_mtrie_leaf_is_non_empty (ip4_fib_mtrie_leaf_t n)
 
always_inline u32 ip4_fib_mtrie_leaf_is_terminal (ip4_fib_mtrie_leaf_t n)
 
always_inline u32 ip4_fib_mtrie_leaf_get_adj_index (ip4_fib_mtrie_leaf_t n)
 
always_inline ip4_fib_mtrie_leaf_t ip4_fib_mtrie_leaf_set_adj_index (u32 adj_index)
 
always_inline u32 ip4_fib_mtrie_leaf_is_next_ply (ip4_fib_mtrie_leaf_t n)
 
always_inline u32 ip4_fib_mtrie_leaf_get_next_ply_index (ip4_fib_mtrie_leaf_t n)
 
always_inline ip4_fib_mtrie_leaf_t ip4_fib_mtrie_leaf_set_next_ply_index (u32 i)
 
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)
 
void ip4_mtrie_maybe_remap_adjacencies (ip_lookup_main_t *lm, ip4_fib_mtrie_t *m)
 
always_inline ip4_fib_mtrie_leaf_t ip4_fib_mtrie_lookup_step (ip4_fib_mtrie_t *m, ip4_fib_mtrie_leaf_t current_leaf, 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*IP_LOOKUP_MISS_ADJ_INDEX)

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 363 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)
always_inline u32 ip4_fib_mtrie_leaf_get_adj_index ( ip4_fib_mtrie_leaf_t  n)

Definition at line 66 of file ip4_mtrie.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline u32 ip4_fib_mtrie_leaf_get_next_ply_index ( ip4_fib_mtrie_leaf_t  n)

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:

always_inline u32 ip4_fib_mtrie_leaf_is_empty ( ip4_fib_mtrie_leaf_t  n)

Definition at line 57 of file ip4_mtrie.h.

+ Here is the caller graph for this function:

always_inline u32 ip4_fib_mtrie_leaf_is_next_ply ( ip4_fib_mtrie_leaf_t  n)

Definition at line 80 of file ip4_mtrie.h.

+ Here is the caller graph for this function:

always_inline u32 ip4_fib_mtrie_leaf_is_non_empty ( ip4_fib_mtrie_leaf_t  n)

Definition at line 60 of file ip4_mtrie.h.

+ Here is the caller graph for this function:

always_inline u32 ip4_fib_mtrie_leaf_is_terminal ( ip4_fib_mtrie_leaf_t  n)

Definition at line 63 of file ip4_mtrie.h.

+ Here is the caller graph for this function:

always_inline ip4_fib_mtrie_leaf_t ip4_fib_mtrie_leaf_set_adj_index ( u32  adj_index)

Definition at line 72 of file ip4_mtrie.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline ip4_fib_mtrie_leaf_t ip4_fib_mtrie_leaf_set_next_ply_index ( u32  i)

Definition at line 89 of file ip4_mtrie.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline ip4_fib_mtrie_leaf_t ip4_fib_mtrie_lookup_step ( ip4_fib_mtrie_t m,
ip4_fib_mtrie_leaf_t  current_leaf,
ip4_address_t dst_address,
u32  dst_address_byte_index 
)

Definition at line 145 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 136 of file ip4_mtrie.c.

+ Here is the call graph for this function:

void ip4_mtrie_maybe_remap_adjacencies ( ip_lookup_main_t lm,
ip4_fib_mtrie_t m 
)

Definition at line 463 of file ip4_mtrie.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

format_function_t format_ip4_fib_mtrie

Definition at line 141 of file ip4_mtrie.h.