summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/session.c
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2005-07-24 11:56:38 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2005-07-24 11:56:38 +0000
commita148fec27c2f8af6a4c87b0c6e8ccc93a54c5d49 (patch)
tree1a77daa4021e639887d021621f626dffa428623c /usr.sbin/bgpd/session.c
parent78e244c86fcf016f66edb8207f5886fc16edb5ae (diff)
we must start the ConnectRetry timer before calling session_connect in
all cases, since session_connect can in turn cause events that cause state changes in the FSM that reset the ConnectRetryTimer. debugged with Leen Besselink <leen@consolejunkie.net> who was seeing errnously running ConnectRetryTimers in a case with localhost connections
Diffstat (limited to 'usr.sbin/bgpd/session.c')
-rw-r--r--usr.sbin/bgpd/session.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/bgpd/session.c b/usr.sbin/bgpd/session.c
index ead246f79ba..108865abe28 100644
--- a/usr.sbin/bgpd/session.c
+++ b/usr.sbin/bgpd/session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: session.c,v 1.231 2005/07/18 11:51:54 dlg Exp $ */
+/* $OpenBSD: session.c,v 1.232 2005/07/24 11:56:37 henning Exp $ */
/*
* Copyright (c) 2003, 2004, 2005 Henning Brauer <henning@openbsd.org>
@@ -588,9 +588,9 @@ bgp_fsm(struct peer *peer, enum session_events event)
peer->ConnectRetryTimer = 0;
} else {
change_state(peer, STATE_CONNECT, event);
- session_connect(peer);
peer->ConnectRetryTimer =
time(NULL) + INTERVAL_CONNECTRETRY;
+ session_connect(peer);
}
break;
default: