summaryrefslogtreecommitdiff
path: root/isisd/isis_lsp.c
diff options
context:
space:
mode:
authorHiroki Shirokura <hiroki.shirokura@linecorp.com>2021-12-11 02:21:30 +0000
committerLouis Scalbert <louis.scalbert@6wind.com>2023-04-17 11:06:08 +0200
commit1f0d13e92225aaeddd72352d57f1dc26c54f6b53 (patch)
treea6f07fd9f696e394ea6036b7b00dd48c4e9fd053 /isisd/isis_lsp.c
parent329f87b31006e02dffcfc518c24787aa67f5d49f (diff)
isisd: update struct sr_prefix_cfg with algorithm id
The information in prefix-sid has a new property called algorithm id. This is used to identify the algorithm that separates it in the same IGP network. This is used in Flex-Algo.In all other cases, the algorithm id is basically 0. Signed-off-by: Hiroki Shirokura <hiroki.shirokura@linecorp.com> Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Diffstat (limited to 'isisd/isis_lsp.c')
-rw-r--r--isisd/isis_lsp.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c
index fb69448d04..dc43822847 100644
--- a/isisd/isis_lsp.c
+++ b/isisd/isis_lsp.c
@@ -907,7 +907,8 @@ static void lsp_build_ext_reach_ipv4(struct isis_lsp *lsp,
struct sr_prefix_cfg *pcfg = NULL;
if (area->srdb.enabled)
- pcfg = isis_sr_cfg_prefix_find(area, ipv4);
+ pcfg = isis_sr_cfg_prefix_find(
+ area, ipv4, SR_ALGORITHM_SPF);
isis_tlvs_add_extended_ip_reach(lsp->tlvs, ipv4, metric,
true, pcfg);
@@ -941,7 +942,8 @@ static void lsp_build_ext_reach_ipv6(struct isis_lsp *lsp,
struct sr_prefix_cfg *pcfg = NULL;
if (area->srdb.enabled)
- pcfg = isis_sr_cfg_prefix_find(area, p);
+ pcfg = isis_sr_cfg_prefix_find(
+ area, p, SR_ALGORITHM_SPF);
isis_tlvs_add_ipv6_reach(lsp->tlvs,
isis_area_ipv6_topology(area),
@@ -1205,7 +1207,8 @@ static void lsp_build(struct isis_lsp *lsp, struct isis_area *area)
if (area->srdb.enabled)
pcfg = isis_sr_cfg_prefix_find(
- area, ipv4);
+ area, ipv4,
+ SR_ALGORITHM_SPF);
isis_tlvs_add_extended_ip_reach(
lsp->tlvs, ipv4, metric, false,
@@ -1228,7 +1231,7 @@ static void lsp_build(struct isis_lsp *lsp, struct isis_area *area)
if (area->srdb.enabled)
pcfg = isis_sr_cfg_prefix_find(area,
- ipv6);
+ ipv6, 0);
isis_tlvs_add_ipv6_reach(
lsp->tlvs,