Message Bus API Specification

Message Bus API

Current Version 1.4

Version Diff

Diff from 1.5 to 1.3

Diff from 1.4 to 1.2

Diff from 1.3 to 1.2

Diff from 1.2 to 1.1

Diff from 1.0 to 1.1

Types of Message Feeds

Currently there are two feeds available.

1) Parsed Messages

Topic Name Structure

openbmp.parsed.{object}

2) BMP RAW Messages

Topic Name Structure

openbmp.bmp_raw

Headers

See message API details for the list of headers that will be included

Message API: Parsed Data

Headers

Header Value Description
V 1.3 Schema version, currently 1.3
C_HASH_ID hash string Collector Hash Id
L length Length of the data in bytes
R count Number of records in TSV data

Data

Data is in TSV format

Object: collector (openbmp.parsed.collector)

Collector details.

# Field Data Type Size in Bytes Details
1 Action String 32 started = Collector started
change = Collector had a router connection change
heartbeat = Collector periodic heartbeat
stopped = Collector was stopped/shutdown
2 Sequence Int 8 64bit unsigned number indicating the sequence number. This increments for each collector record and restarts on collector restart or number wrap.
3 Admin Id String 64 Administrative Id (variable length string); can be IP, hostname, etc.
4 Hash String 32 Hash Id for this entry; Hash of fields [ admin id ]
5 Routers String 4K List of router IP’s connected (delimited by comma if more than one exists)
6 Router Count Int 4 Number of routers connected
7 Timestamp String 26 In the format of: YYYY-MM-dd HH:MM:SS.ffffff

Object: router (openbmp.parsed.router)

One or more BMP routers.

# Field Data Type Size in Bytes Details
1 Action String 32 first = first message received by the router, before the INIT message
init = Initiation message received
term = Termination message received or connection was closed
2 Sequence Int 8 64bit unsigned number indicating the sequence number. This increments for each router record by collector and restarts on collector restart or number wrap.
3 Name String 64 String name of router (from BMP init message or dns PTR)
4 Hash String 32 Hash ID for this entry; Hash of fields [ IP address, collector hash ]
5 IP Address String 46 Printed form of the router source IP address
6 Description String 255 BMP init message description
7 Term Code Int 4 BMP termination code
8 Term Reason String 255 BMP Termination reason text
9 Init Data String 4K BMP initiation data
10 Term Data String 4K BMP termination data)
11 Timestamp String 26 In the format of: YYYY-MM-dd HH:MM:SS.ffffff
12 BGP-ID String 46 Printed form of the router local BGP ID (IP address)

Object: peer (openbmp.parsed.peer)

One or more BGP peers.

# Field Data Type Size in Bytes Details
1 Action String 32 first = first message received by the router, before the INIT message
up = PEER_UP message received
down = PEER_DOWN message received or connection was closed
2 Sequence Int 8 64bit unsigned number indicating the sequence number. This increments for each peer record by collector and restarts on collector restart or number wrap.
3 Hash String 32 Hash ID for this entry; Hash of fields [ remote/peer ip, peer RD, router hash ]
4 Router Hash String 32 Hash Id of router
5 Name String 64 String name of peer (from BMP peer up message or dns PTR)
6 Remote BGP-ID String 46 printed form of the BGP ID (IP address) for the peer
7 Router IP String 46 Router BMP source IP address
8 Timestamp String 26 In the format of: YYYY-MM-dd HH:MM:SS.ffffff
9 Remote ASN Int 4 ASN of the peer (aka remote ASN)
10 Remote IP String 46 Printed format of the IP address for the peer
11 Peer RD String 64 Route distinguisher of peer
12 *Remote Port Int 2 Peer TCP port number for remote end
13 *Local ASN Int 4 Local ASN of the peer used by the router
14 *Local IP String 46 Printed format of the IP address for the peer (local side)
15 *Local Port Int 4 Peer TCP port number used on local side
16 *Local BGP-ID String 46 printed form of the BGP ID (IP address) for BMP router
17 *Info Data String 4K BMP Peer UP message informational data
18 *Adv Cap String 4K Advertised capabilities
19 *Recv Cap String 4K Received capabilities
20 *Remote Holddown Int 2 Received holddown from peer
21 *Adv Holddown Int 2 Advertised holddown sent to peer
22 **BMP Reason Int 1 BMP reason code/value detailing the reason for the peer down event
23 **BGP Error Code Int 1 BGP notification error code value
24 **BGP Error Subcode Int 1 BGP notification error sub code value
25 **Error Text String 255 Short description of the notification error message
26 isL3VPN Bool 1 Indicates if the peer is an L3VPN peer or not
27 isPrePolicy Bool 1 Indicates if the peer will convey pre-policy (true) information or post-policy (false)
28 isIPv4 Bool 1 Indicates if the peer is IPv4 or IPv6

