summaryrefslogtreecommitdiffstats
path: root/proto/ospf/dbdes.c
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2009-01-13 19:15:49 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2009-01-13 19:15:49 +0100
commit0844b65d13d7a5928d425e9adaf28de63550a542 (patch)
treefb0070a6eceefddb10ea6860fc0003fc71252290 /proto/ospf/dbdes.c
parentf15cb99c79034fbd98d90b104bd6267e6c2fec81 (diff)
downloadbird-0844b65d13d7a5928d425e9adaf28de63550a542.tar
bird-0844b65d13d7a5928d425e9adaf28de63550a542.zip
Fix OSPF protocol error recovery behavior.
When OSPF neighbor state drops down to EXSTART, clear LSA request and retransmit lists, as specified by RFC. I hope that this will prevent oscillations between EXSTART and LOADING states, which sometimes happened. It also contains related fix from Yury Shevchuk that properly resets DB summary list iterator.
Diffstat (limited to 'proto/ospf/dbdes.c')
-rw-r--r--proto/ospf/dbdes.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/proto/ospf/dbdes.c b/proto/ospf/dbdes.c
index 2c5077b..9f45dfd 100644
--- a/proto/ospf/dbdes.c
+++ b/proto/ospf/dbdes.c
@@ -113,8 +113,8 @@ ospf_dbdes_send(struct ospf_neighbor *n)
DBG("M bit unset.\n");
n->myimms.bit.m = 0; /* Unset more bit */
}
- else
- s_put(&(n->dbsi), sn);
+
+ s_put(&(n->dbsi), sn);
}
pkt->imms.byte = n->myimms.byte;