summaryrefslogtreecommitdiff
path: root/proto/ospf/ospf.h
diff options
context:
space:
mode:
authorOndrej Filip <feela@network.cz>2000-05-31 14:06:33 +0000
committerOndrej Filip <feela@network.cz>2000-05-31 14:06:33 +0000
commit70a383198ae08bed395f2a083c1bea5b37447705 (patch)
tree1a67b5135a041977a5928d5885f702718d28b21a /proto/ospf/ospf.h
parentaa185265f1cb310c053edb1a3bde28b4dab94964 (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.h10
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)