summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_session.h
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_session.h')
-rw-r--r--bgpd/bgp_session.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/bgpd/bgp_session.h b/bgpd/bgp_session.h
index 8b30e0fe..2de8d931 100644
--- a/bgpd/bgp_session.h
+++ b/bgpd/bgp_session.h
@@ -183,9 +183,18 @@ struct bgp_session
* touched by the Routeing Engine at any other time.
*
* Before stopping a session the BGP Engine unlinks any connections from
- * the session.
+ * the session, and sets the stopped flag.
+ *
+ * The active flag is set when one or more connections are activated, and
+ * cleared when either the BGP Engine stops the session or the Peering
+ * Engine disables it. When not "active" all messages other than disable
+ * and enable are ignored. This deals with the hiatus that exists between
+ * the BGP Engine signalling that it has stopped (because of some exception)
+ * and the Peering Engine acknowledging that (by disabling the session).
*/
bgp_connection connections[bgp_connection_count] ;
+
+ flag_t active ;
} ;
/*==============================================================================