BGP Monitoring Protocol draft-ietf-grow-bmp-07
os_ken.lib.packet.bmp.BMPInitiation(info, type_=4, len_=None, version=3)¶BMP Initiation Message
| Attribute | Description |
|---|---|
| version | Version. this packet lib defines BMP ver. 3 |
| len | Length field. Ignored when encoding. |
| type | Type field. one of BMP_MSG_ constants. |
| info | One or more piece of information encoded as a TLV |
parser(buf)¶Decode a protocol header.
This method is used only when decoding a packet.
Decode a protocol header at offset 0 in bytearray buf. Returns the following three objects.
os_ken.lib.packet.bmp.BMPMessage(type_, len_=None, version=3)¶Base class for BGP Monitoring Protocol messages.
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
| Attribute | Description |
|---|---|
| version | Version. this packet lib defines BMP ver. 3 |
| len | Length field. Ignored when encoding. |
| type | Type field. one of BMP_MSG_ constants. |
parser(buf)¶Decode a protocol header.
This method is used only when decoding a packet.
Decode a protocol header at offset 0 in bytearray buf. Returns the following three objects.
serialize()¶Encode a protocol header.
This method is used only when encoding a packet.
Encode a protocol header. Returns a bytearray which contains the header.
payload is the rest of the packet which will immediately follow this header.
prev is a packet_base.PacketBase subclass for the outer protocol header. prev is None if the current header is the outer-most. For example, prev is ipv4 or ipv6 for tcp.serialize.
os_ken.lib.packet.bmp.BMPPeerDownNotification(reason, data, peer_type, is_post_policy, peer_distinguisher, peer_address, peer_as, peer_bgp_id, timestamp, version=3, type_=2, len_=None)¶BMP Peer Down Notification Message
| Attribute | Description |
|---|---|
| version | Version. this packet lib defines BMP ver. 3 |
| len | Length field. Ignored when encoding. |
| type | Type field. one of BMP_MSG_ constants. |
| reason | Reason indicates why the session was closed. |
| data | vary by the reason. |
parser(buf)¶Decode a protocol header.
This method is used only when decoding a packet.
Decode a protocol header at offset 0 in bytearray buf. Returns the following three objects.
os_ken.lib.packet.bmp.BMPPeerMessage(peer_type, is_post_policy, peer_distinguisher, peer_address, peer_as, peer_bgp_id, timestamp, version=3, type_=None, len_=None)¶BMP Message with Per Peer Header
Following BMP Messages contain Per Peer Header after Common BMP Header.
| Attribute | Description |
|---|---|
| version | Version. this packet lib defines BMP ver. 3 |
| len | Length field. Ignored when encoding. |
| type | Type field. one of BMP_MSG_ constants. |
| peer_type | The type of the peer. |
| is_post_policy | Indicate the message reflects the post-policy Adj-RIB-In |
| peer_distinguisher | Use for L3VPN router which can have multiple instance. |
| peer_address | The remote IP address associated with the TCP session. |
| peer_as | The Autonomous System number of the peer. |
| peer_bgp_id | The BGP Identifier of the peer |
| timestamp | The time when the encapsulated routes were received. |
parser(buf)¶Decode a protocol header.
This method is used only when decoding a packet.
Decode a protocol header at offset 0 in bytearray buf. Returns the following three objects.
os_ken.lib.packet.bmp.BMPPeerUpNotification(local_address, local_port, remote_port, sent_open_message, received_open_message, peer_type, is_post_policy, peer_distinguisher, peer_address, peer_as, peer_bgp_id, timestamp, version=3, type_=3, len_=None)¶BMP Peer Up Notification Message
| Attribute | Description |
|---|---|
| version | Version. this packet lib defines BMP ver. 3 |
| len | Length field. Ignored when encoding. |
| type | Type field. one of BMP_MSG_ constants. |
| peer_type | The type of the peer. |
| peer_flags | Provide more information about the peer. |
| peer_distinguisher | Use for L3VPN router which can have multiple instance. |
| peer_address | The remote IP address associated with the TCP session. |
| peer_as | The Autonomous System number of the peer. |
| peer_bgp_id | The BGP Identifier of the peer |
| timestamp | The time when the encapsulated routes were received. |
| local_address | The local IP address associated with the peering TCP session. |
| local_port | The local port number associated with the peering TCP session. |
| remote_port | The remote port number associated with the peering TCP session. |
| sent_open_message | The full OPEN message transmitted by the monitored router to its peer. |
| received_open_message | The full OPEN message received by the monitored router from its peer. |
parser(buf)¶Decode a protocol header.
This method is used only when decoding a packet.
Decode a protocol header at offset 0 in bytearray buf. Returns the following three objects.
os_ken.lib.packet.bmp.BMPRouteMonitoring(bgp_update, peer_type, is_post_policy, peer_distinguisher, peer_address, peer_as, peer_bgp_id, timestamp, version=3, type_=0, len_=None)¶BMP Route Monitoring Message
| Attribute | Description |
|---|---|
| version | Version. this packet lib defines BMP ver. 3 |
| len | Length field. Ignored when encoding. |
| type | Type field. one of BMP_MSG_ constants. |
| peer_type | The type of the peer. |
| peer_flags | Provide more information about the peer. |
| peer_distinguisher | Use for L3VPN router which can have multiple instance. |
| peer_address | The remote IP address associated with the TCP session. |
| peer_as | The Autonomous System number of the peer. |
| peer_bgp_id | The BGP Identifier of the peer |
| timestamp | The time when the encapsulated routes were received. |
| bgp_update | BGP Update PDU |
parser(buf)¶Decode a protocol header.
This method is used only when decoding a packet.
Decode a protocol header at offset 0 in bytearray buf. Returns the following three objects.
os_ken.lib.packet.bmp.BMPStatisticsReport(stats, peer_type, is_post_policy, peer_distinguisher, peer_address, peer_as, peer_bgp_id, timestamp, version=3, type_=1, len_=None)¶BMP Statistics Report Message
| Attribute | Description |
|---|---|
| version | Version. this packet lib defines BMP ver. 3 |
| len | Length field. Ignored when encoding. |
| type | Type field. one of BMP_MSG_ constants. |
| peer_type | The type of the peer. |
| peer_flags | Provide more information about the peer. |
| peer_distinguisher | Use for L3VPN router which can have multiple instance. |
| peer_address | The remote IP address associated with the TCP session. |
| peer_as | The Autonomous System number of the peer. |
| peer_bgp_id | The BGP Identifier of the peer |
| timestamp | The time when the encapsulated routes were received. |
| stats | Statistics (one or more stats encoded as a TLV) |
parser(buf)¶Decode a protocol header.
This method is used only when decoding a packet.
Decode a protocol header at offset 0 in bytearray buf. Returns the following three objects.
os_ken.lib.packet.bmp.BMPTermination(info, type_=5, len_=None, version=3)¶BMP Termination Message
| Attribute | Description |
|---|---|
| version | Version. this packet lib defines BMP ver. 3 |
| len | Length field. Ignored when encoding. |
| type | Type field. one of BMP_MSG_ constants. |
| info | One or more piece of information encoded as a TLV |
parser(buf)¶Decode a protocol header.
This method is used only when decoding a packet.
Decode a protocol header at offset 0 in bytearray buf. Returns the following three objects.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.