|
static u32 | ip4_mtrie_leaf_is_non_empty (ip4_mtrie_8_ply_t *p, u8 dst_byte) |
|
static ip4_mtrie_leaf_t | ip4_mtrie_leaf_set_adj_index (u32 adj_index) |
|
static u32 | ip4_mtrie_leaf_is_next_ply (ip4_mtrie_leaf_t n) |
|
static u32 | ip4_mtrie_leaf_get_next_ply_index (ip4_mtrie_leaf_t n) |
|
static ip4_mtrie_leaf_t | ip4_mtrie_leaf_set_next_ply_index (u32 i) |
|
static void | ply_8_init (ip4_mtrie_8_ply_t *p, ip4_mtrie_leaf_t init, uword prefix_len, u32 ply_base_len) |
|
static void | ply_16_init (ip4_mtrie_16_ply_t *p, ip4_mtrie_leaf_t init, uword prefix_len) |
|
static ip4_mtrie_leaf_t | ply_create (ip4_mtrie_leaf_t init_leaf, u32 leaf_prefix_len, u32 ply_base_len) |
|
static ip4_mtrie_8_ply_t * | get_next_ply_for_leaf (ip4_mtrie_leaf_t l) |
|
void | ip4_mtrie_16_free (ip4_mtrie_16_t *m) |
| Free an mtrie, It must be empty when free'd. More...
|
|
void | ip4_mtrie_16_init (ip4_mtrie_16_t *m) |
| Initialise an mtrie. More...
|
|
void | ip4_mtrie_8_free (ip4_mtrie_8_t *m) |
|
void | ip4_mtrie_8_init (ip4_mtrie_8_t *m) |
|
static void | set_ply_with_more_specific_leaf (ip4_mtrie_8_ply_t *ply, ip4_mtrie_leaf_t new_leaf, uword new_leaf_dst_address_bits) |
|
static void | set_leaf (const ip4_mtrie_set_unset_leaf_args_t *a, u32 old_ply_index, u32 dst_address_byte_index) |
|
static void | set_root_leaf (ip4_mtrie_16_t *m, const ip4_mtrie_set_unset_leaf_args_t *a) |
|
static uword | unset_leaf (const ip4_mtrie_set_unset_leaf_args_t *a, ip4_mtrie_8_ply_t *old_ply, u32 dst_address_byte_index) |
|
static void | unset_root_leaf (ip4_mtrie_16_t *m, const ip4_mtrie_set_unset_leaf_args_t *a) |
|
void | ip4_mtrie_16_route_add (ip4_mtrie_16_t *m, const ip4_address_t *dst_address, u32 dst_address_length, u32 adj_index) |
| Add a route/entry to the mtrie. More...
|
|
void | ip4_mtrie_8_route_add (ip4_mtrie_8_t *m, const ip4_address_t *dst_address, u32 dst_address_length, u32 adj_index) |
|
void | ip4_mtrie_16_route_del (ip4_mtrie_16_t *m, const ip4_address_t *dst_address, u32 dst_address_length, u32 adj_index, u32 cover_address_length, u32 cover_adj_index) |
| remove a route/entry to the mtrie More...
|
|
void | ip4_mtrie_8_route_del (ip4_mtrie_8_t *m, const ip4_address_t *dst_address, u32 dst_address_length, u32 adj_index, u32 cover_address_length, u32 cover_adj_index) |
|
static uword | mtrie_ply_memory_usage (ip4_mtrie_8_ply_t *p) |
|
uword | ip4_mtrie_16_memory_usage (ip4_mtrie_16_t *m) |
| return the memory used by the table More...
|
|
uword | ip4_mtrie_8_memory_usage (ip4_mtrie_8_t *m) |
|
static u8 * | format_ip4_mtrie_leaf (u8 *s, va_list *va) |
|
static u8 * | format_ip4_mtrie_ply (u8 *s, va_list *va) |
|
u8 * | format_ip4_mtrie_16 (u8 *s, va_list *va) |
|
u8 * | format_ip4_mtrie_8 (u8 *s, va_list *va) |
|
static clib_error_t * | ip4_mtrie_module_init (vlib_main_t *vm) |
|