FD.io VPP  v16.12-rc0-308-g931be3a
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 514 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 457 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 470 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 103 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 131 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 364 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 354 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 137 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 435 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 91 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 112 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 204 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 170 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 300 of file ip4_mtrie.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function: