Configuring BGP Monitoring Protocol

Feature history for BGP Monitoring Protocol

This table provides release and related information for the features explained in this module.

These features are available on all the releases subsequent to the one they were introduced in, unless noted otherwise.

Table 1. Lookup information

Release

Feature

Feature information

Cisco IOS XE 26.2.1ea

BGP Monitoring Protocol: BGP Monitoring Protocol feature support has been introduced.

Cisco C9550 Series Smart Switches

Cisco IOS XE 17.18.1

The BGP Monitoring Protocol feature supports configuring devices to function as BMP servers, monitoring BGP neighbors and generating statistics reports for BGP neighbors. BMP also performs appropriate error handling, graceful scale up and closing connectivity between BMP servers and BGP neighbors.

Cisco C9350 Series Smart Switches

Cisco C9610 Series Smart Switches

Use the Cisco Feature Navigator to find information about platform and software image support. To access Cisco Feature Navigator, use https://cfnng.cisco.com/.

BGP Monitoring Protocol

The BGP Monitoring Protocol (BMP) is a monitoring protocol that:

  • enables a device to function as a BMP server that monitors BGP neighbors, called BMP clients;

  • allows BMP clients to connect to one or more BMP servers for monitoring active peer sessions; and

  • supports multiple BMP servers that operate independently and simultaneously to monitor BMP clients.

Additional reference information

The BMP feature enables monitoring of BGP neighbors. A device can function as a BMP server that monitors one or more BMP clients. Each BMP client can have several active peer sessions configured and can connect to one or more BMP servers.

Each BMP server is specified by a number. Administrators use the command-line interface (CLI) to configure parameters such as the IP address and port number. Upon activation, a BMP server attempts to connect to BMP clients by sending an initiation message. The CLI enables multiple, independent, and asynchronous BMP server connections.

BGP neighbors, called BMP clients, send data to specific BMP servers for monitoring purposes. These clients are configured in a queue. When a connection request arrives from BMP clients to BMP servers, the connection is established based on the order in which the requests arrived.

Delay timers manage connection attempts and help avoid excessive network traffic and device load. Administrators can configure these delay timers:

  • initial-delay delays initial connection requests.

  • failure-retry-delay delays retry requests after a connection fails.

  • flapping-delay delays retries after repeated connection failures.

To avoid excessive load on the device, BMP servers send route refresh requests to individual BMP clients one at a time, in the order in which connections are established in the queue. When a connected BMP client is in the reporting state, it sends a peer-up message to the BMP server. After the client receives a route refresh request, route monitoring begins for that neighbor.

When several BMP servers activate in quick succession, administrators can use bmp initial-refresh delay to delay the refresh mechanism when the first BMP server comes up. If other BMP servers come online within this time frame, only one set of refresh requests is sent to the BMP clients. Administrators can use bmp initial-refresh skip to skip all refresh requests from BMP servers and monitor incoming messages from the peers.

In a client-server configuration, the resource load of the devices must be kept minimal and excessive network traffic must be avoided. Administrators can configure BMP server delay timers to avoid flapping during connection between the server and client. Administrators can also configure the maximum buffer limit for the BMP session to avoid excessive message throughput or high usage of system resources.

Prerequisites for BGP monitoring protocol

Before you configure BGP Monitoring Protocol (BMP) servers, you must configure Border Gateway Protocol (BGP) neighbors, which function as BMP clients, and establish a session with its peers using either IPv4/IPv6 or VPNv4/VPNv6 address-family identifiers.

Before you configure BGP Monitoring Protocol (BMP) servers, you must configure Border Gateway Protocol (BGP) neighbors, which function as BMP clients, and establish a session with its peers using either IPv4/IPv6 or VPNv4/VPNv6 address-family identifiers.

Configure a BGP Monitoring Protocol session

Perform this task to configure BGP Monitoring Protocol (BMP) session parameters for the BMP servers to establish connectivity with BMP clients.

Before you begin

To configure a BGP monitoring protocol session, perform this procedure:

Procedure


Step 1

enable

Example:


Device> enable
          

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal
          

Enters global configuration mode.

Step 3

