summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_spf.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_spf.c')
-rw-r--r--ospf6d/ospf6_spf.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ospf6d/ospf6_spf.c b/ospf6d/ospf6_spf.c
index e78f7f6a..a4a5b721 100644
--- a/ospf6d/ospf6_spf.c
+++ b/ospf6d/ospf6_spf.c
@@ -391,10 +391,6 @@ ospf6_spf_calculation (u_int32_t router_id,
caddr_t lsdesc;
struct ospf6_lsa *lsa;
- /* initialize */
- candidate_list = pqueue_create ();
- candidate_list->cmp = ospf6_vertex_cmp;
-
ospf6_spf_table_finish (result_table);
/* Install the calculating router itself as the root of the SPF tree */
@@ -403,6 +399,11 @@ ospf6_spf_calculation (u_int32_t router_id,
router_id, oa->lsdb);
if (lsa == NULL)
return;
+
+ /* initialize */
+ candidate_list = pqueue_create ();
+ candidate_list->cmp = ospf6_vertex_cmp;
+
root = ospf6_vertex_create (lsa);
root->area = oa;
root->cost = 0;