From 1a61882d370e6aef99ebc11d6bbc4e9dc48c6b95 Mon Sep 17 00:00:00 2001 From: Ondrej Filip Date: Fri, 11 Jun 2004 09:36:50 +0000 Subject: Better routing table calculation. We are ready to work with multiple OSPF areas. --- proto/ospf/rt.h | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) (limited to 'proto/ospf/rt.h') diff --git a/proto/ospf/rt.h b/proto/ospf/rt.h index 73fe878..ca3d057 100644 --- a/proto/ospf/rt.h +++ b/proto/ospf/rt.h @@ -10,31 +10,34 @@ #ifndef _BIRD_OSPF_RT_H_ #define _BIRD_OSPF_RT_H_ -struct infib +typedef struct orta { - struct fib_node fn; - u16 metric; - u16 oldmetric; - struct top_hash_entry *en; - struct top_hash_entry *olden; -}; + int type; + int capa; + struct ospf_area *oa; + int metric1; + int metric2; + ip_addr nh; /* Next hop */ + struct iface *ifa; /* Outgoing interface */ + struct top_hash_entry *ar; /* Advertising router */ + u32 tag; +} +orta; -struct extfib +typedef struct ort { struct fib_node fn; - u16 metric; - u16 metric2; - ip_addr nh; - u32 tag; - struct iface *nhi; - u16 oldmetric; - u16 oldmetric2; - ip_addr oldnh; - u32 oldtag; -}; + int dest; +#define ORT_UNDEF -1 +#define ORT_ROUTER 1 +#define ORT_NET 0 + orta n; + orta o; +} +ort; void ospf_rt_spf(struct proto_ospf *po); -void init_infib(struct fib_node *fn); -void init_efib(struct fib_node *fn); +void ospf_rt_initort(struct fib_node *fn); + #endif /* _BIRD_OSPF_RT_H_ */ -- cgit v1.2.3