router bgp as-number

Example:


Device(config)# router bgp 65000
          

Enters router configuration mode and creates a BGP routing process.

Step 4

bmp {buffer-size buffer-bytes | initial-refresh {delay refresh-delay | skip} | server server-number-n

Example:


Device(config-router)# bmp initial-refresh delay 30
          

Configures BMP parameters for BGP neighbors and enters BMP server configuration mode to configure BMP servers.

Step 5

end

Example:


Device(config-router)# end
          

Returns to privileged EXEC mode.


Configuration examples for BGP Monitoring Protocol

There are two levels of configuration required for the BGP Monitoring Protocol (BMP) to function as designed. You must enable BMP monitoring on each BGP neighbor (also called BMP client) to which several peers are connected in a network, and establish connectivity between the BMP servers and clients. Then, configure each BMP server in BMP server configuration mode for a specific server with the parameters required for monitoring the associated BMP clients.

Examples: Configuring BGP Monitoring Protocol

This example shows how to activate BMP on a neighbor with IP address 30.1.1.1, which is monitored by BMP servers (in this case, server 1 and 2):


Device> enable
Device# configure terminal
Device(config)# router bgp 65000
Device(config-router)# neighbor 30.1.1.1 bmp-activate server 1 server 2
Device(config-router)# end
        

This example shows how to configure initial refresh delay of 30 seconds for BGP neighbors on which BMP is activated using the neighbor bmp-activate command:


Device> enable
Device# configure terminal
Device(config)# router bgp 65000
Device(config-router)# bmp initial-refresh delay 30
Device(config-router)# bmp buffer-size 2048
Device(config-router)# end
        

This example shows how to enter BMP server configuration mode and initiate connection between a specific BMP server with the BGP BMP neighbors. In this example, connection to clients is initiated from BMP servers 1 and 2 along with configuration of the monitoring parameters:


Device> enable
Device# configure terminal
Device(config)# router bgp 65000
Device(config-router)# bmp server 1
Device(config-router-bmpsrvr)# activate
Device(config-router-bmpsrvr)# address 10.1.1.1 port-number 8000
Device(config-router-bmpsrvr)# description LINE SERVER1
Device(config-router-bmpsrvr)# failure-retry-delay 40
Device(config-router-bmpsrvr)# flapping-delay 120
Device(config-router-bmpsrvr)# initial-delay 20
Device(config-router-bmpsrvr)# set ip dscp 5
Device(config-router-bmpsrvr)# stats-reporting-period 30
Device(config-router-bmpsrvr)# update-source ethernet 0/0
Device(config-router-bmpsrvr)# exit-bmp-server-mode
Device(config-router)# bmp server 2
Device(config-router-bmpsrvr)# activate
Device(config-router-bmpsrvr)# address 20.1.1.1 port-number 9000
Device(config-router-bmpsrvr)# description LINE SERVER2
Device(config-router-bmpsrvr)# failure-retry-delay 40
Device(config-router-bmpsrvr)# flapping-delay 120
Device(config-router-bmpsrvr)# initial-delay 20
Device(config-router-bmpsrvr)# set ip dscp 7
Device(config-router-bmpsrvr)# stats-reporting-period 30
Device(config-router-bmpsrvr)# update-source ethernet 2/0
Device(config-router-bmpsrvr)# exit-bmp-server-mode
Device(config-router)# end
        

This example shows how to activate BMP on a VRF neighbor with IP address 10.1.1.1, which is monitored by BMP servers (in this case, server 1 and 2):


Device> enable
Device# configure terminal
Device(config)# router bgp 65000
Device (config-router)# address-family 10.1.1.1 vrf vrf1
Device(config-router)# neighbor 10.1.1.1 bmp-activate server 1 server 2
Device(config-router)# end
        

Examples: Verifying BGP Monitoring Protocol

This sample output is from the show ip bgp bmp server command for server number 1. The attributes displayed are configured in the BMP server configuration mode:


Device# show ip bgp bmp server 1

Print detailed info for 1 server number 1.

bmp server 1
address: 10.1.1.1    port 8000
description SERVER1
up time 00:06:22
session-startup route-refresh
initial-delay 20
failure-retry-delay 40
flapping-delay 120
activated

This sample output is from the show ip bgp bmp server command for server number 2. The attributes displayed are configured in the BMP server configuration mode:


Device# show ip bgp bmp server 2

Print detailed info for 1 server number 2.

bmp server 2
address: 20.1.1.1    port 9000
description SERVER2
up time 00:06:23
session-startup route-refresh
initial-delay 20
failure-retry-delay 40
flapping-delay 120
activated

This sample output is from the show ip bgp bmp server summary command after deactivating the BMP server 1 and 2 connections:


Device# show ip bgp bmp server summary

Number of BMP servers configured: 2
Number of BMP neighbors configured: 10
Number of neighbors on TransitionQ: 0, MonitoringQ: 0, ConfigQ: 0
Number of BMP servers on StatsQ: 0
BMP Refresh not in progress, refresh not scheduled
Initial Refresh Delay configured, refresh value 30s
BMP buffer size configured, buffer size 2048 MB, buffer size bytes used 0 MB

ID Host/Net          Port  TCB                 Status  Uptime    MsgSent   LastStat
1  10.1.1.1          8000  0x0                 Down              0
2  20.1.1.1          9000  0x0                 Down              0

This sample output is from the show ip bgp bmp neighbors command, which shows the status of the BGP BMP neighbors after reactivating the BMP server 1 and 2 connections:


Device# show ip bgp bmp server neighbors

Number of BMP neighbors configured: 10
BMP Refresh not in progress, refresh not scheduled
Initial Refresh Delay configured, refresh value 30s
BMP buffer size configured, buffer size 2048 MB, buffer size bytes used 0 MB

Neighbor           PriQ      MsgQ      CfgSvr#             ActSvr#             RM Sent
30.1.1.1           0         0         1  2                1  2                16
2001:DB8::2001     0         0         1  2                1  2                15
40.1.1.1           0         0         1  2                1  2                26
2001:DB8::2002     0         0         1  2                1  2                15
50.1.1.1           0         0         1  2                1  2                16
60.1.1.1           0         0         1  2                1  2                26
2001:DB8::2002     0         0         1                   1                   9
70.1.1.1           0         0         2                   2                   12
Neighbor           PriQ      MsgQ      CfgSvr#             ActSvr#             RM Sent
80.1.1.1           0         0         1                   1                   10
2001:DB8::2002     0         0         1  2                1  2                16

This sample output is from the show ip bgp bmp server command for BMP server number 1 and 2. The statistics reporting interval on BMP server 1 and 2 has been set to 30 seconds, therefore each server receives statistics messages from its connected BGP BMP neighbor in each cycle of 30 seconds:


Device# show ip bgp bmp server summary

Number of BMP servers configured: 2
Number of BMP neighbors configured: 10
Number of neighbors on TransitionQ: 0, MonitoringQ: 0, ConfigQ: 0
Number of BMP servers on StatsQ: 0
BMP Refresh not in progress, refresh not scheduled
Initial Refresh Delay configured, refresh value 30s
BMP buffer size configured, buffer size 2048 MB, buffer size bytes used 0 MB

ID Host/Net          Port  TCB                 Status  Uptime    MsgSent   LastStat
1  10.1.1.1          8000  0x2A98B07138        Up      00:38:49  162       00:00:09
2  20.1.1.1          9000  0x2A98E17C88        Up      00:38:49  46        00:00:04


Device# show ip bgp bmp server summary

Number of BMP servers configured: 2
Number of BMP neighbors configured: 10
Number of neighbors on TransitionQ: 0, MonitoringQ: 0, ConfigQ: 0
Number of BMP servers on StatsQ: 0
BMP Refresh not in progress, refresh not scheduled
Initial Refresh Delay configured, refresh value 30s
BMP buffer size configured, buffer size 2048 MB, buffer size bytes used 0 MB

ID Host/Net          Port  TCB                 Status  Uptime    MsgSent   LastStat
1  10.1.1.1          8000  0x2A98B07138        Up      00:40:19  189       00:00:07
2  20.1.1.1          9000  0x2A98E17C88        Up      00:40:19  55        00:00:02

Note


If several BGP BMP neighbors are monitored by the BMP servers, for example 10, 10 statistics messages are received by both servers in each periodic cycle that is configured.


This sample output is from the show running-config command, which shows the running configuration on the device:


Device# show running-config | section bmp

bmp server 1
address 10.1.1.1 port-number 8000
description SERVER1
initial-delay 20
failure-retry-delay 40
flapping-delay 120
update-source Ethernet0/0
set ip dscp 3
activate
exit-bmp-server-mode
bmp server 2
address 20.1.1.1 port-number 9000
description SERVER2
initial-delay 20
failure-retry-delay 40
flapping-delay 120
update-source Ethernet2/0
set ip dscp 5
activate
exit-bmp-server-mode
bmp initial-refresh delay 30
bmp-activate all

Examples: Monitoring BGP Monitoring Protocol

This example shows how to enable debugging of the various BMP attributes:


Device# debug ip bgp bmp event

BGP BMP events debugging is on

Device# debug ip bgp bmp neighbor

BGP BMP neighbor debugging is on

Device# debug ip bgp bmp server

BGP BMP server debugging is on

This sample output is from the show debugging command after you enable the BGP BMP server debugging:


Device# show debugging

IP routing:
BGP BMP server debugging is on

Device#

*Apr  8 21:04:13.164: BGPBMP: BMP server connection attempt timer expired for server 1 - 10.1.1.1/8000
*Apr  8 21:04:13.165: BGPBMP: BMP server 1 active open process success - 10.1.1.1/8000
*Apr  8 21:04:13.165: BGPBMP: TCP KA interval is set to 15

Device#

*Apr  8 21:04:15.171: BGPBMP: Register read/write notification callbacks with BMP server 1 TCB - 10.1.1.1/8000
*Apr  8 21:04:15.171: BGPBMP: Initiation msg sent to BMP server 1 - 10.1.1.1/8000
*Apr  8 21:04:15.171: BGPBMP: BMP server 1 connection - 10.1.1.1/8000 up, invoke refresh event

Device#

*Apr  8 21:04:16.249: BGPBMP: BMP server connection attempt timer expired for server 2 - 20.1.1.1/9000
*Apr  8 21:04:16.249: BGPBMP: BMP server 2 active open process success - 20.1.1.1/9000
*Apr  8 21:04:16.249: BGPBMP: TCP KA interval is set to 15
*Apr  8 21:04:16.250: BGPBMP: Register read/write notification callbacks with BMP server 2 TCB - 20.1.1.1/9000
*Apr  8 21:04:16.250: BGPBMP: Initiation msg sent to BMP server 2 - 20.1.1.1/9000
*Apr  8 21:04:16.250: BGPBMP: BMP server 2 connection - 20.1.1.1/9000 up, invoke refresh event

Configure BGP Monitoring Protocol servers

Perform this task to configure BGP Monitoring Protocol (BMP) servers and its parameters in BMP server configuration mode.

Before you begin

To configure BGP monitoring protocol servers, perform this procedure:

Procedure


Step 1

enable

Example:


Device> enable
          

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal
          

Enters global configuration mode.

Step 3

router bgp as-number

Example:


Device(config)# router bgp 65000
          

Enters router configuration mode and creates a BGP routing process.

Step 4

bmp {buffer-size buffer-bytes | initial-refresh {delay refresh-delay | skip} | server server-number-n

Example:


Device(config-router)# bmp server 1
          

Enters BMP server configuration mode to configure BMP servers.

Step 5

activate

Example:


Device(config-router-bmpsrvr)# activate
          

Initiates a connection between BMP server and BGP neighbors.

Step 6

address {ipv4-addr | ipv6-addr} port-number port-number

Example:


Device(config-router-bmpsrvr)# address 10.1.1.1 port-number 8000
          

Configures IP address and port number to a specific BMP server.

Step 7

description LINE server-description

Example:


Device(config-router-bmpsrvr)# description LINE SERVER1
          

Configures a textual description of a BMP server.

Step 8

failure-retry-delay failure-retry-delay

Example:


Device(config-router-bmpsrvr)# failure-retry-delay 40
          

Configures delay in the retry requests during failures when sending BMP server updates.

Step 9

flapping-delay flap-delay

Example:


Device(config-router-bmpsrvr)# flapping-delay 120
          

Configures delays in flapping when sending BMP server updates.

Step 10

initial-delay initial-delay-time

Example:


Device(config-router-bmpsrvr)# initial-delay 20
          

Configures delays in sending initial requests for updates from the BMP servers.

Step 11

set ip dscp dscp-value

Example:


Device(config-router-bmpsrvr)# set ip dscp 5
          

Configures the IP Differentiated Services Code Point (DSCP) values for BMP servers.

Step 12

stats-reporting-period report-period

Example:


Device(config-router-bmpsrvr)# stats-reporting-period 30
          

Configures the time interval in which the BMP server receives the statistics report from BGP neighbors.

Step 13

update-source interface-type interface-number

Example:


Device(config-router-bmpsrvr)# update-source ethernet 0/0
          

Configures the interface source for routing updates on the BMP servers.

Step 14

exit-bmp-server-mode

Example:


Device(config-router-bmpsrvr)# exit-bmp-server-mode
          

Exits from BMP server configuration mode and returns to router configuration mode.

Step 15

Repeat Steps 1 to 14 to configure other BMP servers in the session.

Step 16

end

Example:


Device(config-router)# end
          

Returns to privileged EXEC mode.


Configure BGP Monitoring Protocol on VRF neighbors

Perform this task to activate BGP Monitoring Protocol (BMP) on VRF neighbors.

Before you begin

To configure BGP monitoring protocol on VRF neighbors, perform this procedure:

Procedure


Step 1

enable

Example:


Device> enable
          

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal
          

Enters global configuration mode.

Step 3

router bgp as-number

Example:


Device(config)# router bgp 65000
          

Enters router configuration mode and creates a BGP routing process.

Step 4

address-family { ipv4 | ipv6 } vrf vrf-name

Example:


Device (config-router)# address-family 10.1.1.1 vrf vrf1
          

Enters address family configuration mode and specifies the name of the VPN routing and forwarding (VRF) instance to associate with address family configuration mode commands.

Step 5

neighbor {ipv4-addr | neighbor-tag | ipv6-addr} bmp-activate {all | server server-number-1 [server server-number-2 . . . [server server-number-n]]}

Example:


Device(config-router)# neighbor 10.1.1.1 bmp-activate server 1 server 2
          

Activates BMP monitoring on a VRF neighbor.

Step 6

Repeat Steps 1 to 5 to configure other VRF neighbors in the session.

Step 7

end

Example:


Device(config-router)# end
          

Returns to privileged EXEC mode.


Verify BGP Monitoring Protocol

Use this task to verify the configuration for the BGP Monitoring Protocol (BMP) servers and BMP clients:

Before you begin

To verify BGP monitoring protocol, perform this procedure:

Procedure


Step 1

enable

Example:


Device> enable
          

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

show ip bgp bmp

Example:


Device# show ip bgp bmp neighbors
          

Displays information about BMP servers and neighbors.

Step 3

show running-config

Example:


Device# show running-config | section bmp
          

Displays information about BMP servers and neighbors.


Monitor BGP Monitoring Protocol

Use this task to enable debugging and monitor the BGP Monitoring Protocol (BMP) servers.

Before you begin

To monitor BGP monitoring protocol, perform this procedure:

Procedure


Step 1

enable

Example:


Device> enable
          

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

debug ip bgp bmp

Example:


Device# debug ip bgp bmp server
          

Enables debugging of the BMP attributes.

Step 3

show debugging

Example:


Device# show debugging
          

Displays information about the types of debugging that are enabled on a device.


Additional references for BGP Monitoring Protocol

Cisco IOS commands

Related Documents

Table 2. Lookup information
Related Topic Document Title

Cisco IOS commands

Cisco IOS command list, all releases

BGP commands

Cisco IOS IP Routing: BGP Command Reference

Technical Assistance

Table 3. Lookup information
Description Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

http://www.cisco.com/support