![]() |
FD.io VPP
v19.04.3-1-gdfec10d13
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 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 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 544 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 467 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 507 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 1246 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 1285 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 1161 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 437 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 882 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 1035 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 684 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 776 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 221 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 214 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 252 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 241 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 281 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 297 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 312 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 1192 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 597 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 613 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 451 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 649 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 659 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 1294 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 365 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 410 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 1375 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 833 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 983 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 1202 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 564 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 1307 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 1332 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 1351 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 536 of file fib_path_list.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_fib_path_list)
Definition at line 1430 of file fib_path_list.c.