diff options
author | Hiroki Shirokura <hiroki.shirokura@linecorp.com> | 2022-01-04 09:15:56 +0100 |
---|---|---|
committer | Louis Scalbert <louis.scalbert@6wind.com> | 2023-04-18 10:11:53 +0200 |
commit | bdaafbf8344debcb24498c69d9024f9fc7cff56a (patch) | |
tree | 67b43e5e3bd272611d2ea445039719b6791d6099 /isisd/isis_sr.h | |
parent | isisd: refactor IP reachability lsp build (diff) | |
download | frr-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.h | 3 |
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 */ |