summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEsben Norby <norby@cvs.openbsd.org>2006-02-09 15:23:09 +0000
committerEsben Norby <norby@cvs.openbsd.org>2006-02-09 15:23:09 +0000
commit1641cf6afc5a06ba81a6d5deb226724bf447cec8 (patch)
tree00b7d5654d74c1670f6b204d70e1e46997c2663c
parent7034ac8f4bd6c30cdada60bcd5cb5bec52eccbcb (diff)
Prevent the neighbor FSM from getting stuck forever in state EXSTART.
ok claudio@
-rw-r--r--usr.sbin/ospfd/neighbor.c7
-rw-r--r--usr.sbin/ospfd/ospf.h4
2 files changed, 7 insertions, 4 deletions
diff --git a/usr.sbin/ospfd/neighbor.c b/usr.sbin/ospfd/neighbor.c
index abbdf294538..a0bf9baa07a 100644
--- a/usr.sbin/ospfd/neighbor.c
+++ b/usr.sbin/ospfd/neighbor.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: neighbor.c,v 1.26 2005/12/15 20:29:06 claudio Exp $ */
+/* $OpenBSD: neighbor.c,v 1.27 2006/02/09 15:23:08 norby Exp $ */
/*
* Copyright (c) 2005 Claudio Jeker <claudio@openbsd.org>
@@ -493,6 +493,8 @@ nbr_act_eval(struct nbr *nbr)
/* initial db negotiation */
start_db_tx_timer(nbr);
+ nbr_start_adj_timer(nbr);
+
return (0);
}
@@ -500,7 +502,6 @@ int
nbr_act_snapshot(struct nbr *nbr)
{
stop_db_tx_timer(nbr);
- nbr_start_adj_timer(nbr);
ospfe_imsg_compose_rde(IMSG_DB_SNAPSHOT, nbr->peerid, 0, NULL, 0);
@@ -559,6 +560,8 @@ nbr_act_restart_dd(struct nbr *nbr)
/* initial db negotiation */
start_db_tx_timer(nbr);
+ nbr_start_adj_timer(nbr);
+
return (0);
}
diff --git a/usr.sbin/ospfd/ospf.h b/usr.sbin/ospfd/ospf.h
index e464ab99a2f..ec6bcaf525d 100644
--- a/usr.sbin/ospfd/ospf.h
+++ b/usr.sbin/ospfd/ospf.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ospf.h,v 1.13 2005/12/04 20:56:46 norby Exp $ */
+/* $OpenBSD: ospf.h,v 1.14 2006/02/09 15:23:08 norby Exp $ */
/*
* Copyright (c) 2004, 2005 Esben Norby <norby@openbsd.org>
@@ -55,7 +55,7 @@
#define MIN_TRANSMIT_DELAY 1
#define MAX_TRANSMIT_DELAY 3600
-#define DEFAULT_ADJ_TMOUT 600 /* XXX sane value? */
+#define DEFAULT_ADJ_TMOUT 60 /* XXX sane value? */
#define DEFAULT_NBR_TMOUT 86400 /* 24 hours */