FD.io VPP  v17.01.1-3-gc6833f8
Vector Packet Processing
ip4_mtrie.c File Reference
+ Include dependency graph for ip4_mtrie.c:

Go to the source code of this file.

Data Structures

struct  ip4_fib_mtrie_set_unset_leaf_args_t
 

Functions

static void ply_init (ip4_fib_mtrie_ply_t *p, ip4_fib_mtrie_leaf_t init, uword prefix_len)
 
static ip4_fib_mtrie_leaf_t ply_create (ip4_fib_mtrie_t *m, ip4_fib_mtrie_leaf_t init_leaf, uword prefix_len)
 
static ip4_fib_mtrie_ply_tget_next_ply_for_leaf (ip4_fib_mtrie_t *m, ip4_fib_mtrie_leaf_t l)
 
static void ply_free (ip4_fib_mtrie_t *m, ip4_fib_mtrie_ply_t *p)
 
void ip4_fib_free (ip4_fib_mtrie_t *m)
 
u32 ip4_mtrie_lookup_address (ip4_fib_mtrie_t *m, ip4_address_t dst)
 
static void set_ply_with_more_specific_leaf (ip4_fib_mtrie_t *m, ip4_fib_mtrie_ply_t *ply, ip4_fib_mtrie_leaf_t new_leaf, uword new_leaf_dst_address_bits)
 
static void set_leaf (ip4_fib_mtrie_t *m, ip4_fib_mtrie_set_unset_leaf_args_t *a, u32 old_ply_index, u32 dst_address_byte_index)
 
static uword unset_leaf (ip4_fib_mtrie_t *m, ip4_fib_mtrie_set_unset_leaf_args_t *a, ip4_fib_mtrie_ply_t *old_ply, u32 dst_address_byte_index)
 
void ip4_mtrie_init (ip4_fib_mtrie_t *m)
 
void ip4_fib_mtrie_add_del_route (ip4_fib_t *fib, ip4_address_t dst_address, u32 dst_address_length, u32 adj_index, u32 is_del)
 
static uword mtrie_memory_usage (ip4_fib_mtrie_t *m, ip4_fib_mtrie_ply_t *p)
 
static u8format_ip4_fib_mtrie_leaf (u8 *s, va_list *va)
 
static u8format_ip4_fib_mtrie_ply (u8 *s, va_list *va)
 
u8format_ip4_fib_mtrie (u8 *s, va_list *va)
 

Function Documentation

u8* format_ip4_fib_mtrie ( u8 s,
va_list *  va 
)

Definition at line 543 of file ip4_mtrie.c.

+ Here is the call graph for this function:

static u8* format_ip4_fib_mtrie_leaf ( u8 s,
va_list *  va 
)
static

Definition at line 482 of file ip4_mtrie.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8* format_ip4_fib_mtrie_ply ( u8 s,
va_list *  va 
)
static

Definition at line 496 of file ip4_mtrie.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ip4_fib_mtrie_ply_t* get_next_ply_for_leaf ( ip4_fib_mtrie_t m,
ip4_fib_mtrie_leaf_t  l 
)
inlinestatic

Definition at line 108 of file ip4_mtrie.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ip4_fib_free ( ip4_fib_mtrie_t m)

Definition at line 137 of file ip4_mtrie.c.

+ Here is the call graph for this function:

void ip4_fib_mtrie_add_del_route ( ip4_fib_t fib,
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_mtrie_init ( ip4_fib_mtrie_t m)

Definition at line 376 of file ip4_mtrie.c.

+ 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 uword mtrie_memory_usage ( ip4_fib_mtrie_t m,
ip4_fib_mtrie_ply_t p 
)
static

Definition at line 459 of file ip4_mtrie.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ip4_fib_mtrie_leaf_t ply_create ( ip4_fib_mtrie_t m,
ip4_fib_mtrie_leaf_t  init_leaf,
uword  prefix_len 
)
static

Definition at line 95 of file ip4_mtrie.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void ply_free ( ip4_fib_mtrie_t m,
ip4_fib_mtrie_ply_t p 
)
static

Definition at line 117 of file ip4_mtrie.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void ply_init ( ip4_fib_mtrie_ply_t p,
ip4_fib_mtrie_leaf_t  init,
uword  prefix_len 
)
static

Definition at line 44 of file ip4_mtrie.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void set_leaf ( ip4_fib_mtrie_t m,
ip4_fib_mtrie_set_unset_leaf_args_t a,
u32  old_ply_index,
u32  dst_address_byte_index 
)
static

Definition at line 214 of file ip4_mtrie.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void set_ply_with_more_specific_leaf ( ip4_fib_mtrie_t m,
ip4_fib_mtrie_ply_t ply,
ip4_fib_mtrie_leaf_t  new_leaf,
uword  new_leaf_dst_address_bits 
)
static

Definition at line 178 of file ip4_mtrie.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword unset_leaf ( ip4_fib_mtrie_t m,
ip4_fib_mtrie_set_unset_leaf_args_t a,
ip4_fib_mtrie_ply_t old_ply,
u32  dst_address_byte_index 
)
static

Definition at line 319 of file ip4_mtrie.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function: