summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_fsm.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_fsm.c')
-rw-r--r--bgpd/bgp_fsm.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c
index b1c085bd..3ce8cc19 100644
--- a/bgpd/bgp_fsm.c
+++ b/bgpd/bgp_fsm.c
@@ -2146,7 +2146,11 @@ bgp_fsm_catch(bgp_connection connection, bgp_fsm_state_t next_state)
*
* The state transition stuff looks after timers. In particular an error
* in Connect/Active states leaves the ConnectRetryTimer running.
+ *
+ * However, in any event, no longer require any Keepalive.
*/
+ qtimer_unset(connection->keepalive_timer) ;
+
if ((send_notification != NULL) && bgp_connection_part_close(connection))
{
/* If not changing to stopping, we hold in the current state until
@@ -2155,9 +2159,6 @@ bgp_fsm_catch(bgp_connection connection, bgp_fsm_state_t next_state)
if (next_state != bgp_fsm_sStopping)
next_state = connection->state ;
- /* Make sure that cannot pop out a Keepalive ! */
- qtimer_unset(connection->keepalive_timer) ;
-
/* Write the message */
bgp_msg_write_notification(connection, send_notification) ;