* Only available in PEER_UP (action=up), other actions will set these fields to null/empty

** Only available in PEER_DOWN (action=down), other actions will set these fields to null/empty

Object: bmp_stat (openbmp.parsed.bmp_stat)

One or more bmp stat reports.

# Field Data Type Size in Bytes Details
1 Action String 32 add = New stat report entry
2 Sequence Int 8 64bit unsigned number indicating the sequence number. This increments for each record by peer and restarts on collector restart or number wrap.
3 Router Hash String 32 Hash Id of router
4 Router IP String 46 Router BMP source IP address
5 Peer Hash String 32 Hash Id of the peer
6 Peer IP String 46 Peer remote IP address
7 Peer ASN Int 4 Peer remote ASN
8 Timestamp String 26 In the format of: YYYY-MM-dd HH:MM:SS.ffffff
9 Prefixes Rejected Int 4 Prefixes rejected
10 Known Dup Prefixes Int 4 Known duplicate prefixes
11 Known Dup Withdraws Int 4 Known duplicate withdraws
12 Invalid Cluster List Int 4 Updates invalid by cluster list
13 Invalid As Path Int 4 Updates invalid by AS Path
14 Invalid Originator Id Int 4 Updates invalid by originator Id
15 Invalid As Confed Int 4 Updates invalid by AS confed loop
16 Prefixes Pre Policy Int 8 Prefixes pre-policy (Adj-RIB-In) - All address families
17 Prefixes Post Policy Int 8 Prefixes post-policy (Adj-RIB-In) - All address families

Object: base_attribute (openbmp.parsed.base_attribute)

One or more attribute sets (does not include the NLRI’s)

# Field Data Type Size in Bytes Details
1 Action String 32 add = New/Update entry
There is no delete action since attributes are not withdrawn. Attribute is considered stale/old when no RIB entries contain this hash id paired with peer and router hash id’s
2 Sequence Int 8 64bit unsigned number indicating the sequence number. This increments for each attribute record by peer and restarts on collector restart or number wrap.
3 Hash String 32 Hash ID for this entry; Hash of fields [ as path, next hop, aggregator, origin, med, local pref, community list, ext community list, peer hash ]
4 Router Hash String 32 Hash Id of router
5 Router IP String 46 Router BMP source IP address
6 Peer Hash String 32 Hash Id of the peer
7 Peer IP String 46 Peer remote IP address
8 Peer ASN Int 4 Peer remote ASN
9 Timestamp String 26 In the format of: YYYY-MM-dd HH:MM:SS.ffffff
10 Origin String 32 Origin of the prefix (igp, egp, incomplete)
11 AS Path String 8K AS Path string
12 AS Path Count Int 2 Count of ASN’s in the path
13 Origin AS Int 4 Originating ASN (right most)
14 Next Hop String 46 Printed form of the next hop IP address
15 MED Int 4 MED value
16 Local Pref Int 4 Local preference value
17 Aggregator String 64 Aggregator in printed form {as} {IP}
18 Community List String 8K String form of the communities
19 Ext Community List String 8K String from of the extended communities
20 Cluster List String 1K String form of the cluster id’s
21 isAtomicAgg Bool 1 Indicates if the aggregate is atomic
22 isNextHopIPv4 Bool 1 Indicates if the next hop address is IPv4 or not
23 Originator Id String 46 Originator ID in printed form (IP)

