diff options
author | Henning Brauer <henning@cvs.openbsd.org> | 2005-07-24 11:56:38 +0000 |
---|---|---|
committer | Henning Brauer <henning@cvs.openbsd.org> | 2005-07-24 11:56:38 +0000 |
commit | a148fec27c2f8af6a4c87b0c6e8ccc93a54c5d49 (patch) | |
tree | 1a77daa4021e639887d021621f626dffa428623c /usr.sbin/bgpd/session.c | |
parent | 78e244c86fcf016f66edb8207f5886fc16edb5ae (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.c | 4 |
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: |