summaryrefslogtreecommitdiff
path: root/isisd/isis_spf.c
diff options
context:
space:
mode:
Diffstat (limited to 'isisd/isis_spf.c')
-rw-r--r--isisd/isis_spf.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c
index 86302076f8..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)) {
@@ -2337,7 +2336,7 @@ static void isis_print_paths(struct vty *vty, struct isis_vertex_queue *queue,
if (json == NULL) {
table = ttable_dump(tt, "\n");
vty_out(vty, "%s\n", table);
- XFREE(MTYPE_TMP, table);
+ XFREE(MTYPE_TMP_TTABLE, table);
} else
*json = ttable_json_with_json_text(
tt, "ssdsss",
@@ -3016,7 +3015,7 @@ void isis_print_routes(struct vty *vty, struct isis_spftree *spftree,
table = ttable_dump(tt, "\n");
vty_out(vty, "%s\n", table);
- XFREE(MTYPE_TMP, table);
+ XFREE(MTYPE_TMP_TTABLE, table);
} else if (json) {
*json = ttable_json_with_json_text(
tt, prefix_sid ? "sdssdsdd" : "sdsss",
@@ -3458,7 +3457,7 @@ static void isis_print_frr_summary(struct vty *vty,
/* Dump the generated table. */
table = ttable_dump(tt, "\n");
vty_out(vty, "%s\n", table);
- XFREE(MTYPE_TMP, table);
+ XFREE(MTYPE_TMP_TTABLE, table);
ttable_del(tt);
}