summaryrefslogtreecommitdiffstats
path: root/isisd/isis_sr.h
diff options
context:
space:
mode:
authorHiroki Shirokura <hiroki.shirokura@linecorp.com>2022-01-04 09:15:56 +0100
committerLouis Scalbert <louis.scalbert@6wind.com>2023-04-18 10:11:53 +0200
commitbdaafbf8344debcb24498c69d9024f9fc7cff56a (patch)
tree67b43e5e3bd272611d2ea445039719b6791d6099 /isisd/isis_sr.h
parentisisd: refactor IP reachability lsp build (diff)
downloadfrr-bdaafbf8344debcb24498c69d9024f9fc7cff56a.tar.xz
frr-bdaafbf8344debcb24498c69d9024f9fc7cff56a.zip
isisd: update struct isis_sr_psid_info with nh context
Prefix-SID nexthops and backup nexthops are stored respectively in isis_route_info->nexthops and isis_route_info->backup->nexthops. With Flex-Algo, there are multiple Prefix-SIDs for a single prefix in different algorithms. Each of these Prefix-SIDs performs SPF calculation with a separate contract and sets a nexthops, so it is necessary to store a different set nexthops for each Prefix-SID. Add a nexthops and backup nethops list into the Prefix-SID isis_sr_psid_info struct and use these lists instead of the when needed After this commit, the nexthops for each Prefix-SID is not taken from route_info, but the nexthop set inside the Prefix-SID is taken. This works for backup nexthops as well. Signed-off-by: Hiroki Shirokura <hiroki.shirokura@linecorp.com> Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Diffstat (limited to 'isisd/isis_sr.h')
-rw-r--r--isisd/isis_sr.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/isisd/isis_sr.h b/isisd/isis_sr.h
index 7c0222401..f5f0adf24 100644
--- a/isisd/isis_sr.h
+++ b/isisd/isis_sr.h
@@ -63,6 +63,9 @@ struct isis_sr_psid_info {
bool present;
uint8_t algorithm;
+
+ struct list *nexthops;
+ struct list *nexthops_backup;
};
/* Segment Routing Local Block allocation */