![]() |
FD.io VPP
v19.01.3-6-g70449b9b9
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 94 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 convergnece and forwarding speed. Popular path-lists generate load-balance maps for the entires 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 37 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 541 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 464 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 504 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 1243 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 1282 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 1158 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 434 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 879 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 * | rpath | ||
| ) |
Definition at line 1032 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 681 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 773 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 218 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 211 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 249 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 238 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 278 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 294 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 309 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 169 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 1189 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 594 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 610 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 448 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 176 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 646 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 656 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 1291 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 362 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 407 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 1372 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_path_add | ( | fib_node_index_t | path_list_index, |
| const fib_route_path_t * | rpaths | ||
| ) |
Definition at line 830 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_path_remove | ( | fib_node_index_t | path_list_index, |
| const fib_route_path_t * | rpaths | ||
| ) |
Definition at line 980 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 1199 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 561 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 1304 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 1329 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 1348 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 129 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 74 of file fib_path_list.c.
|
static |
Definition at line 84 of file fib_path_list.c.
| vlib_log_class_t fib_path_list_logger |
the logger
Definition at line 89 of file fib_path_list.c.
|
static |
Definition at line 79 of file fib_path_list.c.
|
static |
Definition at line 533 of file fib_path_list.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_fib_path_list)
Definition at line 1427 of file fib_path_list.c.