BMP Server
Configure BMP (BGP Monitoring Protocol) servers to monitor BGP routing information. BMP enables real-time monitoring of BGP adjacencies, received routes, and routing changes for network analysis and troubleshooting.
Diagram
Section titled “Diagram”Classes
Section titled “Classes”configuration (iosxr.devices)
Section titled “configuration (iosxr.devices)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| bmp_server | Class | [bmp_server] | No |
bmp_server (iosxr.devices.configuration)
Section titled “bmp_server (iosxr.devices.configuration)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| all | Class | [all] | No | |
| servers | List | [servers] | No |
all (iosxr.devices.configuration.bmp_server)
Section titled “all (iosxr.devices.configuration.bmp_server)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| route_monitorings | List | [route_monitorings] | No | |
| route_mirroring_inbound_pre_policy | Boolean | true, false | No | |
| max_buffer_size | Integer | min: 1, max: 4096 | No |
servers (iosxr.devices.configuration.bmp_server)
Section titled “servers (iosxr.devices.configuration.bmp_server)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| id | Integer | min: 1, max: 8 | Yes | |
| shutdown | Boolean | true, false | No | |
| host | String | No | ||
| port | Integer | min: 1, max: 65535 | No | |
| initial_delay | Integer | min: 1, max: 3600 | No | |
| flapping_delay | Integer | min: 60, max: 3600 | No | |
| initial_refresh_delay | Integer | min: 1, max: 3600 | No | |
| initial_refresh_spread | Integer | min: 1, max: 3600 | No | |
| initial_refresh_skip | Boolean | true, false | No | |
| stats_reporting_period | Integer | min: 1, max: 3600 | No | |
| description | String | No | ||
| dscp | Any | Choice[af11, af12, af13, af21, af22, af23, af31, af32, af33, af41, af42, af43, cs1, cs2, cs3, cs4, cs5, cs6, cs7, default, ef] or Integer[min: 0, max: 63] or String[Regex: ^.*[\$\%]\{.*$] | No | |
| precedence | Any | Choice[critical, flash, flash-override, immediate, internet, network, priority, routine] or Integer[min: 0, max: 7] or String[Regex: ^.*[\$\%]\{.*$] | No | |
| update_source | String | No | ||
| vrf | String | No | ||
| tcp_mss | Integer | min: 68, max: 10000 | No | |
| tcp_keep_alive | Integer | min: 0, max: 7200 | No |
route_monitorings (iosxr.devices.configuration.bmp_server.all)
Section titled “route_monitorings (iosxr.devices.configuration.bmp_server.all)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| type | Choice | inbound-post-policy, inbound-pre-policy, local-rib | Yes | |
| advertisement_interval | Integer | min: 2, max: 600 | No | |
| scan_time | Integer | min: 5, max: 3600 | No |
Data Normalization
Section titled “Data Normalization”DSCP and Precedence Values
BMP server DSCP and precedence fields accept both numeric and named string values.
dscp: integer0-63or named value (e.g.,ef,af11,cs3)precedence: integer0-7or named value (e.g.,flash,critical,network)
Both formats can be used interchangeably. The normalization layer automatically converts integer values to their named equivalents before sending to the device, preventing configuration drift.
Example YAML Code:
Section titled “Example YAML Code:”Example-1: Configure BMP with route monitoring for all servers.
iosxr: devices: - name: router-1 host: 10.10.10.1:57400 configuration: bmp_server: all: route_monitorings: - type: inbound-pre-policy advertisement_interval: 60 scan_time: 5 max_buffer_size: 15 servers: - id: 1 shutdown: false host: 192.168.1.100 port: 5000Example-2: Configure BMP server with initial refresh settings.
iosxr: devices: - name: router-1 host: 10.10.10.1:57400 configuration: bmp_server: all: route_monitorings: - type: inbound-pre-policy advertisement_interval: 60 servers: - id: 1 shutdown: false host: 192.168.1.100 port: 5000 initial_delay: 60 flapping_delay: 300 initial_refresh_delay: 30 initial_refresh_spread: 60 stats_reporting_period: 60 description: "BMP Server 1"Example-3: Configure BMP server with QoS and interface settings.
iosxr: devices: - name: router-1 host: 10.10.10.1:57400 configuration: bmp_server: all: route_monitorings: - type: local-rib advertisement_interval: 120 max_buffer_size: 100 servers: - id: 1 shutdown: false host: 192.168.1.100 port: 5000 description: "BMP Server" dscp: ef update_source: Loopback0 vrf: OOB tcp_mss: 1460 tcp_keep_alive: 60Example-4: Complete BMP configuration with multiple servers and monitoring types.
iosxr: devices: - name: router-1 host: 10.10.10.1:57400 configuration: bmp_server: all: route_monitorings: - type: inbound-pre-policy advertisement_interval: 60 scan_time: 5 - type: inbound-post-policy advertisement_interval: 120 scan_time: 300 max_buffer_size: 200 servers: - id: 1 shutdown: false host: 192.168.1.100 port: 5000 initial_delay: 60 flapping_delay: 300 initial_refresh_delay: 30 initial_refresh_spread: 60 stats_reporting_period: 60 description: "BMP Server 1" dscp: ef update_source: Loopback0 vrf: OOB tcp_mss: 1460 tcp_keep_alive: 60 - id: 2 shutdown: false host: 192.168.1.101 port: 5001 initial_delay: 90 flapping_delay: 600 description: "BMP Server 2" precedence: 1 update_source: Loopback0 vrf: OOB