Object: unicast_prefix (openbmp.parsed.unicast_prefix)

One or more IPv4/IPv6 unicast prefixes.

# Field Data Type Size in Bytes Details
1 Action String 32 add = New/Update entry
del = Delete entry (withdrawn) - Attributes are null/empty for withdrawn prefixes
2 Sequence Int 8 64bit unsigned number indicating the sequence number. This increments for each prefix record by peer and restarts on collector restart or number wrap.
3 Hash String 32 Hash ID for this entry; Hash of fields [ prefix, prefix length, peer hash, path_id, 1 if has label(s) ]
4 Router Hash String 32 Hash Id of router
5 Router IP String 46 Router BMP source IP address
6 Base Attr Hash String 32 Hash Id of the base attribute set
7 Peer Hash String 32 Hash Id of the peer
8 Peer IP String 46 Peer remote IP address
9 Peer ASN Int 4 Peer remote ASN
10 Timestamp String 26 In the format of: YYYY-MM-dd HH:MM:SS.ffffff
11 Prefix String 46 Printed form of the Prefix IP address
12 Length Int 1 Length of the prefix in bits
13 isIPv4 Bool 1 Indicates if prefix is IPv4 or IPv6
14 Origin String 32 Origin of the prefix (igp, egp, incomplete)
15 AS Path String 8K AS Path string
16 AS Path Count Int 2 Count of ASN’s in the path
17 Origin AS Int 4 Originating ASN (right most)
18 Next Hop String 46 Printed form of the next hop IP address
19 MED Int 4 MED value
20 Local Pref Int 4 Local preference value
21 Aggregator String 64 Aggregator in printed form {as} {IP}
22 Community List String 8K String form of the communities
23 Ext Community List String 8K String from of the extended communities
24 Cluster List String 1K String form of the cluster id’s
25 isAtomicAgg Bool 1 Indicates if the aggregate is atomic
26 isNextHopIPv4 Bool 1 Indicates if the next hop address is IPv4 or not
27 Originator Id String 46 Originator ID in printed form (IP)
28 Path ID Int 4 Unsigned 32 bit value for the path ID (draft-ietf-idr-add-paths-15). Zero means add paths is not enabled/used.
29 Labels String 255 Comma delimited list of 32bit unsigned values that represent the received labels.
30 isPrePolicy Bool 1 Indicates if unicast BGP prefix is Pre-Policy Adj-RIB-In or Post-Policy Adj-RIB-In
31 isAdjIn Bool 1 Indicates if unicast BGP prefix is Adj-RIB-In or Adj-RIB-Out

Object: ls_node (openbmp.parsed.ls_node)

One or more link-state nodes.

