summaryrefslogtreecommitdiff
path: root/isisd
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2024-09-23 10:24:36 +0200
committerGitHub <noreply@github.com>2024-09-23 10:24:36 +0200
commitfa200e837b1d027fd0d502c518cbbc84898c26d3 (patch)
treeb5c1cfdda6829151bccdf3db2a47ec69ccb7e4eb /isisd
parent2599b83308938b1464376442812d751f20aa0788 (diff)
parenta9af78af42403ba8b77baf6b576023a14ef80f19 (diff)
Merge pull request #16887 from zhou-run/202409211508
isisd: Fix infinity flag not being set successfully
Diffstat (limited to 'isisd')
-rw-r--r--isisd/isis_spf.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c
index 0f37ed012a..8fc0f144b2 100644
--- a/isisd/isis_spf.c
+++ b/isisd/isis_spf.c
@@ -1469,14 +1469,13 @@ static void spf_adj_list_parse_tlv(struct isis_spftree *spftree,
sadj->metric = metric;
if (oldmetric)
SET_FLAG(flags, F_ISIS_SPF_ADJ_OLDMETRIC);
+ if ((oldmetric && sadj->metric == ISIS_NARROW_METRIC_INFINITY) ||
+ (!oldmetric && sadj->metric == ISIS_WIDE_METRIC_INFINITY))
+ SET_FLAG(flags, F_ISIS_SPF_ADJ_METRIC_INFINITY);
sadj->lsp = lsp;
sadj->subtlvs = subtlvs;
sadj->flags = flags;
- if ((oldmetric && metric == ISIS_NARROW_METRIC_INFINITY)
- || (!oldmetric && metric == ISIS_WIDE_METRIC_INFINITY))
- SET_FLAG(flags, F_ISIS_SPF_ADJ_METRIC_INFINITY);
-
/* Set real adjacency. */
if (!CHECK_FLAG(spftree->flags, F_SPFTREE_NO_ADJACENCIES)
&& !LSP_PSEUDO_ID(id)) {