FD.io VPP
v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
|
Go to the source code of this file.
Macros | |
#define | rn_masktop (mask_rnhead->rnh_treetop) |
#define | SUBTREE_OPEN "[ " |
#define | SUBTREE_CLOSE " ]" |
#define | MIN(x, y) (((x)<(y))?(x):(y)) |
#define | R_Malloc(p, t, n) |
#define | Free(p) clib_mem_free((p)) |
#define | log(a, b, c...) |
#define | bool i32 |
Typedefs | |
typedef void(* | rn_printer_t) (void *, const char *fmt,...) |
Functions | |
static int | rn_satisfies_leaf (const char *, struct radix_node *, int) |
static int | rn_lexobetter (const void *, const void *) |
static struct radix_mask * | rn_new_radix_mask (struct radix_node *, struct radix_mask *) |
static struct radix_node * | rn_walknext (struct radix_node *, rn_printer_t, void *) |
static struct radix_node * | rn_walkfirst (struct radix_node *, rn_printer_t, void *) |
static void | rn_nodeprint (struct radix_node *, rn_printer_t, void *, const char *) |
static struct radix_mask * | rm_alloc (void) |
static void | rm_free (struct radix_mask *rm) |
struct radix_node * | rn_search (const void *v_arg, struct radix_node *head) |
struct radix_node * | rn_search_m (const void *v_arg, struct radix_node *head, const void *m_arg) |
int | rn_refines (const void *m_arg, const void *n_arg) |
struct radix_node * | rn_lookup (const void *v_arg, const void *m_arg, struct radix_node_head *head) |
struct radix_node * | rn_match (const void *v_arg, struct radix_node_head *head) |
struct radix_node * | rn_newpair (const void *v, int b, struct radix_node nodes[2]) |
struct radix_node * | rn_insert (const void *v_arg, struct radix_node_head *head, int *dupentry, struct radix_node nodes[2]) |
struct radix_node * | rn_addmask (const void *n_arg, int search, int skip) |
struct radix_node * | rn_addroute (const void *v_arg, const void *n_arg, struct radix_node_head *head, struct radix_node treenodes[2]) |
struct radix_node * | rn_delete1 (const void *v_arg, const void *netmask_arg, struct radix_node_head *head, struct radix_node *rn) |
struct radix_node * | rn_delete (const void *v_arg, const void *netmask_arg, struct radix_node_head *head) |
int | rn_walktree (struct radix_node_head *h, int(*f)(struct radix_node *, void *), void *w) |
struct radix_node * | rn_search_matched (struct radix_node_head *h, int(*matcher)(struct radix_node *, void *), void *w) |
int | rn_inithead (void **head, int off) |
int | rn_inithead0 (struct radix_node_head *rnh, int off) |
static clib_error_t * | rn_module_init (vlib_main_t *vm) |
Variables | |
static int | max_keylen = 33 |
struct radix_mask * | rn_mkfreelist |
struct radix_node_head * | mask_rnhead |
static char * | addmask_key |
static const char | normal_chars [] |
static char * | rn_zeros |
static char * | rn_ones |
#define Free | ( | p | ) | clib_mem_free((p)) |
#define R_Malloc | ( | p, | |
t, | |||
n | |||
) |
#define rn_masktop (mask_rnhead->rnh_treetop) |
|
static |
|
static |
struct radix_node* rn_addmask | ( | const void * | n_arg, |
int | search, | ||
int | skip | ||
) |
struct radix_node* rn_addroute | ( | const void * | v_arg, |
const void * | n_arg, | ||
struct radix_node_head * | head, | ||
struct radix_node | treenodes[2] | ||
) |
struct radix_node* rn_delete | ( | const void * | v_arg, |
const void * | netmask_arg, | ||
struct radix_node_head * | head | ||
) |
struct radix_node* rn_delete1 | ( | const void * | v_arg, |
const void * | netmask_arg, | ||
struct radix_node_head * | head, | ||
struct radix_node * | rn | ||
) |
int rn_inithead | ( | void ** | head, |
int | off | ||
) |
int rn_inithead0 | ( | struct radix_node_head * | rnh, |
int | off | ||
) |
struct radix_node* rn_insert | ( | const void * | v_arg, |
struct radix_node_head * | head, | ||
int * | dupentry, | ||
struct radix_node | nodes[2] | ||
) |
|
static |
struct radix_node* rn_lookup | ( | const void * | v_arg, |
const void * | m_arg, | ||
struct radix_node_head * | head | ||
) |
struct radix_node* rn_match | ( | const void * | v_arg, |
struct radix_node_head * | head | ||
) |
|
static |
|
static |
struct radix_node* rn_newpair | ( | const void * | v, |
int | b, | ||
struct radix_node | nodes[2] | ||
) |
|
static |
int rn_refines | ( | const void * | m_arg, |
const void * | n_arg | ||
) |
|
static |
struct radix_node* rn_search | ( | const void * | v_arg, |
struct radix_node * | head | ||
) |
struct radix_node* rn_search_m | ( | const void * | v_arg, |
struct radix_node * | head, | ||
const void * | m_arg | ||
) |
struct radix_node* rn_search_matched | ( | struct radix_node_head * | h, |
int(*)(struct radix_node *, void *) | matcher, | ||
void * | w | ||
) |
|
static |
|
static |
int rn_walktree | ( | struct radix_node_head * | h, |
int(*)(struct radix_node *, void *) | f, | ||
void * | w | ||
) |
struct radix_node_head* mask_rnhead |
|
static |
struct radix_mask* rn_mkfreelist |