BGP Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Releases

PDF

Enhanced monitoring of BGP keepalive messages

Want to summarize with AI?

Log in

Overview

Details enhanced monitoring capabilities for BGP keepalive messages, outlining how to view and assess keepalive message statistics to support BGP session stability.

An enhanced monitoring of BGP keepalive messages is a network monitoring feature that

  • manages per-neighbor input and output queues,

  • triggers throttling when packet volume exceeds thresholds or TCP buffers are full, and

  • monitors keepalive intervals and hold timers to track session stability.

This feature logs precise times when neighbors’ queues enter and exit throttled states, records the maximum duration of throttling events, and maintains historical data including a circular buffer of the last 10 throttling states per neighbor that persists across resets. It also tracks parameters such as maximum hold time elapsed since the last keepalive message, timestamps of these events, and counts of hold time threshold crossings, which indicate session stability or potential issues.

Table 1. Feature History Table

Feature Name

Release Information

Feature Description

Enhanced monitoring of BGP keepalive messages

Release 25.4.1

Introduced in this release on: Fixed Systems (8010 [ASIC: A100])(select variants only*)

*This feature is now supported on:

  • 8011-32Y8L2H2FH

  • 8011-12G12X4Y-A

  • 8011-12G12X4Y-D

Enhanced monitoring of BGP keepalive messages

Release 25.1.1

Introduced in this release on: Fixed Systems (8010 [ASIC: A100])(select variants only*)

*This feature is supported on Cisco 8011-4G24Y4H-I routers.

Enhanced monitoring of BGP keepalive messages

Release 24.4.1

Introduced in this release on: Fixed Systems (8200 [ASIC: P100], 8700 [ASIC: P100, K100])(select variants only); Modular Systems (8800 [LC ASIC: P100])(select variants only*)

*This feature is supported on:

  • 8212-48FH-M

  • 8711-32FH-M

  • 8712-MOD-M

  • 88-LC1-36EH

  • 88-LC1-12TH24FH-E

  • 88-LC1-52Y8H-EM

  • This monitoring helps you maintain network stability and fairness by controlling message processing rates.

  • You can view detailed session stability and throttling statistics by running the show bgp neighbor detail command.


View enhanced monitoring of BGP keepalive messages

To view detailed information about BGP session stability and message handling to monitor keepalive message timing and throttling behavior.

The enhanced monitoring of BGP keepalive messages feature enables adminstrators to ensure network stability and fairness by managing BGP message processing rates. It provides key insights into session stability, throttling, and timer metrics essential for diagnosing and troubleshooting delayed or lost keepalive messages that affect BGP session continuity.

Before you begin

Before you begin, gather the necessary details to use the Enhanced Monitoring of BGP Keepalive Messages feature:

  • Access to the router CLI with permissions to run commands, such as show bgp neighbor detail

  • Configured and active BGP neighbors to monitor

  • Knowledge of keepalive interval and hold timer settings for interpreting monitoring data

  • Readiness to analyze throttling statistics, hold time events, and queue metrics for session stability and troubleshooting

Procedure

Use the show bgp neighbor detail command to view the data on BGP neighbors, including critical timers and queue metrics.

Example:


