summaryrefslogtreecommitdiffstats
path: root/proto/ospf/topology.h
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2009-09-17 12:18:03 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2009-09-17 12:18:03 +0200
commit9f0ba7b1c7a0754c473b8ab202f572c9c8363285 (patch)
treec92766b0c36021f56e884b10efbe5c1db971b888 /proto/ospf/topology.h
parentc15e569065e80f91b4c9c77b86640aac72aa0a47 (diff)
downloadbird-9f0ba7b1c7a0754c473b8ab202f572c9c8363285.tar
bird-9f0ba7b1c7a0754c473b8ab202f572c9c8363285.zip
Implements proper RID handling in OSPFv3.
Diffstat (limited to 'proto/ospf/topology.h')
-rw-r--r--proto/ospf/topology.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/proto/ospf/topology.h b/proto/ospf/topology.h
index 5bb3397..f6ba019 100644
--- a/proto/ospf/topology.h
+++ b/proto/ospf/topology.h
@@ -72,7 +72,20 @@ void check_sum_lsa(struct proto_ospf *po, ort *nf, int);
void originate_sum_lsa(struct ospf_area *oa, struct fib_node *fn, int type, int metric, u32 options);
void flush_sum_lsa(struct ospf_area *oa, struct fib_node *fn, int type);
+#ifdef OSPFv2
+struct top_hash_entry * ospf_hash_find_net(struct top_graph *f, u32 domain, u32 lsa);
+static inline struct top_hash_entry *
+ospf_hash_find_rt(struct top_graph *f, u32 domain, u32 rtr)
+{
+ return ospf_hash_find(f, domain, rtr, rtr, LSA_T_RT);
+}
+
+#else /* OSPFv3 */
+struct top_hash_entry * ospf_hash_find_rt(struct top_graph *f, u32 domain, u32 rtr);
+struct top_hash_entry * ospf_hash_find_rt_first(struct top_graph *f, u32 domain, u32 rtr);
+struct top_hash_entry * ospf_hash_find_rt_next(struct top_hash_entry *e);
+#endif
#endif /* _BIRD_OSPF_TOPOLOGY_H_ */