![]() |
FD.io VPP
v18.04-17-g3a0d853
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 |
| 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 101 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 36 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 521 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 447 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 484 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 1223 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 1262 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 1138 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 417 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 859 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 1012 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 661 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 753 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 |
| adj_index_t fib_path_list_get_adj | ( | fib_node_index_t | path_list_index, |
| fib_forward_chain_type_t | type | ||
| ) |
Definition at line 1169 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 574 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 590 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 431 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 626 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 636 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 1271 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 350 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 390 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 1331 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 810 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 960 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 1179 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 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_unlock | ( | fib_node_index_t | path_list_index | ) |
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_walk | ( | fib_node_index_t | path_list_index, |
| fib_path_list_walk_fn_t | func, | ||
| void * | ctx | ||
| ) |
Definition at line 1311 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 130 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 73 of file fib_path_list.c.
|
static |
Definition at line 83 of file fib_path_list.c.
|
static |
Definition at line 78 of file fib_path_list.c.
|
static |
Definition at line 513 of file fib_path_list.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_fib_path_list)
Definition at line 1385 of file fib_path_list.c.