summaryrefslogtreecommitdiff
path: root/ldpd/ldpd.c
diff options
context:
space:
mode:
Diffstat (limited to 'ldpd/ldpd.c')
-rw-r--r--ldpd/ldpd.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ldpd/ldpd.c b/ldpd/ldpd.c
index 78b1c3e544..0f9f055d02 100644
--- a/ldpd/ldpd.c
+++ b/ldpd/ldpd.c
@@ -1285,6 +1285,14 @@ merge_global(struct ldpd_conf *conf, struct ldpd_conf *xconf)
conf->rtr_id = xconf->rtr_id;
}
+ /*
+ * Configuration of ordered-control or independent-control
+ * requires resetting all neighborships.
+ */
+ if ((conf->flags & F_LDPD_ORDERED_CONTROL) !=
+ (xconf->flags & F_LDPD_ORDERED_CONTROL))
+ ldpe_reset_nbrs(AF_UNSPEC);
+
conf->lhello_holdtime = xconf->lhello_holdtime;
conf->lhello_interval = xconf->lhello_interval;
conf->thello_holdtime = xconf->thello_holdtime;