]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Fixes another bug in packet retransmissions.
authorOndrej Zajicek <santiago@crfreenet.org>
Wed, 25 Feb 2009 15:28:21 +0000 (16:28 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Wed, 25 Feb 2009 15:28:21 +0000 (16:28 +0100)
When slave was in full state, it didn't retransmit
lost packets. That leads to OSPF connection locked
in states loading-full.

proto/ospf/dbdes.c

index 54190c39ee72ce6fbb77bdf20170d39e7a341309..4cba667ca893378b56c406a684dcdabd0ea5f1b2 100644 (file)
@@ -344,6 +344,11 @@ ospf_dbdes_receive(struct ospf_dbdes_packet *ps,
       /* Only duplicate are accepted */
     {
       OSPF_TRACE(D_PACKETS, "Received duplicate dbdes from %I.", n->ip);
+      if (n->myimms.bit.ms == 0)
+      {
+       /* Slave should retransmit dbdes packet */
+       ospf_dbdes_send(n);
+      }
       return;
     }
     else