diff options
author | Ondrej Filip <feela@network.cz> | 2004-06-11 09:36:50 +0000 |
---|---|---|
committer | Ondrej Filip <feela@network.cz> | 2004-06-11 09:36:50 +0000 |
commit | 1a61882d370e6aef99ebc11d6bbc4e9dc48c6b95 (patch) | |
tree | 13654b6d8ab69989e8b0787ec702511bb2025036 /proto/ospf/rt.h | |
parent | b1f7229ad7d0b10fcc1fde6645c8b8ebbb3644a6 (diff) |
Better routing table calculation. We are ready to work with
multiple OSPF areas.
Diffstat (limited to 'proto/ospf/rt.h')
-rw-r--r-- | proto/ospf/rt.h | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/proto/ospf/rt.h b/proto/ospf/rt.h index 73fe8780..ca3d0572 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_ */ |