summaryrefslogtreecommitdiffstats
path: root/proto/ospf/neighbor.c
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2009-04-06 16:53:06 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2009-04-06 16:53:06 +0200
commitb722fe7ebdf7e11f097ed0a85302769de2ac10fb (patch)
treee62efe0d3749bcc447981772eb71ba8c107b67c7 /proto/ospf/neighbor.c
parent8298d780be5a5b00c31c10a37a5f3a1353d6e234 (diff)
downloadbird-b722fe7ebdf7e11f097ed0a85302769de2ac10fb.tar
bird-b722fe7ebdf7e11f097ed0a85302769de2ac10fb.zip
Fixes bug in OSPF packet retransmission.
If a DBDES packet from a master to a slave is lost, then the old code does not retransmit it and instead send a next one with the same sequence number. That leads to silent desynchronization of LSA databases.
Diffstat (limited to 'proto/ospf/neighbor.c')
-rw-r--r--proto/ospf/neighbor.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/proto/ospf/neighbor.c b/proto/ospf/neighbor.c
index d417ed0..6e72764 100644
--- a/proto/ospf/neighbor.c
+++ b/proto/ospf/neighbor.c
@@ -643,12 +643,12 @@ rxmt_timer_hook(timer * timer)
if (n->state == NEIGHBOR_EXSTART)
{
- ospf_dbdes_send(n);
+ ospf_dbdes_send(n, 1);
return;
}
if ((n->state == NEIGHBOR_EXCHANGE) && n->myimms.bit.ms) /* I'm master */
- ospf_dbdes_send(n);
+ ospf_dbdes_send(n, 0);
if (n->state < NEIGHBOR_FULL)