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.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c
index 475d2cbf..a3d7f651 100644
--- a/bgpd/bgp_fsm.c
+++ b/bgpd/bgp_fsm.c
@@ -1602,7 +1602,12 @@ bgp_fsm_event(bgp_connection connection, bgp_fsm_event_t event)
if ((connection->except != bgp_session_null_event) && (session != NULL))
{
- /* Some exceptions are not reported to the Routeing Engine */
+ /* Some exceptions are not reported to the Routeing Engine
+ *
+ * In particular: eDiscard and eCollision -- so the only time the
+ * connection->state will be Stopping is when the session is being
+ * stopped. (eDiscard and eCollision go quietly to Stopping !)
+ */
if (connection->except <= bgp_session_max_event)
bgp_session_event(session, connection->except,
connection->notification,
@@ -2457,8 +2462,6 @@ bgp_fsm_state_change(bgp_connection connection, bgp_fsm_state_t new_state)
connection->session = NULL ;
connection->p_mutex = NULL ;
- session->state = bgp_session_sStopped ;
-
break ;
default: