|  | FD.io VPP
    v21.01.1
    Vector Packet Processing | 
 Include dependency graph for fib_path_list.c:
 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 95 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 547 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 470 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
Definition at line 510 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 1301 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 1340 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 1216 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 440 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 912 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 1091 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 687 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 779 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
| 
 | static | 
Definition at line 222 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:Definition at line 215 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:Definition at line 253 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:Definition at line 242 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
Definition at line 282 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
Definition at line 298 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| u32 fib_path_list_db_size | ( | void | ) | 
| 
 | static | 
Definition at line 313 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 170 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 1247 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 600 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 616 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 454 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
Definition at line 177 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 652 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 662 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 1349 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
| 
 | static | 
Definition at line 366 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
[re]build the path list's uRPF list
Definition at line 413 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| void fib_path_list_module_init | ( | void | ) | 
Definition at line 1430 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 836 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 1030 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 1257 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
Definition at line 567 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 1362 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 1387 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 1406 of file fib_path_list.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller 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 call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
| 
 | static | 
Definition at line 75 of file fib_path_list.c.
| 
 | static | 
Definition at line 85 of file fib_path_list.c.
| vlib_log_class_t fib_path_list_logger | 
the logger
Definition at line 90 of file fib_path_list.c.
| 
 | static | 
Definition at line 80 of file fib_path_list.c.
| 
 | static | 
Definition at line 539 of file fib_path_list.c.
| 
 | static | 
(constructor) VLIB_CLI_COMMAND (show_fib_path_list)
Definition at line 1485 of file fib_path_list.c.