# Field Data Type Size in Bytes Details
1 Action String 32 add = New/Update entry
del = Delete entry (withdrawn) - Attributes are null/empty for withdrawn prefixes
2 Sequence Int 8 64bit unsigned number indicating the sequence number. This increments for each record by peer and restarts on collector restart or number wrap.
3 Hash String 32 Hash ID for this entry; Hash of fields [ igp router id, bgp ls id, asn, ospf area id ]
4 Base Attr Hash String 32 Hash value of the base attribute set
5 Router Hash String 32 Hash Id of router
6 Router IP String 46 Router BMP source IP address
7 Peer Hash String 32 Hash Id of the peer
8 Peer IP String 46 Peer remote IP address
9 Peer ASN Int 4 Peer remote ASN
10 Timestamp String 26 In the format of: YYYY-MM-dd HH:MM:SS.ffffff
11 IGP Router Id String 46 printed form of the IGP router Id (varies in size depending on protocol)
12 Router Id String 46 Printed form of the router Id (either null/empty, IPv4 or IPv6)
13 Routing Id Int 8 Routing universe Id
14 LS Id Int 4 Link state Id in Hex
15 Mt Id String 256 Multi-Topology Id list of hex values delimited by comma
16 Ospf Area Id String 16 Printed form of the OSPF Area Id (IP format)
17 Isis Area Id String 32 Hex string of the area Id
18 Protocol String 32 String name of the protocol (Direct, Static, IS-IS_L1, IS-IS_L2, OSPFv2, OSPFv3)
19 Flags String 32 String representation of the flags
20 AS Path String 8K BGP AS Path string
21 Local Pref Int 4 BGP Local preference
22 MED Int 4 BGP MED value
23 Next Hop String 46 BGP next hop IP address in printed form
24 Node Name String 255 ISIS hostname
25 isPrePolicy Bool 1 Indicates if LS node BGP prefix is Pre-Policy Adj-RIB-In or Post-Policy Adj-RIB-In
26 isAdjIn Bool 1 Indicates if LS node BGP prefix is Adj-RIB-In or Adj-RIB-Out
27 SR-Capabilities TLV String 255 SR-Capabilities TLV in the format of [FLAGS] <list of [Range Size] [Base SID/Label Type]>. List is delimited by comma.

One or more link-state links.

# Field Data Type Size in Bytes Details
1 Action String 32 add = New/Update entry
del = Delete entry (withdrawn) - Attributes are null/empty for withdrawn prefixes
2 Sequence Int 8 64bit unsigned number indicating the sequence number. This increments for each record by peer and restarts on collector restart or number wrap.
3 Hash String 32 Hash ID for this entry; Hash of fields [ interface ip, neighbor ip, link id, local node hash, remote node hash, local link id, remote link id, peer hash ]
4 Base Attr Hash String 32 Hash value of the base attribute set
5 Router Hash String 32 Hash Id of router
6 Router IP String 46 Router BMP source IP address
7 Peer Hash String 32 Hash Id of the peer
8 Peer IP String 46 Peer remote IP address
9 Peer ASN Int 4 Peer remote ASN
10 Timestamp String 26 In the format of: YYYY-MM-dd HH:MM:SS.ffffff
11 IGP Router Id String 46 printed form of the Local IGP router Id (varies in size depending on protocol)
12 Router Id String 46 Printed form of the Local router Id. When EPE, this is Local BGP Router ID.
13 Routing Id Int 8 Routing universe Id
14 LS Id Int 4 Link state Id in Hex
15 Ospf Area Id String 16 Printed form of the OSPF Area Id (IP format)
16 Isis Area Id String 32 Hex string of the area Id
17 Protocol String 32 String name of the protocol (Direct, Static, IS-IS_L1, IS-IS_L2, OSPFv2, OSPFv3)
18 AS Path String 8K BGP AS Path string
19 Local Pref Int 4 BGP Local preference
20 MED Int 4 BGP MED value
21 Next Hop String 46 BGP next hop IP address in printed form
22 Mt Id Int 4 Multi-Topology Id in Hex
23 Local Link Id Int 4 Unsigned 32bit local link id
24 remote Link Id Int 4 Unsigned 32bit remote link id
25 Interface IP String 46 Printed form of the local interface IP (ospf)
26 Neighbor IP String 46 Printed form of the remote interface IP (ospf)
27 IGP Metric Int 4 Unsigned 32bit IGP metric value
28 Admin Group Int 4 Admin Group
29 Max Link BW Int 4 Int value of the max link BW in Kbits
30 Max Resv BW Int 4 Int value of the max reserved BW in Kbits
31 Unreserved BW String 100 String value for 8 uint32 values (8 priorities) delimited by comma (each value is in Kbits)
32 TE Default Metric Int 4 Unsigned 32bit value of the TE metric
33 Link Protection String 64 Textual representation of the link protection type
34 MPLS Proto Mask String 64 Textual representation of the protocols enabled (LDP, RSVP)
35 SRLG String 255 HEX value list SRLG values (delimited by comma if more than one exists)
36 Link Name String 255 Link name
37 Remote Node Hash String 32 Remote node hash Id
38 Local Node Hash String 32 Local node hash Id
39 Remote IGP Router Id String 46 printed form of the Remote IGP router Id (varies in size depending on protocol)
40 Remote Router Id String 46 Printed form of the Remote router Id. When EPE, this is the Remote BGP Router ID.
41 Local Node ASN Int 4 Local Node descriptor ASN
42 Remote Node ASN Int 4 Remote Node descriptor ASN
43 EPE Peer Node SID String 128 Peer node SID in the format of [L] weight label/idx/ipv4. L is only set when L flag is set.
44 isPrePolicy Bool 1 Indicates if LS link BGP prefix is Pre-Policy Adj-RIB-In or Post-Policy Adj-RIB-In
45 isAdjIn Bool 1 Indicates if LS link BGP prefix is Adj-RIB-In or Adj-RIB-Out
46 Adjacency Segment Identifier String 255 Delimited by comma list of Adjacency Segment Identifier in the format of [FLAGS] [Weight] [SID/Label]. Flags are different by protocol, see draft-gredler-idr-bgp-ls-segment-routing-ext for more details.

