LogicMonitor + Catchpoint: Enter the New Era of Autonomous IT

Learn more

Never miss a BGP session state change.

LogicMonitor measures BGP session states across your entire network infrastructure, alerting your team the moment a session leaves the Established state so you can respond before users are impacted.

What are the six BGP states?

The six BGP states defined by the BGP finite state machine are: Idle (BGP is initializing or resetting), Connect (waiting for a TCP connection to complete), Active (TCP connection failed and BGP is retrying), OpenSent (TCP is established and an OPEN message has been sent), OpenConfirm (the OPEN message was received and a KEEPALIVE is being exchanged), and Established (BGP session is fully up and routing updates are being exchanged).

What does it mean when a BGP session is stuck in Active state?

When a BGP session is stuck in the Active state, it means TCP connectivity between the two peers is failing. The router is actively trying to establish a TCP connection to its peer on port 179 but is not succeeding. Common causes include firewall rules blocking TCP port 179, incorrect neighbor IP addresses, routing issues preventing reachability, or MTU mismatches causing TCP SYN packets to be dropped silently.

What causes a BGP session to stay in the Idle state?

A BGP session stays in Idle when the protocol is administratively shut down, the router is waiting for a retry timer to expire after a failed connection attempt, or the routing daemon has not yet initiated the session. Some implementations also hold a session in Idle when authentication failures occur (MD5 password mismatch). Checking the session’s error counters and logs is the first step in diagnosing an Idle state.

How does the BGP hold timer affect session stability?

The BGP hold timer determines how long a router will wait without receiving a KEEPALIVE or UPDATE message before declaring the session dead. If the hold timer expires, the session drops to Idle and must re-establish. A common misconfiguration is a hold timer mismatch between peers, which can cause unstable sessions. Best practice is to negotiate the hold timer explicitly rather than relying on defaults, and to monitor it via SNMP or BGP monitoring tools.