Go to the source code of this file.
|
static index_t | load_balance_map_get_index (load_balance_map_t *lbm) |
|
u8 * | format_load_balance_map (u8 *s, va_list *ap) |
|
static uword | load_balance_map_hash (load_balance_map_t *lbm) |
|
static uword | load_balance_map_db_hash_key_from_index (uword index) |
|
static uword | load_balance_map_db_hash_key_is_index (uword key) |
|
static uword | load_balance_map_db_hash_key_2_index (uword key) |
|
static load_balance_map_t * | load_balance_map_db_get_from_hash_key (uword key) |
|
static uword | load_balance_map_db_hash_key_sum (hash_t *h, uword key) |
|
static uword | load_balance_map_db_hash_key_equal (hash_t *h, uword key1, uword key2) |
|
static index_t | load_balance_map_db_find (load_balance_map_t *lbm) |
|
static void | load_balance_map_db_insert (load_balance_map_t *lbm) |
|
static void | load_balance_map_db_remove (load_balance_map_t *lbm) |
|
static void | load_balance_map_fill (load_balance_map_t *lbm) |
| from the paths that are usable, fill the Map. More...
|
|
static load_balance_map_t * | load_balance_map_alloc (const load_balance_path_t *paths) |
|
static load_balance_map_t * | load_balance_map_init (load_balance_map_t *lbm, u32 n_buckets, u32 sum_of_weights) |
|
static void | load_balance_map_destroy (load_balance_map_t *lbm) |
|
index_t | load_balance_map_add_or_lock (u32 n_buckets, u32 sum_of_weights, const load_balance_path_t *paths) |
|
void | load_balance_map_lock (index_t lbmi) |
|
void | load_balance_map_unlock (index_t lbmi) |
|
static int | load_balance_map_path_state_change_walk (fib_node_ptr_t *fptr, void *ctx) |
|
void | load_balance_map_path_state_change (fib_node_index_t path_index) |
| the state of a path has changed (it has no doubt gone down). More...
|
|
void | load_balance_map_module_init (void) |
| Make/add a new or lock an existing Load-balance map. More...
|
|
void | load_balance_map_show_mem (void) |
|
static clib_error_t * | load_balance_map_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
◆ LOAD_BALANCE_MAP_DBG
#define LOAD_BALANCE_MAP_DBG |
( |
|
_pl, |
|
|
|
_fmt, |
|
|
|
_args... |
|
) |
| |
Value:{ \
"lbm:" _fmt, \
##_args); \
}
vlib_log_class_t load_balance_map_logger
the logger
Definition at line 79 of file load_balance_map.c.
◆ load_balance_map_path_flags_t
◆ load_balance_map_path_t
◆ load_balance_map_path_flags_t_
Enumerator |
---|
LOAD_BALANCE_MAP_PATH_UP | |
LOAD_BALANCE_MAP_PATH_USABLE | |
Definition at line 38 of file load_balance_map.c.
◆ format_load_balance_map()
u8* format_load_balance_map |
( |
u8 * |
s, |
|
|
va_list * |
ap |
|
) |
| |
◆ load_balance_map_add_or_lock()
◆ load_balance_map_alloc()
◆ load_balance_map_db_find()
◆ load_balance_map_db_get_from_hash_key()
◆ load_balance_map_db_hash_key_2_index()
static uword load_balance_map_db_hash_key_2_index |
( |
uword |
key | ) |
|
|
inlinestatic |
◆ load_balance_map_db_hash_key_equal()
◆ load_balance_map_db_hash_key_from_index()
static uword load_balance_map_db_hash_key_from_index |
( |
uword |
index | ) |
|
|
inlinestatic |
◆ load_balance_map_db_hash_key_is_index()
static uword load_balance_map_db_hash_key_is_index |
( |
uword |
key | ) |
|
|
inlinestatic |
◆ load_balance_map_db_hash_key_sum()
◆ load_balance_map_db_insert()
◆ load_balance_map_db_remove()
◆ load_balance_map_destroy()
◆ load_balance_map_fill()
◆ load_balance_map_get_index()
◆ load_balance_map_hash()
◆ load_balance_map_init()
◆ load_balance_map_lock()
void load_balance_map_lock |
( |
index_t |
lbmi | ) |
|
◆ load_balance_map_module_init()
void load_balance_map_module_init |
( |
void |
| ) |
|
◆ load_balance_map_path_state_change()
the state of a path has changed (it has no doubt gone down).
This is the trigger to perform a PIC edge cutover and update the maps to exclude this path.
Definition at line 513 of file load_balance_map.c.
◆ load_balance_map_path_state_change_walk()
static int load_balance_map_path_state_change_walk |
( |
fib_node_ptr_t * |
fptr, |
|
|
void * |
ctx |
|
) |
| |
|
static |
◆ load_balance_map_show()
◆ load_balance_map_show_mem()
void load_balance_map_show_mem |
( |
void |
| ) |
|
◆ load_balance_map_unlock()
void load_balance_map_unlock |
( |
index_t |
lbmi | ) |
|
◆ lb_maps_by_path_index
uword* lb_maps_by_path_index |
|
static |
A hash-table of load-balance maps by path index.
this provides the fast lookup of the LB map when a path goes down
Definition at line 27 of file load_balance_map.c.
◆ load_balance_map_db
uword* load_balance_map_db |
|
static |
A hash-table of load-balance maps by set of paths.
This provides the LB map sharing. LB maps do not necessarily use all the paths in the list, since the entry that is requesting the map, may not have an out-going label for each of the paths.
Definition at line 36 of file load_balance_map.c.
◆ load_balance_map_logger
◆ load_balance_map_pool
The global pool of LB maps.
The encapsulation breakages are for fast DP access.
Definition at line 69 of file load_balance_map.c.
◆ load_balance_map_show_command
Initial value:= {
.path = "show load-balance-map",
.short_help = "show load-balance-map [<index>]",
}
static clib_error_t * load_balance_map_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (load_balance_map_show_command)
Definition at line 588 of file load_balance_map.c.