Object: ls_prefix (openbmp.parsed.ls_prefix)

One or more link-state prefixes.

# Field Data Type Size in Bytes Details
1 Action String 32 add = New/Update entry
del = Delete entry (withdrawn) - Attributes are null/empty for withdrawn prefixes
2 Sequence Int 8 64bit unsigned number indicating the sequence number. This increments for each record by peer and restarts on collector restart or number wrap.
3 Hash String 32 Hash ID for this entry; Hash of fields [ igp router id, bgp ls id, asn, ospf area id ]
4 Base Attr Hash String 32 Hash value of the base attribute set
5 Router Hash String 32 Hash Id of router
6 Router IP String 46 Router BMP source IP address
7 Peer Hash String 32 Hash Id of the peer
8 Peer IP String 46 Peer remote IP address
9 Peer ASN Int 4 Peer remote ASN
10 Timestamp String 26 In the format of: YYYY-MM-dd HH:MM:SS.ffffff
11 IGP Router Id String 46 printed form of the IGP router Id (varies in size depending on protocol)
12 Router Id String 46 Printed form of the router Id (either null/empty, IPv4 or IPv6)
13 Routing Id Int 8 Routing universe Id
14 LS Id Int 4 Link state Id in Hex
15 Ospf Area Id String 16 Printed form of the OSPF Area Id (IP format)
16 Isis Area Id String 32 Hex string of the area Id
17 Protocol String 32 String name of the protocol (Direct, Static, IS-IS_L1, IS-IS_L2, OSPFv2, OSPFv3)
18 AS Path String 8K BGP AS Path string
19 Local Pref Int 4 BGP Local preference
20 MED Int 4 BGP MED value
21 Next Hop String 46 BGP next hop IP address in printed form
22 Local node Hash String 32 Local node hash Id
23 Mt Id Int 4 Multi-Topology Id in hex
24 Ospf Route Type String 64 Textual representation of the OSPF route type (Intra, Inter, Ext-1, Ext-2, NSSA-1, NSSA-2)
25 IGP Flags String 32 String representation of the IGP flags
26 Route Tag Int 4 Route tag value
27 External Route Tag Int 8 External route tag value (hex)
28 Ospf Forwarding Addr String 46 Printed form o f the forwarding IP address
29 IGP Metric Int 4 Unsigned 32bit igp metric value
30 Prefix String 46 Printed form of the IP address/prefix
31 Prefix Length Int 1 Prefix length in bits
32 isPrePolicy Bool 1 Indicates if LS prefix BGP prefix is Pre-Policy Adj-RIB-In or Post-Policy Adj-RIB-In
33 isAdjIn Bool 1 Indicates if LS prefix BGP prefix is Adj-RIB-In or Adj-RIB-Out
34 Prefix-SID TLV String 255 Delimited by comma list of Prefix-SID TLV in the format of [FLAGS] [Weight] [SID/Label]. [FLAGS] [Weight] [SID/Label]. Flags are different by protocol, see draft-gredler-idr-bgp-ls-segment-routing-ext for more details.

