Reflood your old lsa.

This commit is contained in:
Ondrej Filip 2000-05-30 17:49:25 +00:00
parent 13b02be25a
commit 3d410fdfa1

View file

@ -20,6 +20,7 @@ ospf_age(struct top_hash_entry *en, bird_clock_t delta, int flush,
struct ospf_area *oa) struct ospf_area *oa)
{ {
struct proto *p=&oa->po->proto; struct proto *p=&oa->po->proto;
struct proto_ospf *po=(struct proto_ospf *)p;
if(en->lsa.age==LSA_MAXAGE) if(en->lsa.age==LSA_MAXAGE)
{ {
if(flush) flush_lsa(en,oa); 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)) 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((en->lsa.age+=delta)>LSA_MAXAGE)
{ {
if(flush) flush_lsa(en,oa); if(flush) flush_lsa(en,oa);
else en->lsa.age=LSA_MAXAGE; else en->lsa.age=LSA_MAXAGE;
return;
} }
} }