FD.io VPP
v19.01.3-6-g70449b9b9
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | bier_fmask_db_t_ |
Global Table of fmask objects The key into this table includes the table's key and the fmask's key, so there could be a DB per-table. More... | |
Typedefs | |
typedef struct bier_fmask_db_t_ | bier_fmask_db_t |
Global Table of fmask objects The key into this table includes the table's key and the fmask's key, so there could be a DB per-table. More... | |
Functions | |
u32 | bier_fmask_get_index (const bier_fmask_t *bfm) |
static void | bier_fmask_db_mk_key (index_t bti, const fib_route_path_t *rpath, bier_fmask_id_t *key) |
u32 | bier_fmask_db_find (index_t bti, const fib_route_path_t *rpath) |
u32 | bier_fmask_db_find_or_create_and_lock (index_t bti, const fib_route_path_t *rpath) |
void | bier_fmask_db_remove (const bier_fmask_id_t *fmid) |
void | bier_fmask_db_walk (bier_fmask_walk_fn_t fn, void *ctx) |
clib_error_t * | bier_fmask_db_module_init (vlib_main_t *vm) |
Variables | |
static bier_fmask_db_t | bier_fmask_db |
Single fmask DB. More... | |
typedef struct bier_fmask_db_t_ bier_fmask_db_t |
Global Table of fmask objects The key into this table includes the table's key and the fmask's key, so there could be a DB per-table.
But it is more efficient at forwarding time to extract the fmask from a single global table which is hot in dcache.
The table's key is part of this DB key, since the fmasks therein build up their forwarding mask based on the routes that resolve through it, so cross polination would be bad.
u32 bier_fmask_db_find | ( | index_t | bti, |
const fib_route_path_t * | rpath | ||
) |
Definition at line 90 of file bier_fmask_db.c.
u32 bier_fmask_db_find_or_create_and_lock | ( | index_t | bti, |
const fib_route_path_t * | rpath | ||
) |
Definition at line 108 of file bier_fmask_db.c.
|
static |
Definition at line 55 of file bier_fmask_db.c.
clib_error_t* bier_fmask_db_module_init | ( | vlib_main_t * | vm | ) |
Definition at line 168 of file bier_fmask_db.c.
void bier_fmask_db_remove | ( | const bier_fmask_id_t * | fmid | ) |
void bier_fmask_db_walk | ( | bier_fmask_walk_fn_t | fn, |
void * | ctx | ||
) |
Definition at line 155 of file bier_fmask_db.c.
u32 bier_fmask_get_index | ( | const bier_fmask_t * | bfm | ) |
Definition at line 49 of file bier_fmask_db.c.
|
static |
Single fmask DB.
Definition at line 45 of file bier_fmask_db.c.