![]() |
FD.io VPP
v20.05.1-6-gf53edbc3b
Vector Packet Processing
|
Init function ordering and execution implementation Topological sort for all classes of init functions, and a relatively simple API routine to invoke them. More...
Go to the source code of this file.
Functions | |
static int | comma_split (u8 *s, u8 **a, u8 **b) |
clib_error_t * | vlib_sort_init_exit_functions (_vlib_init_function_list_elt_t **head) |
Topological sorter for init function chains. More... | |
**and **static clib_error_t * | init_runs_first (vlib_main_t *vm) * |
**The first form will [most likely] call init_runs_next on the *spot The second form means that init_runs_first runs before possibly much earlier in the sequence **Please DO NOT construct sets of init functions where A before B *actually means A *right before *B It s not necessary simply combine *A and B and it leads to hugely annoying debugging exercises *static clib_error_t * | call_init_exit_functions_internal (vlib_main_t *vm, _vlib_init_function_list_elt_t **headp, int call_once, int do_sort) |
clib_error_t * | vlib_call_init_exit_functions (vlib_main_t *vm, _vlib_init_function_list_elt_t **headp, int call_once) |
clib_error_t * | vlib_call_init_exit_functions_no_sort (vlib_main_t *vm, _vlib_init_function_list_elt_t **headp, int call_once) |
clib_error_t * | vlib_call_all_init_functions (vlib_main_t *vm) |
clib_error_t * | vlib_call_all_main_loop_enter_functions (vlib_main_t *vm) |
clib_error_t * | vlib_call_all_main_loop_exit_functions (vlib_main_t *vm) |
clib_error_t * | vlib_call_all_config_functions (vlib_main_t *vm, unformat_input_t *input, int is_early) |
void | vlib_init_dump (void) |
static clib_error_t * | show_init_function_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
Variables | |
**The first form will [most likely] call init_runs_next on the *spot The second form means that init_runs_first runs before * | init_runs_next |
static vlib_cli_command_t | show_init_function |
(constructor) VLIB_CLI_COMMAND (show_init_function) More... | |
Init function ordering and execution implementation Topological sort for all classes of init functions, and a relatively simple API routine to invoke them.
Definition in file init.c.
|
inlinestatic |
|
static |
|
static |
clib_error_t* vlib_call_all_config_functions | ( | vlib_main_t * | vm, |
unformat_input_t * | input, | ||
int | is_early | ||
) |
clib_error_t* vlib_call_all_init_functions | ( | vlib_main_t * | vm | ) |
clib_error_t* vlib_call_all_main_loop_enter_functions | ( | vlib_main_t * | vm | ) |
clib_error_t* vlib_call_all_main_loop_exit_functions | ( | vlib_main_t * | vm | ) |
clib_error_t* vlib_call_init_exit_functions | ( | vlib_main_t * | vm, |
_vlib_init_function_list_elt_t ** | headp, | ||
int | call_once | ||
) |
clib_error_t* vlib_call_init_exit_functions_no_sort | ( | vlib_main_t * | vm, |
_vlib_init_function_list_elt_t ** | headp, | ||
int | call_once | ||
) |
clib_error_t* vlib_sort_init_exit_functions | ( | _vlib_init_function_list_elt_t ** | head | ) |
Topological sorter for init function chains.
head | [in/out] address of the listhead to be sorted |
Definition at line 76 of file init.c.
* * The first form will [most likely] call init_runs_next on the* spot The second form means that init_runs_first runs before* init_runs_next |
|
static |
(constructor) VLIB_CLI_COMMAND (show_init_function)