mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 09:41:54 +00:00
Test for "flushing" added.
This commit is contained in:
parent
a02c6c184b
commit
9e48d717cf
@ -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;
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user