diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2009-02-25 16:28:21 +0100 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2009-02-25 16:28:21 +0100 |
commit | a9dc5e1ef2fd08c53bceb54690f6dac83ddf0c81 (patch) | |
tree | 1296515bd9ab937e664265cab45ece13624aa164 | |
parent | 82ba9032be9cf1210ffffd01245b99ce5d9b6b1b (diff) | |
download | bird-a9dc5e1ef2fd08c53bceb54690f6dac83ddf0c81.tar bird-a9dc5e1ef2fd08c53bceb54690f6dac83ddf0c81.zip |
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.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/proto/ospf/dbdes.c b/proto/ospf/dbdes.c index 54190c3..4cba667 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 |