Init function ordering and execution implementation Topological sort for all classes of init functions, and a relatively simple API routine to invoke them.
More...
|
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) |
|
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.