Object: l3vpn (openbmp.parsed.l3vpn)

# Field Data Type Size in Bytes Details
1 Action String 32 add = New/Update entry
del = Delete entry (withdrawn) - Attributes are null/empty for withdrawn prefixes
2 Sequence Int 8 64bit unsigned number indicating the sequence number. This increments for each prefix record by peer and restarts on collector restart or number wrap.
3 Hash String 32 Hash ID for this entry; Hash of fields [ prefix, prefix length, rd admin id, rd number, peer hash, path_id, 1 if has label(s) ]
4 Router Hash String 32 Hash Id of router
5 Router IP String 46 Router BMP source IP address
6 Base Attr Hash String 32 Hash Id of the base attribute set
7 Peer Hash String 32 Hash Id of the peer
8 Peer IP String 46 Peer remote IP address
9 Peer ASN Int 4 Peer remote ASN
10 Timestamp String 26 In the format of: YYYY-MM-dd HH:MM:SS.ffffff
11 Prefix String 46 Printed form of the Prefix IP address
12 Length Int 1 Length of the prefix in bits
13 isIPv4 Bool 1 Indicates if prefix is IPv4 or IPv6
14 Origin String 32 Origin of the prefix (igp, egp, incomplete)
15 AS Path String 8K AS Path string
16 AS Path Count Int 2 Count of ASN’s in the path
17 Origin AS Int 4 Originating ASN (right most)
18 Next Hop String 46 Printed form of the next hop IP address
19 MED Int 4 MED value
20 Local Pref Int 4 Local preference value
21 Aggregator String 64 Aggregator in printed form {as} {IP}
22 Community List String 8K String form of the communities
23 Ext Community List String 8K String from of the extended communities
24 Cluster List String 1K String form of the cluster id’s
25 isAtomicAgg Bool 1 Indicates if the aggregate is atomic
26 isNextHopIPv4 Bool 1 Indicates if the next hop address is IPv4 or not
27 Originator Id String 46 Originator ID in printed form (IP)
28 Path ID Int 4 Unsigned 32 bit value for the path ID (draft-ietf-idr-add-paths-15). Zero means add paths is not enabled/used.
29 Labels String 255 Comma delimited list of 32bit unsigned values that represent the received labels.
30 isPrePolicy Bool 1 Indicates if unicast BGP prefix is Pre-Policy Adj-RIB-In or Post-Policy Adj-RIB-In
31 isAdjIn Bool 1 Indicates if unicast BGP prefix is Adj-RIB-In or Adj-RIB-Out
32 Route Distinguisher String 255 VPN Route Distinguisher following https://tools.ietf.org/html/rfc4364#section-4.2
33 Route Distinguisher Int 1 Indicates type of Route Distinguisher

Object: evpn (openbmp.parsed.evpn)