....
Max Hold Time elapsed was 6001 msec at Sep 12 17:02:36.954, crossed 40%: 2, 70%: 0 

  Max Hold Time elapsed before reset was 9001 msec at Sep 12 17:01:53.397, crossed 40%: 7, 70%: 2 

  First message received at Sep 12 16:45:00.973, sent at Sep 12 16:45:00.975 

  First message before reset received at Sep 12 16:42:16.573, sent at Sep 12 16:42:16.574 

  Max read throttled duration was 6769 msec starting at Sep 12 16:45:01.487, max InQ 1000 processed 930 

    Most recent read throttle periods (in msec): 

    Start Time             Duration     Max InQ    Messages 

    Sep 12 17:00:16.937          14         104          45 

    Sep 12 17:00:16.954           9         136          74 

    Sep 12 17:00:47.358          11         125         135 

    Sep 12 17:01:02.658           2          83           0 

    Sep 12 17:01:02.693           7         110           0 

    Sep 12 17:01:02.705          13         139          74 

    Sep 12 17:01:17.856           5          92          60 

    Sep 12 17:01:17.877           3          91          30 

    Sep 12 17:01:17.891          10         135          74 

    Sep 12 17:01:33.128          21         132         193 

  Max read throttled duration before reset was 5013 msec starting at Sep 12 16:42:17.079, max InQ 76 processed 0 

    Most recent read throttle periods before reset (in msec): 

    Start Time             Duration     Max InQ    Messages 

    Sep 12 16:42:17.079        5013          76           0 

  Max write throttled duration was 685 msec starting at Sep 12 16:45:08.486, max OutQ 1501 queued 57 

    Most recent write throttle periods (in msec): 

    Start Time             Duration    Max OutQ    Messages 

    Sep 12 17:01:38.799          46         398          23 

    Sep 12 17:01:38.846         202         342          57 

    Sep 12 17:01:39.049          47         320          23 

    Sep 12 17:01:39.097         202         264          57 

    Sep 12 17:01:39.299          46         242          22 

    Sep 12 17:01:39.346         204         185          58 

    Sep 12 17:01:39.551          45         164          23 

    Sep 12 17:01:39.597         202         108          57 

    Sep 12 17:01:39.799          46          86          23 

    Sep 12 17:01:39.847         202          30           8 

  Max write throttled duration before reset was 205 msec starting at Sep 12 16:42:21.849, max OutQ 1003 queued 1 

    Most recent write throttle periods before reset (in msec): 

    Start Time             Duration    Max OutQ    Messages 

    Sep 12 16:42:21.849         205        1003           1 

    Sep 12 16:42:22.055          20         925          23 

    Sep 12 16:42:22.075          16         869          56 
....

This table shows key fields from the show bgp neighbor detail output related to enhanced BGP keepalive monitoring, including timers, throttling, queue sizes, and message stats for assessing session stability.

This table describes the significant fields shown in the display.

Table 2. Fields pertaining to enhanced monitoring of BGP keepalive messages in the output of show bgp neighbor details command

Field

Description

Max Hold Time elapsed

Maximum amount of time that has passed since the last BGP keepalive message was received from a neighbor before a BGP session is considered to be down.

Max Hold Time elapsed was 6001 msec at Sep 12 17:02:36.954, crossed 40%: 2, 70%: 0

Maximum amount of time that has passed since the last BGP keepalive message was received from a neighbor before a BGP session is considered to be down.

In this specific output, the fields indicate the following:

Max Hold Time elapsed was 6001 msec: indicates that the maximum time interval between receiving keepalive messages from the neighbor was 6001 milliseconds or approximately 6 seconds.

at Sep 12 17:02:36.954: Timestamp when this maximum hold time was observed.

crossed 40%: 2, 70%: 0: Number of times the hold time crossed certain thresholds. The hold time crossed the 40% threshold twice and the 70% threshold zero times, suggesting that the hold time reached a significant portion of its configured value but did not exceed it by a large margin.

Max Hold Time elapsed before reset was 9001 msec at Sep 12 17:01:53.397, crossed 40%: 7, 70%: 2

Maximum duration between receiving BGP (Border Gateway Protocol) keepalive messages from a neighbor before the BGP session was reset.

In this specific output, the fields indicate the following:

Max Hold Time elapsed before reset was 9001 msec: Maximum time interval between receiving keepalive messages from the neighbor before the BGP session reset was 9001 milliseconds or approximately 9 seconds.

at Sep 12 17:01:53.397: Timestamp when this maximum hold time before reset was observed.

crossed 40%: 7, 70%: 2: Number of times the hold time crossed certain thresholds. The hold time crossed the 40% threshold seven times and the 70% threshold two times, suggesting that the hold time frequently approached significant portions of its configured maximum value before the BGP session reset

First message received at Sep 12 16:45:00.973, sent at Sep 12 16:45:00.975

Timestamp when the first message from a BGP neighbor was received by the local router.

In this specific output, the fields indicate the following:

