draft-ietf-grow-bmp-adj-rib-out-07.txt | rfc8671.txt | |||
---|---|---|---|---|
Global Routing Operations T. Evens | Internet Engineering Task Force (IETF) T. Evens | |||
Internet-Draft S. Bayraktar | Request for Comments: 8671 S. Bayraktar | |||
Updates: 7854 (if approved) Cisco Systems | Updates: 7854 Cisco Systems | |||
Intended status: Standards Track P. Lucente | Category: Standards Track P. Lucente | |||
Expires: February 6, 2020 NTT Communications | ISSN: 2070-1721 NTT Communications | |||
P. Mi | P. Mi | |||
Tencent | Tencent | |||
S. Zhuang | S. Zhuang | |||
Huawei | Huawei | |||
August 5, 2019 | November 2019 | |||
Support for Adj-RIB-Out in BGP Monitoring Protocol (BMP) | Support for Adj-RIB-Out in the BGP Monitoring Protocol (BMP) | |||
draft-ietf-grow-bmp-adj-rib-out-07 | ||||
Abstract | Abstract | |||
The BGP Monitoring Protocol (BMP) defines access to only the Adj-RIB- | The BGP Monitoring Protocol (BMP) only defines access to the Adj-RIB- | |||
In Routing Information Bases (RIBs). This document updates the BGP | In Routing Information Bases (RIBs). This document updates BMP (RFC | |||
Monitoring Protocol (BMP) RFC 7854 by adding access to the Adj-RIB- | 7854) by adding access to the Adj-RIB-Out RIBs. It also adds a new | |||
Out RIBs. It adds a new flag to the peer header to distinguish Adj- | flag to the peer header to distinguish between Adj-RIB-In and Adj- | |||
RIB-In and Adj-RIB-Out. | RIB-Out. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on February 6, 2020. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc8671. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology | |||
3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Definitions | |||
4. Per-Peer Header . . . . . . . . . . . . . . . . . . . . . . . 4 | 4. Per-Peer Header | |||
5. Adj-RIB-Out . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 5. Adj-RIB-Out | |||
5.1. Post-Policy . . . . . . . . . . . . . . . . . . . . . . . 4 | 5.1. Post-policy | |||
5.2. Pre-Policy . . . . . . . . . . . . . . . . . . . . . . . 5 | 5.2. Pre-policy | |||
6. BMP Messages . . . . . . . . . . . . . . . . . . . . . . . . 5 | 6. BMP Messages | |||
6.1. Route Monitoring and Route Mirroring . . . . . . . . . . 5 | 6.1. Route Monitoring and Route Mirroring | |||
6.2. Statistics Report . . . . . . . . . . . . . . . . . . . . 5 | 6.2. Statistics Report | |||
6.3. Peer Down and Up Notifications . . . . . . . . . . . . . 6 | 6.3. Peer Up and Down Notifications | |||
6.3.1. Peer Up Information . . . . . . . . . . . . . . . . . 6 | 6.3.1. Peer Up Information | |||
7. Other Considerations . . . . . . . . . . . . . . . . . . . . 6 | 7. Other Considerations | |||
7.1. Peer and Update Groups . . . . . . . . . . . . . . . . . 7 | 7.1. Peer and Update Groups | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 7.2. Changes to Existing BMP Session | |||
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 8. Security Considerations | |||
9.1. BMP Peer Flags . . . . . . . . . . . . . . . . . . . . . 8 | 9. IANA Considerations | |||
9.2. BMP Statistics Types . . . . . . . . . . . . . . . . . . 8 | 9.1. Addition to BMP Peer Flags Registry | |||
9.3. Peer Up Information TLV . . . . . . . . . . . . . . . . . 8 | 9.2. Additions to BMP Statistics Types Registry | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 9.3. Addition to BMP Initiation Message TLVs Registry | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 9 | 10. Normative References | |||
10.2. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | Acknowledgements | |||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 9 | Contributors | |||
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | Authors' Addresses | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | ||||
1. Introduction | 1. Introduction | |||
BGP Monitoring Protocol (BMP) defines monitoring of the received | The BGP Monitoring Protocol (BMP) defines monitoring of the received | |||
(e.g., Adj-RIB-In) Routing Information Bases (RIBs) per peer. The | (e.g., Adj-RIB-In) Routing Information Bases (RIBs) per peer. The | |||
Adj-RIB-In pre-policy conveys to a BMP receiver all RIB data before | pre-policy Adj-RIB-In conveys to a BMP receiver all RIB data before | |||
any policy has been applied. The Adj-RIB-In post-policy conveys to a | any policy has been applied. The post-policy Adj-RIB-In conveys to a | |||
BMP receiver all RIB data after policy filters and/or modifications | BMP receiver all RIB data after policy filters and/or modifications | |||
have been applied. An example of pre-policy versus post-policy is | have been applied. An example of pre-policy versus post-policy is | |||
when an inbound policy applies attribute modification or filters. | when an inbound policy applies attribute modification or filters. | |||
Pre-policy would contain information prior to the inbound policy | Pre-policy would contain information prior to the inbound policy | |||
changes or filters of data. Post policy would convey the changed | changes or filters of data. Post-policy would convey the changed | |||
data or would not contain the filtered data. | data or would not contain the filtered data. | |||
Monitoring the received updates that the router received before any | Monitoring the received updates that the router received before any | |||
policy has been applied is the primary level of monitoring for most | policy has been applied is the primary level of monitoring for most | |||
use-cases. Inbound policy validation and auditing is the primary | use cases. Inbound policy validation and auditing are the primary | |||
use-case for enabling post-policy monitoring. | use cases for enabling post-policy monitoring. | |||
In order for a BMP receiver to receive any BGP data, the BMP sender | In order for a BMP receiver to receive any BGP data, the BMP sender | |||
(e.g., router) needs to have an established BGP peering session and | (e.g., router) needs to have an established BGP peering session and | |||
actively be receiving updates for an Adj-RIB-In. | actively be receiving updates for an Adj-RIB-In. | |||
Being able to only monitor the Adj-RIB-In puts a restriction on what | Being able to only monitor the Adj-RIB-In puts a restriction on what | |||
data is available to BMP receivers via BMP senders (e.g., routers). | data is available to BMP receivers via BMP senders (e.g., routers). | |||
This is an issue when the receiving end of the BGP peer is not | This is an issue when the receiving end of the BGP peer is not | |||
enabled for BMP or when it is not accessible for administrative | enabled for BMP or when it is not accessible for administrative | |||
reasons. For example, a service provider advertises prefixes to a | reasons. For example, a service provider advertises prefixes to a | |||
customer, but the service provider cannot see what it advertises via | customer, but the service provider cannot see what it advertises via | |||
BMP. Asking the customer to enable BMP and monitoring of the Adj- | BMP. Asking the customer to enable BMP and monitoring of the Adj- | |||
RIB-In is not feasible. | RIB-In are not feasible. | |||
BGP Monitoring Protocol (BMP) RFC 7854 [RFC7854] only defines Adj- | BMP [RFC7854] only defines Adj-RIB-In being sent to BMP receivers. | |||
RIB-In being sent to BMP receivers. This document updates the per- | This document updates the per-peer header defined in Section 4.2 of | |||
peer header in section 4.2 of [RFC7854] by adding a new flag to | [RFC7854] by adding a new flag to distinguish between Adj-RIB-In and | |||
distinguish Adj-RIB-In versus Adj-RIB-Out. BMP senders use the new | Adj-RIB-Out. BMP senders use the new flag to send either Adj-RIB-In | |||
flag to send either Adj-RIB-In or Adj-RIB-Out. | or Adj-RIB-Out. | |||
Adding Adj-RIB-Out provides the ability for a BMP sender to send to | Adding Adj-RIB-Out provides the ability for a BMP sender to send to | |||
BMP receivers what it advertises to BGP peers, which can be used for | BMP receivers what it advertises to BGP peers, which can be used for | |||
outbound policy validation and to monitor routes that were | outbound policy validation and to monitor routes that were | |||
advertised. | advertised. | |||
2. Terminology | 2. Terminology | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 RFC 2119 [RFC2119] RFC 8174 [RFC8174] when, and only when, they | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
appear in all capitals, as shown here. | capitals, as shown here. | |||
3. Definitions | 3. Definitions | |||
o Adj-RIB-Out: As defined in [RFC4271], "The Adj-RIBs-Out contains | Adj-RIB-Out | |||
the routes for advertisement to specific peers by means of the | As defined in [RFC4271], "The Adj-RIBs-Out contains the routes for | |||
local speaker's UPDATE messages." | advertisement to specific peers by means of the local speaker's | |||
UPDATE messages." | ||||
o Pre-Policy Adj-RIB-Out: The result before applying the outbound | Pre-policy Adj-RIB-Out | |||
policy to an Adj-RIB-Out. This normally would match what is in the | The result before applying the outbound policy to an Adj-RIB-Out. | |||
local RIB. | This normally would match what is in the local RIB. | |||
o Post-Policy Adj-RIB-Out: The result of applying outbound policy to | Post-policy Adj-RIB-Out | |||
an Adj-RIB-Out. This MUST convey to the BMP receiver what is | The result of applying outbound policy to an Adj-RIB-Out. This | |||
actually transmitted to the peer. | MUST convey to the BMP receiver what is actually transmitted to | |||
the peer. | ||||
4. Per-Peer Header | 4. Per-Peer Header | |||
The per-peer header has the same structure and flags as defined in | The per-peer header has the same structure and flags as defined in | |||
section 4.2 of [RFC7854] with the following O flag addition: | Section 4.2 of [RFC7854] with the addition of the O flag as shown | |||
here: | ||||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|V|L|A|O| Resv | | |V|L|A|O| Resv | | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
o The O flag indicates Adj-RIB-In if set to 0 and Adj-RIB-Out if set | * The O flag indicates Adj-RIB-In if set to 0 and Adj-RIB-Out if set | |||
to 1. | to 1. | |||
The existing flags are defined in section 4.2 of [RFC7854] and the | The existing flags are defined in Section 4.2 of [RFC7854], and the | |||
remaining bits are reserved for future use. They MUST be transmitted | remaining bits are reserved for future use. They MUST be transmitted | |||
as 0 and their values MUST be ignored on receipt. | as 0, and their values MUST be ignored on receipt. | |||
When the O flag is set to 1, the following fields in the Per-Peer | When the O flag is set to 1, the following fields in the per-peer | |||
Header are redefined: | header are redefined: | |||
o Peer Address: The remote IP address associated with the TCP | * Peer Address: The remote IP address associated with the TCP | |||
session over which the encapsulated PDU is sent. | session over which the encapsulated Protocol Data Unit (PDU) is | |||
sent. | ||||
o Peer AS: The Autonomous System number of the peer to which the | * Peer AS: The Autonomous System number of the peer to which the | |||
encapsulated PDU is sent. | encapsulated PDU is sent. | |||
o Peer BGP ID: The BGP Identifier of the peer to which the | * Peer BGP ID: The BGP Identifier of the peer to which the | |||
encapsulated PDU is sent. | encapsulated PDU is sent. | |||
o Timestamp: The time when the encapsulated routes were advertised | * Timestamp: The time when the encapsulated routes were advertised | |||
(one may also think of this as the time when they were installed | (one may also think of this as the time when they were installed | |||
in the Adj-RIB-Out), expressed in seconds and microseconds since | in the Adj-RIB-Out), expressed in seconds and microseconds since | |||
midnight (zero hour), January 1, 1970 (UTC). If zero, the time is | midnight (zero hour), January 1, 1970 (UTC). If zero, the time is | |||
unavailable. Precision of the timestamp is implementation- | unavailable. Precision of the timestamp is implementation- | |||
dependent. | dependent. | |||
5. Adj-RIB-Out | 5. Adj-RIB-Out | |||
5.1. Post-Policy | 5.1. Post-policy | |||
The primary use-case in monitoring Adj-RIB-Out is to monitor the | The primary use case in monitoring Adj-RIB-Out is to monitor the | |||
updates transmitted to a BGP peer after outbound policy has been | updates transmitted to a BGP peer after outbound policy has been | |||
applied. These updates reflect the result after modifications and | applied. These updates reflect the result after modifications and | |||
filters have been applied (e.g., Adj-RIB-Out Post-Policy). Some | filters have been applied (e.g., post-policy Adj-RIB-Out). Some | |||
attributes are set when the BGP message is transmitted, such as next- | attributes are set when the BGP message is transmitted, such as next | |||
hop. Adj-RIB-Out Post-Policy MUST convey to the BMP receiver what is | hop. Post-policy Adj-RIB-Out MUST convey to the BMP receiver what is | |||
actually transmitted to the peer. | actually transmitted to the peer. | |||
The L flag MUST be set to 1 to indicate post-policy. | The L flag MUST be set to 1 to indicate post-policy. | |||
5.2. Pre-Policy | 5.2. Pre-policy | |||
Similarly to Adj-RIB-In policy validation, pre-policy Adj-RIB-Out can | Similar to Adj-RIB-In policy validation, pre-policy Adj-RIB-Out can | |||
be used to validate and audit outbound policies. For example, a | be used to validate and audit outbound policies. For example, a | |||
comparison between pre-policy and post-policy can be used to validate | comparison between pre-policy and post-policy can be used to validate | |||
the outbound policy. | the outbound policy. | |||
Depending on BGP peering session type (IBGP, IBGP route reflector | Depending on the BGP peering session type -- Internal BGP (IBGP), | |||
client, EBGP, BGP confederations, Route Server Client) the candidate | IBGP route reflector client, External BGP (EBGP), BGP confederations, | |||
routes that make up the Pre-Policy Adj-RIB-Out do not contain all | route server client -- the candidate routes that make up the pre- | |||
local-rib routes. Pre-Policy Adj-RIB-Out conveys only routes that | policy Adj-RIB-Out do not contain all local RIB routes. Pre-policy | |||
are available based on the peering type. Post-Policy represents the | Adj-RIB-Out conveys only routes that are available based on the | |||
filtered/changed routes from the available routes. | peering type. Post-policy represents the filtered/changed routes | |||
from the available routes. | ||||
Some attributes are set only during transmission of the BGP message, | Some attributes are set only during transmission of the BGP message, | |||
i.e., Post-Policy. It is common that next-hop may be null, loopback, | i.e., post-policy. It is common that the next hop may be null, | |||
or similar during pre-policy phase. All mandatory attributes, such | loopback, or similar during the pre-policy phase. All mandatory | |||
as next-hop, MUST be either ZERO or have an empty length if they are | attributes, such as next hop, MUST be either zero or have an empty | |||
unknown at the Pre-Policy phase completion. The BMP receiver will | length if they are unknown at the pre-policy phase completion. The | |||
treat zero or empty mandatory attributes as self-originated. | BMP receiver will treat zero or empty mandatory attributes as self- | |||
originated. | ||||
The L flag MUST be set to 0 to indicate pre-policy. | The L flag MUST be set to 0 to indicate pre-policy. | |||
6. BMP Messages | 6. BMP Messages | |||
Many BMP messages have a per-peer header but some are not applicable | Many BMP messages have a per-peer header, but some are not applicable | |||
to Adj-RIB-In or Adj-RIB-Out monitoring, such as peer up and down | to Adj-RIB-In or Adj-RIB-Out monitoring, such as Peer Up and Down | |||
notifications. Unless otherwise defined, the O flag should be set to | Notifications. Unless otherwise defined, the O flag should be set to | |||
0 in the per-peer header in BMP messages. | 0 in the per-peer header in BMP messages. | |||
6.1. Route Monitoring and Route Mirroring | 6.1. Route Monitoring and Route Mirroring | |||
The O flag MUST be set accordingly to indicate if the route monitor | The O flag MUST be set accordingly to indicate if the route monitor | |||
or route mirroring message conveys Adj-RIB-In or Adj-RIB-Out. | or route mirroring message conveys Adj-RIB-In or Adj-RIB-Out. | |||
6.2. Statistics Report | 6.2. Statistics Report | |||
The Statistics report message has a Stat Type field to indicate the | The Statistics Report message has a Stat Type field to indicate the | |||
statistic carried in the Stat Data field. Statistics report messages | statistic carried in the Stat Data field. Statistics report messages | |||
are not specific to Adj-RIB-In or Adj-RIB-Out and MUST have the O | are not specific to Adj-RIB-In or Adj-RIB-Out and MUST have the O | |||
flag set to zero. The O flag SHOULD be ignored by the BMP receiver. | flag set to zero. The O flag SHOULD be ignored by the BMP receiver. | |||
The following new statistic types are added: | This document defines the following new statistics types: | |||
o Stat Type = 14: (64-bit Gauge) Number of routes in Adj-RIBs-Out | * Stat Type = 14: Number of routes in pre-policy Adj-RIB-Out. This | |||
Pre-Policy. | statistics type is 64-bit Gauge. | |||
o Stat Type = 15: (64-bit Gauge) Number of routes in Adj-RIBs-Out | * Stat Type = 15: Number of routes in post-policy Adj-RIB-Out. This | |||
Post-Policy. | statistics type is 64-bit Gauge. | |||
o Stat Type = 16: Number of routes in per-AFI/SAFI Adj-RIB-Out Pre- | * Stat Type = 16: Number of routes in per-AFI/SAFI pre-policy Adj- | |||
Policy. The value is structured as: 2-byte Address Family | RIB-Out. The value is structured as: 2-byte Address Family | |||
Identifier (AFI), 1-byte Subsequent Address Family Identifier | Identifier (AFI), 1-byte Subsequent Address Family Identifier | |||
(SAFI), followed by a 64-bit Gauge. | (SAFI), followed by a 64-bit Gauge. | |||
o Stat Type = 17: Number of routes in per-AFI/SAFI Adj-RIB-Out Post- | * Stat Type = 17: Number of routes in per-AFI/SAFI post-policy Adj- | |||
Policy. The value is structured as: 2-byte Address Family | RIB-Out. The value is structured as: 2-byte Address Family | |||
Identifier (AFI), 1-byte Subsequent Address Family Identifier | Identifier (AFI), 1-byte Subsequent Address Family Identifier | |||
(SAFI), followed by a 64-bit Gauge. | (SAFI), followed by a 64-bit Gauge. | |||
6.3. Peer Down and Up Notifications | 6.3. Peer Up and Down Notifications | |||
Peer Up and Down notifications convey BGP peering session state to | Peer Up and Down Notifications convey BGP peering session state to | |||
BMP receivers. The state is independent of whether or not route | BMP receivers. The state is independent of whether or not route | |||
monitoring or route mirroring messages will be sent for Adj-RIB-In, | monitoring or route mirroring messages will be sent for Adj-RIB-In, | |||
Adj-RIB-Out, or both. BMP receiver implementations SHOULD ignore the | Adj-RIB-Out, or both. BMP receiver implementations SHOULD ignore the | |||
O flag in Peer Up and Down notifications. | O flag in Peer Up and Down Notifications. | |||
6.3.1. Peer Up Information | 6.3.1. Peer Up Information | |||
The following Peer Up message Information TLV type is added: | This document defines the following Peer Up Information TLV type: | |||
o Type = 4: Admin Label. The Information field contains a free-form | * Type = 4: Admin Label. The Information field contains a free-form | |||
UTF-8 string whose byte length is given by the Information Length | UTF-8 string whose byte length is given by the Information Length | |||
field. The value is administratively assigned. There is no | field. The value is administratively assigned. There is no | |||
requirement to terminate the string with null or any other | requirement to terminate the string with null or any other | |||
character. | character. | |||
Multiple admin labels can be included in the Peer Up notification. | Multiple Admin Labels can be included in the Peer Up Notification. | |||
When multiple admin labels are included the BMP receiver MUST | When multiple Admin Labels are included, the BMP receiver MUST | |||
preserve their order. | preserve their order. | |||
The TLV is optional. | The Admin Label is optional. | |||
7. Other Considerations | 7. Other Considerations | |||
7.1. Peer and Update Groups | 7.1. Peer and Update Groups | |||
Peer and update groups are used to group updates shared by many | Peer and update groups are used to group updates shared by many | |||
peers. This is a level of efficiency in implementations, not a true | peers. This is a level of efficiency in implementations, not a true | |||
representation of what is conveyed to a peer in either Pre-Policy or | representation of what is conveyed to a peer in either pre-policy or | |||
Post-Policy. | post-policy. | |||
One of the use-cases to monitor Adj-RIB-Out Post-Policy is to | One of the use cases to monitor post-policy Adj-RIB-Out is to | |||
validate and continually ensure the egress updates match what is | validate and continually ensure the egress updates match what is | |||
expected. For example, wholesale peers should never have routes with | expected. For example, wholesale peers should never have routes with | |||
community X:Y sent to them. In this use-case, there may be hundreds | community X:Y sent to them. In this use case, there may be hundreds | |||
of wholesale peers but a single peer could have represented the | of wholesale peers, but a single peer could have represented the | |||
group. | group. | |||
From a BMP perspective, this should be simple to include a group name | From a BMP perspective, it should be simple to include a group name | |||
in the Peer Up, but it is more complex than that. BGP | in the Peer Up, but it is more complex than that. BGP | |||
implementations have evolved to provide comprehensive and structured | implementations have evolved to provide comprehensive and structured | |||
policy grouping, such as session, AFI/SAFI, and template-based based | policy grouping, such as session, AFI/SAFI, and template-based group | |||
group policy inheritances. | policy inheritances. | |||
This level of structure and inheritance of polices does not provide a | This level of structure and inheritance of polices does not provide a | |||
simple peer group name or ID, such as wholesale peer. | simple peer group name or ID, such as wholesale peer. | |||
Instead of requiring a group name to be used, a new administrative | This document defines a new Admin Label type for Peer Up Information | |||
label informational TLV (Section 6.3.1) is added to the Peer Up | TLVs (Section 6.3.1) that can be used instead of requiring a group | |||
message. These labels have administrative scope relevance. For | name. These labels have administrative scope relevance. For | |||
example, labels "type=wholesale" and "region=west" could be used to | example, labels "type=wholesale" and "region=west" could be used to | |||
monitor expected policies. | monitor expected policies. | |||
Configuration and assignment of labels to peers is BGP implementation | Configuration and assignment of labels to peers are BGP | |||
specific. | implementation-specific. | |||
8. Security Considerations | ||||
The same considerations as in section 11 of [RFC7854] apply to this | 7.2. Changes to Existing BMP Session | |||
document. Implementations of this protocol SHOULD require to | ||||
establish sessions with authorized and trusted monitoring devices. | ||||
It is also believed that this document does not add any additional | ||||
security considerations. | ||||
9. IANA Considerations | In case of any change that results in the alteration of behavior of | |||
an existing BMP session (i.e., changes to filtering and table names), | ||||
the session MUST be bounced with a Peer Down/Peer Up sequence. | ||||
This document requests that IANA assign the following new parameters | 8. Security Considerations | |||
to the BMP parameters name space [1]. | ||||
9.1. BMP Peer Flags | The considerations in Section 11 of [RFC7854] apply to this document. | |||
Implementations of this protocol SHOULD require establishing sessions | ||||
with authorized and trusted monitoring devices. It is also believed | ||||
that this document does not add any additional security | ||||
considerations. | ||||
This document defines the following per-peer header flags | 9. IANA Considerations | |||
(Section 4): | ||||
o Flag 3 as O flag: The O flag indicates Adj-RIB-In if set to 0 and | IANA has assigned the following new parameters to the "BGP Monitoring | |||
Adj-RIB-Out if set to 1. | Protocol (BMP) Parameters" registry | |||
(https://www.iana.org/assignments/bmp-parameters/). | ||||
9.2. BMP Statistics Types | 9.1. Addition to BMP Peer Flags Registry | |||
This document defines four statistic types for statistics reporting | IANA has made the following assignment for the per-peer header flag | |||
(Section 6.2): | defined in Section 4 of this document: | |||
o Stat Type = 14: (64-bit Gauge) Number of routes in Adj-RIBs-Out | +------+-------------+-----------+ | |||
Pre-Policy. | | Flag | Description | Reference | | |||
+======+=============+===========+ | ||||
| 3 | O flag | RFC 8671 | | ||||
+------+-------------+-----------+ | ||||
o Stat Type = 15: (64-bit Gauge) Number of routes in Adj-RIBs-Out | Table 1: Addition to the "BMP | |||
Post-Policy. | Peer Flags" Registry | |||
o Stat Type = 16: Number of routes in per-AFI/SAFI Adj-RIB-Out Pre- | 9.2. Additions to BMP Statistics Types Registry | |||
Policy. The value is structured as: 2-byte Address Family | ||||
Identifier (AFI), 1-byte Subsequent Address Family Identifier | ||||
(SAFI), followed by a 64-bit Gauge. | ||||
o Stat Type = 17: Number of routes in per-AFI/SAFI Adj-RIB-Out Post- | IANA has made the following assignment for the four statistics types | |||
Policy. The value is structured as: 2-byte Address Family | defined in Section 6.2 of this document: | |||
Identifier (AFI), 1-byte Subsequent Address Family Identifier | ||||
(SAFI), followed by a 64-bit Gauge. | ||||
9.3. Peer Up Information TLV | +-----------+------------------------------+-----------+ | |||
| Stat Type | Description | Reference | | ||||
+===========+==============================+===========+ | ||||
| 14 | Number of routes in pre- | RFC 8671 | | ||||
| | policy Adj-RIB-Out | | | ||||
+-----------+------------------------------+-----------+ | ||||
| 15 | Number of routes in post- | RFC 8671 | | ||||
| | policy Adj-RIB-Out | | | ||||
+-----------+------------------------------+-----------+ | ||||
| 16 | Number of routes in per-AFI/ | RFC 8671 | | ||||
| | SAFI pre-policy Adj-RIB-Out | | | ||||
+-----------+------------------------------+-----------+ | ||||
| 17 | Number of routes in per-AFI/ | RFC 8671 | | ||||
| | SAFI post-policy Adj-RIB-Out | | | ||||
+-----------+------------------------------+-----------+ | ||||
This document defines the following BMP Peer Up Information TLV types | Table 2: Additions to the "BMP Statistics Types" | |||
(Section 6.3.1): | Registry | |||
o Type = 4: Admin Label. The Information field contains a free-form | 9.3. Addition to BMP Initiation Message TLVs Registry | |||
UTF-8 string whose byte length is given by the Information Length | ||||
field. The value is administratively assigned. There is no | ||||
requirement to terminate the string with null or any other | ||||
character. | ||||
Multiple admin labels can be included in the Peer Up notification. | IANA has made the following assignment per Section 6.3.1 of this | |||
When multiple admin labels are included the BMP receiver MUST | document: | |||
preserve their order. | ||||
The TLV is optional. | +------+-------------+-----------+ | |||
| Type | Description | Reference | | ||||
+======+=============+===========+ | ||||
| 4 | Admin Label | RFC 8671 | | ||||
+------+-------------+-----------+ | ||||
10. References | Table 3: Addition to the "BMP | |||
Initiation Message TLVs" | ||||
Registry | ||||
10.1. Normative References | 10. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
Border Gateway Protocol 4 (BGP-4)", RFC 4271, | Border Gateway Protocol 4 (BGP-4)", RFC 4271, | |||
DOI 10.17487/RFC4271, January 2006, | DOI 10.17487/RFC4271, January 2006, | |||
<https://www.rfc-editor.org/info/rfc4271>. | <https://www.rfc-editor.org/info/rfc4271>. | |||
[RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP | [RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP | |||
Monitoring Protocol (BMP)", RFC 7854, | Monitoring Protocol (BMP)", RFC 7854, | |||
DOI 10.17487/RFC7854, June 2016, | DOI 10.17487/RFC7854, June 2016, | |||
<https://www.rfc-editor.org/info/rfc7854>. | <https://www.rfc-editor.org/info/rfc7854>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
10.2. URIs | ||||
[1] https://www.iana.org/assignments/bmp-parameters/bmp- | ||||
parameters.xhtml | ||||
Acknowledgements | Acknowledgements | |||
The authors would like to thank John Scudder and Mukul Srivastava for | The authors would like to thank John Scudder and Mukul Srivastava for | |||
their valuable input. | their valuable input. | |||
Contributors | Contributors | |||
Manish Bhardwaj | The following individuals contributed to this document: | |||
Cisco Systems | ||||
3700 Cisco Way | ||||
San Jose, CA 95134 | ||||
USA | ||||
Email: manbhard@cisco.com | * Manish Bhardwaj, Cisco Systems | |||
Xianyuzheng | * Xianyu Zheng, Tencent | |||
Tencent | ||||
Tencent Building, Kejizhongyi Avenue, | ||||
Hi-techPark, Nanshan District,Shenzhen 518057, P.R.China | ||||
Weiguo | ||||
Tencent | ||||
Tencent Building, Kejizhongyi Avenue, | ||||
Hi-techPark, Nanshan District,Shenzhen 518057, P.R.China | ||||
Shugang cheng | * Wei Guo, Tencent | |||
H3C | ||||
* Shugang Cheng, H3C | ||||
Authors' Addresses | Authors' Addresses | |||
Tim Evens | Tim Evens | |||
Cisco Systems | Cisco Systems | |||
2901 Third Avenue, Suite 600 | 2901 Third Avenue, Suite 600 | |||
Seattle, WA 98121 | Seattle, WA 98121 | |||
USA | United States of America | |||
Email: tievens@cisco.com | Email: tievens@cisco.com | |||
Serpil Bayraktar | Serpil Bayraktar | |||
Cisco Systems | Cisco Systems | |||
3700 Cisco Way | 3700 Cisco Way | |||
San Jose, CA 95134 | San Jose, CA 95134 | |||
USA | United States of America | |||
Email: serpil@cisco.com | Email: serpil@cisco.com | |||
Paolo Lucente | Paolo Lucente | |||
NTT Communications | NTT Communications | |||
Siriusdreef 70-72 | Siriusdreef 70-72 | |||
Hoofddorp, WT 2132 | 2132 Hoofddorp | |||
NL | Netherlands | |||
Email: paolo@ntt.net | Email: paolo@ntt.net | |||
Penghui Mi | Penghui Mi | |||
Tencent | ||||
Tengyun Building,Tower A ,No. 397 Tianlin Road | ||||
Shanghai 200233 | ||||
China | China | |||
200233 | ||||
Shanghai | ||||
Tengyun Building, Tower A, No. 397 Tianlin Road | ||||
Tencent | ||||
Email: Penghui.Mi@gmail.com | ||||
Email: kevinmi@tencent.com | ||||
Shunwan Zhuang | Shunwan Zhuang | |||
Huawei | ||||
Huawei Bld., No.156 Beiqing Rd. | ||||
Beijing 100095 | ||||
China | China | |||
100095 | ||||
Beijing | ||||
Huawei Building, No.156 Beiqing Rd. | ||||
Huawei | ||||
Email: zhuangshunwan@huawei.com | Email: zhuangshunwan@huawei.com | |||
End of changes. 89 change blocks. | ||||
219 lines changed or deleted | 221 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |