diff options
| author | Emanuele Di Pascale <emanuele@voltanet.io> | 2020-05-28 15:46:56 +0200 |
|---|---|---|
| committer | Emanuele Di Pascale <emanuele@voltanet.io> | 2020-05-29 16:41:16 +0200 |
| commit | d80e23f8d3545bef717feb89ab985674a484d3eb (patch) | |
| tree | 77a8eae0f13f401585b11feac1c2fa411e819497 | |
| parent | 276b698a43050393a2f73c24e254581b37cf7bbf (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.c | 3 |
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); } |
