Reflood your old lsa.
This commit is contained in:
parent
13b02be25a
commit
3d410fdfa1
1 changed files with 5 additions and 2 deletions
|
@ -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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue