diff options
Diffstat (limited to 'ospfd/ospf_spf.h')
-rw-r--r-- | ospfd/ospf_spf.h | 17 |
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 *); |