![]() |
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Include dependency graph for fib_path_list.c:Go to the source code of this file.
Data Structures | |
| struct | fib_path_list_t_ |
| FIB path-list A representation of the list/set of path trough which a prefix is reachable. More... | |
Macros | |
| #define | FIB_PATH_LIST_POPULAR 64 |
| The magic number of child entries that make a path-list popular. More... | |
| #define | FIB_PATH_LIST_DBG(_pl, _fmt, _args...) |
Typedefs | |
| typedef struct fib_path_list_t_ | fib_path_list_t |
| FIB path-list A representation of the list/set of path trough which a prefix is reachable. More... | |
Variables | |
| static const char * | fib_path_list_attr_names [] = FIB_PATH_LIST_ATTRIBUTES |
| static fib_path_list_t * | fib_path_list_pool |
| static uword * | fib_path_list_db |
| vlib_log_class_t | fib_path_list_logger |
| the logger More... | |
| static const fib_node_vft_t | fib_path_list_vft |
| static vlib_cli_command_t | show_fib_path_list |
| (constructor) VLIB_CLI_COMMAND (show_fib_path_list) More... | |
| #define FIB_PATH_LIST_DBG | ( | _pl, | |
| _fmt, | |||
| _args... | |||
| ) |
Definition at line 90 of file fib_path_list.c.
| #define FIB_PATH_LIST_POPULAR 64 |
The magic number of child entries that make a path-list popular.
There's a trade-off here between convergence and forwarding speed. Popular path-lists generate load-balance maps for the entries that use them. If the map is present there is a switch path cost to indirect through the map - this indirection provides the fast convergence - so without the map convergence is slower.
Definition at line 38 of file fib_path_list.c.
| typedef struct fib_path_list_t_ fib_path_list_t |
FIB path-list A representation of the list/set of path trough which a prefix is reachable.
|
inlinestatic |
Definition at line 542 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_path_list_back_walk | ( | fib_node_index_t | path_list_index, |
| fib_node_back_walk_ctx_t * | ctx | ||
| ) |
Definition at line 465 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 505 of file fib_path_list.c.
| u32 fib_path_list_child_add | ( | fib_node_index_t | path_list_index, |
| fib_node_type_t | child_type, | ||
| fib_node_index_t | child_index | ||
| ) |
Definition at line 1296 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_path_list_child_remove | ( | fib_node_index_t | path_list_index, |
| u32 | si | ||
| ) |
Definition at line 1335 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_path_list_contribute_forwarding | ( | fib_node_index_t | path_list_index, |
| fib_forward_chain_type_t | fct, | ||
| fib_path_list_fwd_flags_t | flags, | ||
| dpo_id_t * | dpo | ||
| ) |
Definition at line 1211 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_path_list_contribute_urpf | ( | fib_node_index_t | path_list_index, |
| index_t | urpf | ||
| ) |
Contribute (add) this path list's uRPF list.
This allows the child to construct an aggregate list.
Definition at line 435 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fib_node_index_t fib_path_list_copy_and_path_add | ( | fib_node_index_t | orig_path_list_index, |
| fib_path_list_flags_t | flags, | ||
| const fib_route_path_t * | rpaths | ||
| ) |
Definition at line 907 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fib_node_index_t fib_path_list_copy_and_path_remove | ( | fib_node_index_t | orig_path_list_index, |
| fib_path_list_flags_t | flags, | ||
| const fib_route_path_t * | rpaths | ||
| ) |
Definition at line 1086 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fib_node_index_t fib_path_list_create | ( | fib_path_list_flags_t | flags, |
| const fib_route_path_t * | rpaths | ||
| ) |
Definition at line 682 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fib_node_index_t fib_path_list_create_special | ( | dpo_proto_t | nh_proto, |
| fib_path_list_flags_t | flags, | ||
| const dpo_id_t * | dpo | ||
| ) |
Definition at line 774 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
|
static |
Definition at line 217 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 210 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 248 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 237 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 277 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 293 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 fib_path_list_db_size | ( | void | ) |
|
static |
Definition at line 308 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 fib_path_list_find_rpath | ( | fib_node_index_t | path_list_index, |
| const fib_route_path_t * | rpath | ||
| ) |
|
static |
|
static |
| u8* fib_path_list_format | ( | fib_node_index_t | path_list_index, |
| u8 * | s | ||
| ) |
Definition at line 165 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
|
static |
|
static |
| adj_index_t fib_path_list_get_adj | ( | fib_node_index_t | path_list_index, |
| fib_forward_chain_type_t | type | ||
| ) |
Definition at line 1242 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
| u32 fib_path_list_get_n_paths | ( | fib_node_index_t | path_list_index | ) |
Definition at line 595 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
| dpo_proto_t fib_path_list_get_proto | ( | fib_node_index_t | path_list_index | ) |
| u32 fib_path_list_get_resolving_interface | ( | fib_node_index_t | path_list_index | ) |
Definition at line 611 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| index_t fib_path_list_get_urpf | ( | fib_node_index_t | path_list_index | ) |
Return the the child the RPF list pre-built for this path list.
Definition at line 449 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 172 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int fib_path_list_is_looped | ( | fib_node_index_t | path_list_index | ) |
Definition at line 647 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int fib_path_list_is_popular | ( | fib_node_index_t | path_list_index | ) |
Definition at line 657 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
| void fib_path_list_lock | ( | fib_node_index_t | path_list_index | ) |
Definition at line 1344 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
|
static |
Definition at line 361 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
[re]build the path list's uRPF list
Definition at line 408 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_path_list_module_init | ( | void | ) |
Definition at line 1425 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fib_node_index_t* fib_path_list_paths_add | ( | fib_node_index_t | path_list_index, |
| const fib_route_path_t * | rpaths | ||
| ) |
Definition at line 831 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fib_node_index_t* fib_path_list_paths_remove | ( | fib_node_index_t | path_list_index, |
| const fib_route_path_t * | rpaths | ||
| ) |
Definition at line 1025 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 fib_path_list_pool_size | ( | void | ) |
| int fib_path_list_recursive_loop_detect | ( | fib_node_index_t | path_list_index, |
| fib_node_index_t ** | entry_indicies | ||
| ) |
Definition at line 1252 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 562 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_path_list_unlock | ( | fib_node_index_t | path_list_index | ) |
Definition at line 1357 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_path_list_walk | ( | fib_node_index_t | path_list_index, |
| fib_path_list_walk_fn_t | func, | ||
| void * | ctx | ||
| ) |
Definition at line 1382 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fib_path_list_walk_w_ext | ( | fib_node_index_t | path_list_index, |
| const fib_path_ext_list_t * | ext_list, | ||
| fib_path_list_walk_w_ext_fn_t | func, | ||
| void * | ctx | ||
| ) |
Definition at line 1401 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 125 of file fib_path_list.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
|
static |
Definition at line 70 of file fib_path_list.c.
|
static |
Definition at line 80 of file fib_path_list.c.
| vlib_log_class_t fib_path_list_logger |
the logger
Definition at line 85 of file fib_path_list.c.
|
static |
Definition at line 75 of file fib_path_list.c.
|
static |
Definition at line 534 of file fib_path_list.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_fib_path_list)
Definition at line 1480 of file fib_path_list.c.