diff options
author | Ondrej Filip <feela@network.cz> | 2000-06-08 21:14:08 +0200 |
---|---|---|
committer | Ondrej Filip <feela@network.cz> | 2000-06-08 21:14:08 +0200 |
commit | 135857e5777a4f1762fa6d948bb9d6b72e101c91 (patch) | |
tree | 3fb622e053dc8aa6c88e0d80e9873bf002c78e18 /proto | |
parent | 054a352475437d924e473c95b5d3ad01ae4ab161 (diff) | |
download | bird-135857e5777a4f1762fa6d948bb9d6b72e101c91.tar bird-135857e5777a4f1762fa6d948bb9d6b72e101c91.zip |
Acknoledge your own premature aged LSA.
Diffstat (limited to 'proto')
-rw-r--r-- | proto/ospf/lsupd.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/proto/ospf/lsupd.c b/proto/ospf/lsupd.c index 57d9575..a9bca02 100644 --- a/proto/ospf/lsupd.c +++ b/proto/ospf/lsupd.c @@ -195,8 +195,8 @@ ospf_lsupd_tx_list(struct ospf_neighbor *n, list *l) if((en=ospf_hash_find(n->ifa->oa->gr,llsh->lsh.id,llsh->lsh.rt, llsh->lsh.type))==NULL) continue; /* Probably flushed LSA */ - DBG("Sending ID=%I, Type=%u, RT=%I\n", llsh->lsh.id, llsh->lsh.type, - llsh->lsh.rt); + DBG("Sending ID=%I, Type=%u, RT=%I Sn: 0x%x Age: %u\n", + llsh->lsh.id, llsh->lsh.type, llsh->lsh.rt, en->lsa.sn, en->lsa.age); if(((u32)(len+en->lsa.length))>n->ifa->iface->mtu) { pk->lsano=htonl(lsano); @@ -362,7 +362,11 @@ ospf_lsupd_rx(struct ospf_lsupd_packet *ps, struct proto *p, { struct top_hash_entry *en; - if((lsatmp.age==LSA_MAXAGE)&&(lsatmp.sn==LSA_MAXSEQNO)) continue; + if((lsatmp.age==LSA_MAXAGE)&&(lsatmp.sn==LSA_MAXSEQNO)) + { + ospf_lsack_direct_tx(n,lsa); + continue; + } lsatmp.age=LSA_MAXAGE; lsatmp.sn=LSA_MAXSEQNO; |