Flush LSA when receive aged one.

This commit is contained in:
Ondrej Filip 2000-06-02 13:52:50 +00:00
parent 3c6269b8fe
commit 62924172ae
2 changed files with 17 additions and 9 deletions

View file

@ -24,5 +24,6 @@ int lsa_comp(struct ospf_lsa_header *l1, struct ospf_lsa_header *l2);
struct top_hash_entry *lsa_install_new(struct ospf_lsa_header *lsa, void *body,
struct ospf_area *oa, struct proto *p);
void ospf_age(struct ospf_area *oa);
void flush_lsa(struct top_hash_entry *en, struct ospf_area *oa);
#endif /* _BIRD_OSPF_LSALIB_H_ */

View file

@ -403,6 +403,13 @@ ospf_lsupd_rx(struct ospf_lsupd_packet *ps, struct proto *p,
}
}
if((lsatmp.age==LSA_MAXAGE)&&(lsatmp.sn==LSA_MAXSEQNO)
&&lsadb&&can_flush_lsa(oa))
{
flush_lsa(lsadb,oa);
continue;
}
/* pg 144 (5d) */
body=mb_alloc(p->pool,lsatmp.length-sizeof(struct ospf_lsa_header));
ntohlsab(lsa+1,body,lsatmp.type,