summaryrefslogtreecommitdiffstats
path: root/ospfd/ospf_ti_lfa.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospfd/ospf_ti_lfa.c')
-rw-r--r--ospfd/ospf_ti_lfa.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ospfd/ospf_ti_lfa.c b/ospfd/ospf_ti_lfa.c
index 61c278575..b0a10845c 100644
--- a/ospfd/ospf_ti_lfa.c
+++ b/ospfd/ospf_ti_lfa.c
@@ -249,11 +249,15 @@ static void ospf_ti_lfa_generate_q_spaces(struct ospf_area *area,
new_rtrs = route_table_init();
/*
- * Generate a new SPF tree for this vertex,
+ * Generate a new (reversed!) SPF tree for this vertex,
* dry run true, root node false
*/
+ area->spf_reversed = true;
ospf_spf_calculate(area, dest->lsa_p, new_table, new_rtrs, true, false);
+ /* Reset the flag for reverse SPF */
+ area->spf_reversed = false;
+
q_space->root = area->spf;
q_space->vertex_list = area->spf_vertex_list;
q_space->label_stack = NULL;