misc: add callback hooks and refactor pmc
Callbacks for monitoring and performance measurement: - Add new callback list type, with context - Add callbacks for API, CLI, and barrier sync - Modify node dispatch callback to pass plugin-specific context - Modify perfmon plugin to keep PMC samples local to the plugin - Include process nodes in dispatch callback - Pass dispatch function return value to callback Type: refactor Signed-off-by: Tom Seidenberg <tseidenb@cisco.com> Change-Id: I28b06c58490611e08d76ff5b01b2347ba2109b22
This commit is contained in:

committed by
Dave Barach

parent
bab02f0b18
commit
6c81f5a249
@ -317,6 +317,19 @@ static void __vlib_rm_config_function_##x (void) \
|
||||
_error; \
|
||||
})
|
||||
|
||||
#define vlib_call_main_loop_enter_function(vm, x) \
|
||||
({ \
|
||||
extern vlib_init_function_t * VLIB_MAIN_LOOP_ENTER_FUNCTION_SYMBOL (x); \
|
||||
vlib_init_function_t * _f = VLIB_MAIN_LOOP_ENTER_FUNCTION_SYMBOL (x); \
|
||||
clib_error_t * _error = 0; \
|
||||
if (! hash_get (vm->init_functions_called, _f)) \
|
||||
{ \
|
||||
hash_set1 (vm->init_functions_called, _f); \
|
||||
_error = _f (vm); \
|
||||
} \
|
||||
_error; \
|
||||
})
|
||||
|
||||
/* External functions. */
|
||||
clib_error_t *vlib_call_all_init_functions (struct vlib_main_t *vm);
|
||||
clib_error_t *vlib_call_all_config_functions (struct vlib_main_t *vm,
|
||||
|
Reference in New Issue
Block a user