From d80e23f8d3545bef717feb89ab985674a484d3eb Mon Sep 17 00:00:00 2001 From: Emanuele Di Pascale Date: Thu, 28 May 2020 15:46:56 +0200 Subject: [PATCH] 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 --- isisd/isis_circuit.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index 1f76a3b2b..003be8d68 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); } -- 2.39.2