summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOndrej Filip <feela@network.cz>2000-05-30 19:49:25 +0200
committerOndrej Filip <feela@network.cz>2000-05-30 19:49:25 +0200
commit3d410fdfa1a6fc20952cf94b39ebff197a3c065a (patch)
tree4414b4116b62b90798b9f9d7cc477052cbb87877
parent13b02be25a41d7a505f7a888f948220a15edcf8a (diff)
downloadbird-3d410fdfa1a6fc20952cf94b39ebff197a3c065a.tar
bird-3d410fdfa1a6fc20952cf94b39ebff197a3c065a.zip
Reflood your old lsa.
-rw-r--r--proto/ospf/lsalib.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/proto/ospf/lsalib.c b/proto/ospf/lsalib.c
index face9dc..91a73f0 100644
--- a/proto/ospf/lsalib.c
+++ b/proto/ospf/lsalib.c
@@ -20,6 +20,7 @@ ospf_age(struct top_hash_entry *en, bird_clock_t delta, int flush,
struct ospf_area *oa)
{
struct proto *p=&oa->po->proto;
+ struct proto_ospf *po=(struct proto_ospf *)p;
if(en->lsa.age==LSA_MAXAGE)
{
if(flush) flush_lsa(en,oa);
@@ -27,13 +28,15 @@ ospf_age(struct top_hash_entry *en, bird_clock_t delta, int flush,
}
if((en->lsa.rt==p->cf->global->router_id)&&(en->lsa.age>LSREFRESHTIME))
{
- /* FIXME Reflood again my self originated LSA */
+ en->lsa.sn++;
+ en->lsa.age=0;
+ flood_lsa(NULL,NULL,&en->lsa,po,NULL,oa,1);
+ return;
}
if((en->lsa.age+=delta)>LSA_MAXAGE)
{
if(flush) flush_lsa(en,oa);
else en->lsa.age=LSA_MAXAGE;
- return;
}
}