From d901db3fb72860d4669793bfb1af3a9aa7a27b91 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Thu, 12 Feb 2009 19:46:51 +0100 Subject: 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. --- proto/ospf/dbdes.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'proto/ospf') diff --git a/proto/ospf/dbdes.c b/proto/ospf/dbdes.c index 9f45dfd..54190c3 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; -- cgit v1.2.3