summaryrefslogtreecommitdiffstats
path: root/ldpd/ldpd.c
diff options
context:
space:
mode:
authorKaren Schoener <karen@voltanet.io>2020-02-20 20:27:49 +0100
committerlynne <lynne@voltanet.io>2020-03-20 22:11:33 +0100
commitaff1743c6462c584a463299407a8404e10de8e78 (patch)
tree2261b9842314d6e9a3599cc860ac62c0d100e54c /ldpd/ldpd.c
parentMerge pull request #5842 from qlyoung/fix-test-then-xfree-again (diff)
downloadfrr-aff1743c6462c584a463299407a8404e10de8e78.tar.xz
frr-aff1743c6462c584a463299407a8404e10de8e78.zip
ldpd: adding support for LDP ordered label distribution control
LDP ordered label distribution control only binds a label to a FEC if it is the egress LSR, or the router received a label binding for a FEC from the next hop router. In this mode, an MPLS router will create a label binding for each FEC and distribute it to its neighbors so long as he has a entry in the RIB for the destination. Signed-off-by: Lynne Morrison <lynne@voltanet.io> Signed-off-by: Karen Schoener <karen@voltanet.io>
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 dcbcf8ce5..9afd92d07 100644
--- a/ldpd/ldpd.c
+++ b/ldpd/ldpd.c
@@ -1284,6 +1284,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;