* ospf_lsa.h: New flag to the LSA structure for the SPF calculation.
* ospf_lsdb.h: Export ospf_lsdb_clean_stat() function.
* ospf_spf.h: Add link to the LSA stat structure into vertex.
* ospf_spf.c: New functions cmp() and update_stat() to manage
candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(),
ospf_install_candidate() and ospf_spf_register() functions not needed
any more. Update ospf_vertex_new(), ospf_spf_next() and
ospf_spf_calculate() functions to use pqueue instead of linked list.
diff --git a/ospfd/ospf_lsa.h b/ospfd/ospf_lsa.h
index 6d10e64..952ca77 100644
--- a/ospfd/ospf_lsa.h
+++ b/ospfd/ospf_lsa.h
@@ -90,6 +90,12 @@
/* All of reference count, also lock to remove. */
int lock;
+ /* Flags for the SPF calculation. */
+ int stat;
+ #define LSA_SPF_NOT_EXPLORED -1
+ #define LSA_SPF_IN_SPFTREE -2
+ /* If stat >= 0, stat is LSA position in candidates heap. */
+
/* References to this LSA in neighbor retransmission lists*/
int retransmit_counter;