From a5b38c5bd252ab7bf2294a2303ce845df40d82dd Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Sun, 12 Jun 2016 17:31:50 +0200 Subject: lib: add hook infrastructure Please refer to lib/hook.h for a description/documentation. Signed-off-by: David Lamparter --- lib/libfrr.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib/libfrr.c') diff --git a/lib/libfrr.c b/lib/libfrr.c index 5c047040ae..64f8be2ca6 100644 --- a/lib/libfrr.c +++ b/lib/libfrr.c @@ -30,6 +30,8 @@ #include "log_int.h" #include "module.h" +DEFINE_HOOK(frr_late_init, (struct thread_master *tm), (tm)) + const char frr_sysconfdir[] = SYSCONFDIR; const char frr_vtydir[] = DAEMON_VTY_DIR; @@ -311,9 +313,9 @@ int frr_getopt(int argc, char * const argv[], int *longindex) return opt; } +static struct thread_master *master; struct thread_master *frr_init(void) { - struct thread_master *master; struct option_chain *oc; struct frrmod_runtime *module; char moderr[256]; @@ -354,6 +356,8 @@ struct thread_master *frr_init(void) void frr_config_fork(void) { + hook_call(frr_late_init, master); + if (di->instance) { snprintf(config_default, sizeof(config_default), "%s/%s-%d.conf", frr_sysconfdir, di->name, di->instance); -- cgit v1.2.3