]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Acknoledge your own premature aged LSA.
authorOndrej Filip <feela@network.cz>
Thu, 8 Jun 2000 19:14:08 +0000 (19:14 +0000)
committerOndrej Filip <feela@network.cz>
Thu, 8 Jun 2000 19:14:08 +0000 (19:14 +0000)
proto/ospf/lsupd.c

index 57d95752671e203a4793d6d3b77c4fd0d474d2a2..a9bca025d2e35b10663fed485128236ab1c7b4ad 100644 (file)
@@ -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;