Test for "flushing" added.

This commit is contained in:
Ondrej Filip 2000-05-03 22:36:12 +00:00
parent a02c6c184b
commit 9e48d717cf
2 changed files with 6 additions and 8 deletions

View file

@ -30,14 +30,14 @@ ospf_rt_spfa(struct ospf_area *oa)
int age=0,flush=0; int age=0,flush=0;
struct proto *p=&oa->po->proto; struct proto *p=&oa->po->proto;
/* FIXME if I'm not in LOADING or EXCHANGE set flush=1 */ flush=can_flush_lsa(oa);
if((delta=now-oa->lage)>=AGINGDELTA) if((delta=now-oa->lage)>=AGINGDELTA)
{ {
oa->lage=now; oa->lage=now;
age=1; age=1;
} }
WALK_SLIST_DELSAFE(SNODE en, nx, oa->lsal) /* FIXME Make it DELSAFE */ WALK_SLIST_DELSAFE(SNODE en, nx, oa->lsal)
{ {
en->color=OUTSPF; en->color=OUTSPF;
en->dist=LSINFINITY; en->dist=LSINFINITY;

View file

@ -159,7 +159,7 @@ age_timer_hook(timer *timer)
struct top_hash_entry *en,*nxt; struct top_hash_entry *en,*nxt;
int flush=0; int flush=0;
/* FIXME Fill flush! */ flush=can_flush_lsa(oa);
if((delta=now-oa->lage)>=AGINGDELTA) if((delta=now-oa->lage)>=AGINGDELTA)
{ {
@ -515,7 +515,6 @@ can_flush_lsa(struct ospf_area *oa)
struct ospf_iface *ifa; struct ospf_iface *ifa;
struct ospf_neighbor *n; struct ospf_neighbor *n;
struct proto_ospf *po=oa->po; struct proto_ospf *po=oa->po;
int flush=1;
WALK_LIST(ifa, iface_list) WALK_LIST(ifa, iface_list)
{ {
@ -523,14 +522,13 @@ can_flush_lsa(struct ospf_area *oa)
{ {
WALK_LIST(n, ifa->neigh_list) WALK_LIST(n, ifa->neigh_list)
{ {
if(n->state==NEIGHBOR_EXCHANGE||n->state==NEIGHBOR_LOADING) if((n->state==NEIGHBOR_EXCHANGE)||(n->state==NEIGHBOR_LOADING))
{ {
flush=0; return 0;
break;
} }
} }
} }
} }
return flush; return 1;
} }