# Field Data Type Size in Bytes Details
1 Action String 32 add = New/Update entry
del = Delete entry (withdrawn) - Attributes are null/empty for withdrawn prefixes
2 Sequence Int 8 64bit unsigned number indicating the sequence number. This increments for each prefix record by peer and restarts on collector restart or number wrap.
3 Hash String 32 Hash ID for this entry; Hash of fields [ peer hash, mac, mac length, ip, ip length, ethernet segment id, rd admin id, rd number, path_id, 1 if has label(s) ]
4 Router Hash String 32 Hash Id of router
5 Router IP String 46 Router BMP source IP address
6 Base Attr Hash String 32 Hash Id of the base attribute set
7 Peer Hash String 32 Hash Id of the peer
8 Peer IP String 46 Peer remote IP address
9 Peer ASN Int 4 Peer remote ASN
10 Timestamp String 26 In the format of: YYYY-MM-dd HH:MM:SS.ffffff
11 Origin String 32 Origin of the prefix (igp, egp, incomplete)
12 AS Path String 8K AS Path string
13 AS Path Count Int 2 Count of ASN’s in the path
14 Origin AS Int 4 Originating ASN (right most)
15 Next Hop String 46 Printed form of the next hop IP address
16 MED Int 4 MED value
17 Local Pref Int 4 Local preference value
18 Aggregator String 64 Aggregator in printed form {as} {IP}
19 Community List String 8K String form of the communities
20 Ext Community List String 8K String from of the extended communities
21 Cluster List String 1K String form of the cluster id’s
22 isAtomicAgg Bool 1 Indicates if the aggregate is atomic
23 isNextHopIPv4 Bool 1 Indicates if the next hop address is IPv4 or not
24 Originator Id String 46 Originator ID in printed form (IP)
25 Path ID Int 4 Unsigned 32 bit value for the path ID (draft-ietf-idr-add-paths-15). Zero means add paths is not enabled/used.
26 isPrePolicy Bool 1 Indicates if unicast BGP prefix is Pre-Policy Adj-RIB-In or Post-Policy Adj-RIB-In
27 isAdjIn Bool 1 Indicates if unicast BGP prefix is Adj-RIB-In or Adj-RIB-Out
28 Route Distinguisher String 255 VPN Route Distinguisher following https://tools.ietf.org/html/rfc4364#section-4.2
29 Route Distinguisher Int 1 Indicates type of Route Distinguisher
30 Originating Router Ip Len Int 1 Len of Originating Router’s IP address: https://tools.ietf.org/html/rfc7432#section-7.3
31 Originating Router Ip String 46 Originating Router Ip: https://tools.ietf.org/html/rfc7432#section-7.3
32 Ethernet Tag Id Hex String 16 Ethernet Tag Id in hexadecimal: https://tools.ietf.org/html/rfc7432#section-7.3
33 Ethernet Segment Identifier String 255 Ethernet Segment Identifier https://tools.ietf.org/html/rfc7432#section-5 in format of type [depends on type]. If type = 0: ESI value in hex. If type = 1: CE LACP System Mac Address[space]CE LACP Port Key. If type = 2: Root Bridge Mac address[space]Root Bridge Priority. If type = 3: System Mac Address[space]Local Discriminator Value. If type = 4: Router ID[space]Local Discriminator value. If type = 5: AS Number[space]Local Discriminator Value.
34 Mac Len Int 1 Length of Mac Address
35 Mac Int 1 Mac Address: https://tools.ietf.org/html/rfc7432#section-7.2
36 Ip Len Int 1 Len of IP address: https://tools.ietf.org/html/rfc7432#section-7.2
37 Ip String 46 IP Address: https://tools.ietf.org/html/rfc7432#section-7.2
38 MPLS Label 1 Int 1 MPLS Label 1: https://tools.ietf.org/html/rfc7432#section-7.2
39 MPLS Label 2 Int 1 MPLS Label 2: https://tools.ietf.org/html/rfc7432#section-7.2

Message API: BMP RAW Data

Headers

Header Value Description
V 1.1 Schema version, currently 1.1
C_HASH_ID hash string Collector Hash Id
R_HASH_ID hash string Router Hash Id
L length Length of the data in bytes

Data

Data is the binary BMP message data. This includes the BMP headers and the BGP data (if present in the BMP message).

Binary data begins immediately after the headers and the double newline (”\n\n”)

The binary data can be replayed and consumed by any BMP receiver. Data is unaltered and is an identical copy from what was received by the router. This means the BMP version is relative to the router implementation. Monitor openbmp.parsed.router to get router details, including the r_hash_id.