-
Notifications
You must be signed in to change notification settings - Fork 16
BGP Monitoring Protocol ( emulation of BMP Monitor ) support. #427
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
4e96082
37f2984
535b0da
8d051b4
3614c86
8314d45
16b8f7a
a414c3d
687ce66
3f18b4c
0a58fd6
d2cd603
20249ed
1dc2f23
a88fa28
d30c379
c0cd0f3
ee32a10
eb086c7
fd76b5d
b3c121b
5ce2d83
3f1b6eb
9de8d0f
a1aff4d
2f0c6bb
769fa08
b0c0954
70429d9
3ba2b85
56a0b3c
2c6a625
c3d6ab9
1ad796a
038139b
db5ae09
455829c
761b7d8
a2e8bb2
6df222e
724e8fb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,177 @@ | ||
components: | ||
schemas: | ||
Device.Bmp: | ||
description: >- | ||
Top-level container for BGP Monitoring Protocol (BMP) configuration. | ||
BMP, as defined in RFC 7854, provides a mechanism to monitor BGP sessions. | ||
This configuration pertains to the device when acting as a BMP Monitor /server, | ||
listening for connections from BGP speakers (routers) acting as BMP clients. | ||
BMP is unidirectional, meaning the monitoring station only receives information; it doesn't send commands to or control the monitored router. | ||
type: object | ||
properties: | ||
ipv4_interfaces: | ||
description: >- | ||
This contains an array of references to IPv4 interfaces, each of which will have one or more BMP Servers configured, each BMP Server will have a connection to a different monitored router. | ||
type: array | ||
items: | ||
$ref: './bmp.yaml#/components/schemas/Device.Bmp.V4Interface' | ||
x-field-uid: 1 | ||
ipv6_interfaces: | ||
description: >- | ||
This contains an array of references to IPv6 interfaces, each of which will have one or more BMP Servers configured, each BMP Server will have a connection to a different monitored router. | ||
type: array | ||
items: | ||
$ref: './bmp.yaml#/components/schemas/Device.Bmp.V6Interface' | ||
x-field-uid: 2 | ||
|
||
Device.Bmp.V4Interface: | ||
description: >- | ||
Configuration for BMP Servers on a single IPv4 interface. | ||
type: object | ||
required: [ipv4_name, servers] | ||
properties: | ||
ipv4_name: | ||
description: >- | ||
The unique name of the IPv4 interface used as the source IP for the BMP Server. | ||
type: string | ||
x-constraint: | ||
- '/components/schemas/Device.Ipv4/properties/name' | ||
x-field-uid: 1 | ||
servers: | ||
description: >- | ||
This contains the configuration of BMP Servers configured on this IPv4 interface. | ||
type: array | ||
items: | ||
$ref: './bmp.yaml#/components/schemas/Device.Bmp.ServerV4' | ||
x-field-uid: 2 | ||
|
||
Device.Bmp.V6Interface: | ||
description: >- | ||
Configuration for BMP Servers on a single IPv6 interface. | ||
type: object | ||
required: [ipv6_name, servers] | ||
properties: | ||
ipv6_name: | ||
description: >- | ||
The unique name of the IPv6 interface used as the source IP for BMP Server. | ||
type: string | ||
x-constraint: | ||
- '/components/schemas/Device.Ipv6/properties/name' | ||
x-field-uid: 1 | ||
servers: | ||
description: >- | ||
This contains the configuration of BMP Servers configured on this IPv6 interface. | ||
type: array | ||
items: | ||
$ref: './bmp.yaml#/components/schemas/Device.Bmp.ServerV6' | ||
x-field-uid: 2 | ||
|
||
Device.Bmp.ServerV4: | ||
description: >- | ||
Configuration for a BMP Server for a specific IPv4 BMP client. | ||
type: object | ||
required: [name,client_ip] | ||
properties: | ||
client_ip: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can't one BMP sever not able to get routing information from multiple BGP Routers? |
||
description: |- | ||
The IPv4 address of the BMP client from which connections will be accepted from or initiated with by this BMP Server. | ||
type: string | ||
format: ipv4 | ||
x-field-uid: 1 | ||
connection: | ||
SouravSinhaRoy marked this conversation as resolved.
Show resolved
Hide resolved
|
||
description: >- | ||
Optional object containing information about whether the BMP Server should operate in passive or active mode and corresponding information depending on the mode. | ||
$ref: '#/components/schemas/Device.BmpServer.Connection' | ||
x-field-uid: 2 | ||
discard_adj_rib: | ||
description: |- | ||
If enabled, discard the BGP route information sent by the remote BMP client in BMP Monitoring messages. | ||
type: boolean | ||
default: false | ||
x-field-uid: 3 | ||
name: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It may need to add other properties in this object in future. As the mandatory field it's better to start with the 'name' of the object that's remains at first where other properties are added in future at the end. |
||
x-include: ../../common/common.yaml#/components/schemas/Named.Object/properties/name | ||
x-field-uid: 4 | ||
|
||
Device.Bmp.ServerV6: | ||
description: >- | ||
Configuration for a BMP Server connected to a specific IPv6 BMP client. | ||
type: object | ||
required: [name,client_ip] | ||
properties: | ||
client_ip: | ||
description: |- | ||
The IPv6 address of the BMP client from which connections will be accepted from or initiated with by this BMP Server. | ||
type: string | ||
format: ipv6 | ||
x-field-uid: 1 | ||
connection: | ||
description: >- | ||
Optional object containing information about whether the BMP Server should operate in passive or active mode and corresponding information depending on the mode. | ||
x-field-uid: 2 | ||
$ref: '#/components/schemas/Device.BmpServer.Connection' | ||
discard_adj_rib: | ||
description: |- | ||
If enabled, discard the BGP route information sent by the remote BMP client in BMP Monitoring messages. | ||
type: boolean | ||
default: false | ||
x-field-uid: 3 | ||
name: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. same as above. |
||
x-include: ../../common/common.yaml#/components/schemas/Named.Object/properties/name | ||
x-field-uid: 4 | ||
|
||
Device.BmpServer.Connection: | ||
description: >- | ||
Container of information about whether the BMP Server should operate in passive or active mode and corresponding information depending on the mode. | ||
type: object | ||
properties: | ||
choice: | ||
type: string | ||
default: passive | ||
x-enum: | ||
passive: | ||
x-field-uid: 1 | ||
active: | ||
x-field-uid: 2 | ||
x-field-uid: 1 | ||
passive: | ||
x-field-uid: 2 | ||
$ref: '#/components/schemas/Device.BmpServer.PassiveConnection' | ||
active: | ||
x-field-uid: 3 | ||
$ref: '#/components/schemas/Device.BmpServer.ActiveConnection' | ||
|
||
Device.BmpServer.PassiveConnection: | ||
description: >- | ||
Container of information when BMP Server is configured in passive mode. | ||
This means that BMP Server will not initiate the TCP connection but wait for the BMP client it is configured to accept connection from | ||
to initiate the connection. | ||
Note that in this case it is required to configure the BMP client in active mode otherwise BMP connection will not be intiated by either end. | ||
type: object | ||
properties: | ||
listen_port: | ||
description: |- | ||
The TCP port number on which to listen for TCP connections from the remote BMP client router. | ||
type: integer | ||
format: uint32 | ||
default: 11019 | ||
maximum: 65535 | ||
x-field-uid: 1 | ||
|
||
Device.BmpServer.ActiveConnection: | ||
description: >- | ||
Container of information when BMP Server is configured in active mode. | ||
This means that BMP Server will initiate the TCP connection to the remote BMP client . | ||
Note that in this case it is required to configure the BMP client in passive mode for the BMP session to not be rejected from both ends. | ||
type: object | ||
properties: | ||
remote_port: | ||
description: |- | ||
The TCP port number on which to initiate BMP connection to the remote BMP client router. | ||
type: integer | ||
format: uint32 | ||
default: 11019 | ||
maximum: 65535 | ||
x-field-uid: 1 | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
openapi: 3.0.3 | ||
info: | ||
title: BMP results models | ||
version: ^0.0.0 | ||
components: | ||
schemas: | ||
BmpServer.Metrics.Request: | ||
description: >- | ||
The request to retrieve per BMP Server metrics/statistics. | ||
type: object | ||
properties: | ||
server_names: | ||
description: >- | ||
The names of BMP Servers to return results for. | ||
An empty list will return results for all BMP Servers. | ||
type: array | ||
items: | ||
type: string | ||
x-constraint: | ||
- "/components/schemas/Device.Bmp.ServerV4/properties/name" | ||
- "/components/schemas/Device.Bmp.ServerV6/properties/name" | ||
x-field-uid: 1 | ||
column_names: | ||
description: >- | ||
The list of column names that the returned result set will contain. | ||
If the list is empty then all columns will be returned except for | ||
any result_groups. The name of the BMP Server cannot be excluded. | ||
type: array | ||
items: | ||
type: string | ||
x-enum: | ||
apratimmukherjee marked this conversation as resolved.
Show resolved
Hide resolved
|
||
session_state: | ||
x-field-uid: 1 | ||
flap_count: | ||
x-field-uid: 2 | ||
route_monitoring_messages_received: | ||
x-field-uid: 3 | ||
statistics_messages_received: | ||
x-field-uid: 4 | ||
peer_down_messages_received: | ||
x-field-uid: 5 | ||
peer_up_messages_received: | ||
x-field-uid: 6 | ||
initiation_messages_received: | ||
x-field-uid: 7 | ||
route_mirroring_messages_received: | ||
x-field-uid: 8 | ||
termination_messages_received: | ||
x-field-uid: 9 | ||
x-field-uid: 2 | ||
BmpServer.Metric: | ||
description: >- | ||
BMP Server statistics information. | ||
type: object | ||
properties: | ||
name: | ||
description: >- | ||
The name of the configured BMP server. | ||
type: string | ||
x-field-uid: 1 | ||
session_state: | ||
description: >- | ||
Session state as up or down. | ||
The session goes to 'up' state when a BMP monitored client router sends a Initiation message to the BMP Server. | ||
The session goes to 'down' state when a BMP monitored client router sends a Termination message to the BMP Server or the TCP connection is lost. | ||
On initial start, the state as reported as 'down'. | ||
type: string | ||
x-field-uid: 2 | ||
x-enum: | ||
up: | ||
x-field-uid: 1 | ||
down: | ||
x-field-uid: 2 | ||
flap_count: | ||
description: >- | ||
Number of times the BMP session with the BMP client went from Up to Down state. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 3 | ||
route_monitoring_messages_received: | ||
description: >- | ||
Number of BMP Route Monitoring Messages received from the BMP client from the time the BMP session last went to 'up' state. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 4 | ||
statistics_messages_received: | ||
description: >- | ||
Number of BMP Route Statistics Messages received from the BMP client from the time the BMP session last went to 'up' state. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 5 | ||
peer_down_messages_received: | ||
description: >- | ||
Number of BMP Peer Down Messages received from the BMP client from the time the BMP session last went to 'up' state. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 6 | ||
peer_up_messages_received: | ||
description: >- | ||
Number of BMP Peer Up Messages received from the BMP client from the time the BMP session last went to 'up' state. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 7 | ||
initiation_messages_received: | ||
description: >- | ||
Number of BMP Initiation Messages received from the BMP client . | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 8 | ||
route_mirroring_messages_received: | ||
description: >- | ||
Number of BMP Route Mirroring Messages received from the BMP client from the time the BMP session last went to 'up' state. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 9 | ||
termination_messages_received: | ||
description: >- | ||
Number of BMP Termination Messages received from the BMP client. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 10 | ||
|
||
|
||
|
||
|
Uh oh!
There was an error while loading. Please reload this page.