summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2009-02-12 19:46:51 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2009-02-12 19:46:51 +0100
commitd901db3fb72860d4669793bfb1af3a9aa7a27b91 (patch)
tree6ffcf120f4eb606e12c1998f398db657d5d5ef50
parentb807ef9a15db2a5db14f68011923975dfc472f49 (diff)
Fixes bug in packet retransmissions.
When packet was lost during dbdes exchange, slave did not retransmit it. That leads to OSPF connection locked in states exchange-exstart.
-rw-r--r--proto/ospf/dbdes.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/proto/ospf/dbdes.c b/proto/ospf/dbdes.c
index 9f45dfdc..54190c39 100644
--- a/proto/ospf/dbdes.c
+++ b/proto/ospf/dbdes.c
@@ -263,8 +263,9 @@ ospf_dbdes_receive(struct ospf_dbdes_packet *ps,
{
/* Duplicate packet */
OSPF_TRACE(D_PACKETS, "Received duplicate dbdes from %I.", n->ip);
- if (n->imms.bit.ms == 0)
+ if (n->myimms.bit.ms == 0)
{
+ /* Slave should retransmit dbdes packet */
ospf_dbdes_send(n);
}
return;