summaryrefslogtreecommitdiff
path: root/ospfd/ospf_spf.h
diff options
context:
space:
mode:
Diffstat (limited to 'ospfd/ospf_spf.h')
-rw-r--r--ospfd/ospf_spf.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/ospfd/ospf_spf.h b/ospfd/ospf_spf.h
index 1aa871ae..50e590d6 100644
--- a/ospfd/ospf_spf.h
+++ b/ospfd/ospf_spf.h
@@ -36,11 +36,10 @@ struct vertex
u_char type; /* copied from LSA header */
struct in_addr id; /* copied from LSA header */
struct lsa_header *lsa; /* Router or Network LSA */
- int * stat; /* Link to LSA status. */
- u_int32_t distance; /* from root to this vertex */
- int backlink; /* link index of back-link */
- struct list *child; /* list of vertex: children in SPF tree*/
- struct list *nexthop; /* list of vertex_nexthop from root to this vertex */
+ int *stat; /* Link to LSA status. */
+ u_int32_t distance; /* from root to this vertex */
+ struct list *parents; /* list of parents in SPF tree */
+ struct list *children; /* list of children in SPF tree*/
};
/* A nexthop taken on the root node to get to this (parent) vertex */
@@ -48,7 +47,13 @@ struct vertex_nexthop
{
struct ospf_interface *oi; /* output intf on root node */
struct in_addr router; /* router address to send to */
- struct vertex *parent; /* parent in SPF tree */
+};
+
+struct vertex_parent
+{
+ struct vertex_nexthop *nexthop; /* link to nexthop info for this parent */
+ struct vertex *parent; /* parent vertex */
+ int backlink; /* index back to parent for router-lsa's */
};
extern void ospf_spf_calculate_schedule (struct ospf *);