summaryrefslogtreecommitdiffstats
path: root/isisd/isis_circuit.c
diff options
context:
space:
mode:
authorRuss White <russ@riw.us>2022-01-18 16:12:08 +0100
committerGitHub <noreply@github.com>2022-01-18 16:12:08 +0100
commit18ed776ca29533f6c49479b1a0dd95d36bb6b5ec (patch)
tree2b03c65d7b92d5988f660f4f477191e14e6a3cc8 /isisd/isis_circuit.c
parentMerge pull request #9644 from opensourcerouting/ospf-opaque-attrs (diff)
parenttopotests: Add new IS-IS Traffic Engineering tests (diff)
downloadfrr-18ed776ca29533f6c49479b1a0dd95d36bb6b5ec.tar.xz
frr-18ed776ca29533f6c49479b1a0dd95d36bb6b5ec.zip
Merge pull request #9938 from Orange-OpenSource/isis_ls
isisd: Add Link State Traffic Engineering support
Diffstat (limited to 'isisd/isis_circuit.c')
-rw-r--r--isisd/isis_circuit.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index a91bbd0b9..0ad6190ba 100644
--- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c
@@ -335,8 +335,16 @@ void isis_circuit_add_addr(struct isis_circuit *circuit,
if (IN6_IS_ADDR_LINKLOCAL(&ipv6->prefix))
listnode_add(circuit->ipv6_link, ipv6);
- else
+ else {
listnode_add(circuit->ipv6_non_link, ipv6);
+ /* Update Local IPv6 address param. if MPLS TE is on */
+ if (circuit->ext && circuit->area
+ && IS_MPLS_TE(circuit->area->mta)) {
+ IPV6_ADDR_COPY(&circuit->ext->local_addr6,
+ &ipv6->prefix);
+ SET_SUBTLV(circuit->ext, EXT_LOCAL_ADDR6);
+ }
+ }
if (circuit->area)
lsp_regenerate_schedule(circuit->area, circuit->is_type,
0);