summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2009-02-25 16:28:21 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2009-02-25 16:28:21 +0100
commita9dc5e1ef2fd08c53bceb54690f6dac83ddf0c81 (patch)
tree1296515bd9ab937e664265cab45ece13624aa164
parent82ba9032be9cf1210ffffd01245b99ce5d9b6b1b (diff)
Fixes another bug in packet retransmissions.
When slave was in full state, it didn't retransmit lost packets. That leads to OSPF connection locked in states loading-full.
-rw-r--r--proto/ospf/dbdes.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/proto/ospf/dbdes.c b/proto/ospf/dbdes.c
index 54190c39..4cba667c 100644
--- a/proto/ospf/dbdes.c
+++ b/proto/ospf/dbdes.c
@@ -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