summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmanuele Di Pascale <emanuele@voltanet.io>2020-05-28 15:46:56 +0200
committerEmanuele Di Pascale <emanuele@voltanet.io>2020-05-29 16:41:16 +0200
commitd80e23f8d3545bef717feb89ab985674a484d3eb (patch)
tree77a8eae0f13f401585b11feac1c2fa411e819497
parent276b698a43050393a2f73c24e254581b37cf7bbf (diff)
isisd: fix local address TE TLV
we were not correctly checking the MPLS-TE status of the area when adding an IP address to a circuit, and this was preventing the local address TLV to be populated after an interfaced flap. Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
-rw-r--r--isisd/isis_circuit.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index 1f76a3b2bb..003be8d682 100644
--- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c
@@ -267,7 +267,8 @@ void isis_circuit_add_addr(struct isis_circuit *circuit,
listnode_add(circuit->ip_addrs, ipv4);
/* Update Local IP address parameter if MPLS TE is enable */
- if (circuit->ext && IS_MPLS_TE(circuit->ext)) {
+ if (circuit->ext && circuit->area
+ && IS_MPLS_TE(circuit->area->mta)) {
circuit->ext->local_addr.s_addr = ipv4->prefix.s_addr;
SET_SUBTLV(circuit->ext, EXT_LOCAL_ADDR);
}