summaryrefslogtreecommitdiff
path: root/isisd/isisd.c
diff options
context:
space:
mode:
Diffstat (limited to 'isisd/isisd.c')
-rw-r--r--isisd/isisd.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/isisd/isisd.c b/isisd/isisd.c
index a802bac13b..487a902c06 100644
--- a/isisd/isisd.c
+++ b/isisd/isisd.c
@@ -89,6 +89,10 @@ static struct isis_master isis_master;
/* ISIS process wide configuration pointer to export. */
struct isis_master *im;
+#ifndef FABRICD
+DEFINE_HOOK(isis_hook_db_overload, (const struct isis_area *area), (area));
+#endif /* ifndef FABRICD */
+
/*
* Prototypes.
*/
@@ -214,6 +218,7 @@ struct isis *isis_new(const char *vrf_name)
isis->area_list = list_new();
isis->init_circ_list = list_new();
isis->uptime = time(NULL);
+ isis->snmp_notifications = 1;
dyn_cache_init(isis);
return isis;
@@ -2563,6 +2568,14 @@ void isis_area_overload_bit_set(struct isis_area *area, bool overload_bit)
if (new_overload_bit != area->overload_bit) {
area->overload_bit = new_overload_bit;
+
+ if (new_overload_bit)
+ area->overload_counter++;
+
+#ifndef FABRICD
+ hook_call(isis_hook_db_overload, area);
+#endif /* ifndef FABRICD */
+
lsp_regenerate_schedule(area, IS_LEVEL_1 | IS_LEVEL_2, 1);
}
#ifndef FABRICD