First message received at Sep 12 16:45:00.973: First message from the BGP neighbor was received at 16:45:00 on September 12th

sent at Sep 12 16:45:00.975: Timestamp when the corresponding message was sent by the BGP neighbor, which was nearly simultaneously, just 0.002 seconds later.

First message before reset received at Sep 12 16:42:16.573, sent at Sep 12 16:42:16.574

Timestamp when the first message from a BGP neighbor was received by the local router before a reset occurred.

In this specific output, the fields indicate the following:

First message before reset received at Sep 12 16:42:16.573: first message from the BGP neighbor was received at 16:42:16 on September 12th, before a reset occurred.

sent at Sep 12 16:42:16.574: Timestamp when the corresponding message was sent by the BGP neighbor, which was nearly simultaneous, just 0.001 seconds later.

Max read throttled duration was 6769 msec starting at Sep 12 16:45:01.487, max InQ 1000 processed 930

Maximum duration during which the read process was throttled, indicating a restriction or limitation on the rate of reading data.

In this specific output, the fields indicate the following:

Max read throttled duration was 6769 msec: Maximum duration of throttling for reading data was 6769 milliseconds (approximately 6.769 seconds).

starting at Sep 12 16:45:01.487: Timestamp when this maximum throttling duration started, which was at 16:45:01 on September 12th.

max InQ 1000 processed 930: Maximum input queue (InQ) size was 1000, and during the throttled duration, 930 items were processed.

Start Time

Timestamp when the read throttle period started.

Dry Run elapsed time(ms)

Time taken for the dry run in milliseconds.

Duration

Duration of the throttle period in milliseconds, indicating how long the read process was restricted or limited.

Max InQ

Maximum size of the input queue during the throttle period. The input queue typically holds incoming data packets waiting to be processed.

Messages

Number of messages or data packets processed during the throttle period.

Max read throttled duration before reset was 5013 msec starting at Sep 12 16:42:17.079, max InQ 76 processed 0

Maximum duration of a read throttle period on the network device.

In this specific output, the fields indicate the following:

Max read throttled duration before reset: Maximum duration of the read throttle period, which was 5013 milliseconds or approximately 5.013 seconds.

Starting at Sep 12 16:42:17.079: Timestamp when the read throttle period started, which was at 16:42:17 on September 12th

Max InQ 76 processed 0: The segment Max InQ 76 indicates that the maximum size of the input queue during the throttle period was 76. The segment processed 0 indicates that no messages or data packets were processed during this throttle period.

Max write throttled duration was 685 msec starting at Sep 12 16:45:08.486, max OutQ 1501 queued 57

Maximum duration of the write throttle period, which was 685 milliseconds.

In this specific output, the fields indicate the following:

Max write throttled duration: Maximum duration of the write throttle period, which was 685 milliseconds.

Starting at Sep 12 16:45:08.486: Timestamp when the write throttle period started, which was September 12th at 16:45:08.486.

Max OutQ: Maximum size of the output queue during the throttle period. In this case, it was 1501, which typically holds data packets waiting to be transmitted.

Queued: Number of items queued in the output queue during the throttle period. In this case, it was 57.

Max write throttled duration before reset was 205 msec starting at Sep 12 16:42:21.849, max OutQ 1003 queued 1

Maximum duration of a write throttle period on a network device before a reset occurred.

In this specific output, the fields indicate the following:

Max write throttled duration before reset: Maximum duration of the write throttle period before a reset occurred, which was 205 milliseconds.

Starting at Sep 12 16:42:21.849: Timestamp when the write throttle period started, which was on September 12th at 16:42:21.849.

Max OutQ: Maximum size of the output queue during the throttle period. In this case, it was 1003, indicating the maximum number of items that were waiting to be transmitted.

Queued: Number of items queued in the output queue during the throttle period. In this case, it was 1.

Start Time:

Timestamp when the write throttle period started.

Duration

Duration of the write throttle period in milliseconds.

Max OutQ

Maximum size of the output queue during the throttle period. The output queue typically holds data packets waiting to be transmitted.

Messages

Number of messages or data packets transmitted during the throttle period.