diff options
author | Ondrej Filip <feela@network.cz> | 2000-05-31 14:06:33 +0000 |
---|---|---|
committer | Ondrej Filip <feela@network.cz> | 2000-05-31 14:06:33 +0000 |
commit | 70a383198ae08bed395f2a083c1bea5b37447705 (patch) | |
tree | 1a67b5135a041977a5928d5885f702718d28b21a /proto/ospf/ospf.h | |
parent | aa185265f1cb310c053edb1a3bde28b4dab94964 (diff) |
LSArt origination and routing table calculation is now not doing so
often. Instead of calculation I just schedule it latter.
Diffstat (limited to 'proto/ospf/ospf.h')
-rw-r--r-- | proto/ospf/ospf.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/proto/ospf/ospf.h b/proto/ospf/ospf.h index 63c4fc22..81760355 100644 --- a/proto/ospf/ospf.h +++ b/proto/ospf/ospf.h @@ -42,7 +42,7 @@ #define MINLSINTERVAL 5 #define MINLSARRIVAL 1 #define LSINFINITY 0xffff /* RFC says 0xffffff ??? */ -#define AGINGDELTA 7 /* FIXME What's good value? */ +#define DISPTICK 7 /* FIXME What's good value? */ struct ospf_config { struct proto_config c; @@ -324,8 +324,9 @@ struct ospf_neighbor struct ospf_area { node n; u32 areaid; - bird_clock_t lage; /* A time of last aging */ - timer *age_timer; /* A timer for aging */ + timer *disp_timer; /* Area's dispatcher hear beat */ + int calcrt; /* Routing table calculation scheduled? */ + int origrt; /* Rt lsa origination scheduled? */ struct top_graph *gr; /* LSA graph */ slist lsal; /* List of all LSA's */ struct top_hash_entry *rt; /* My own router LSA */ @@ -356,6 +357,9 @@ int ospf_import_control(struct proto *p, rte **new, ea_list **attrs, struct ea_list *ospf_make_tmp_attrs(struct rte *rt, struct linpool *pool); void ospf_store_tmp_attrs(struct rte *rt, struct ea_list *attrs); void ospf_rt_notify(struct proto *p, net *n, rte *new, rte *old,ea_list *attrs); +void area_disp(timer *timer); +void schedule_rt_lsa(struct ospf_area *oa); +void schedule_rtcalc(struct ospf_area *oa); #define EA_OSPF_METRIC1 EA_CODE(EAP_OSPF, 0) #define EA_OSPF_METRIC2 EA_CODE(EAP_OSPF, 1) |