draft-ietf-grow-bmp-adj-rib-out-04.txt | draft-ietf-grow-bmp-adj-rib-out-05.txt | |||
---|---|---|---|---|
Global Routing Operations T. Evens | Global Routing Operations T. Evens | |||
Internet-Draft S. Bayraktar | Internet-Draft S. Bayraktar | |||
Updates: 7854 (if approved) Cisco Systems | Updates: 7854 (if approved) Cisco Systems | |||
Intended status: Standards Track P. Lucente | Intended status: Standards Track P. Lucente | |||
Expires: September 25, 2019 NTT Communications | Expires: December 9, 2019 NTT Communications | |||
P. Mi | P. Mi | |||
Tencent | Tencent | |||
S. Zhuang | S. Zhuang | |||
Huawei | Huawei | |||
March 24, 2019 | June 7, 2019 | |||
Support for Adj-RIB-Out in BGP Monitoring Protocol (BMP) | Support for Adj-RIB-Out in BGP Monitoring Protocol (BMP) | |||
draft-ietf-grow-bmp-adj-rib-out-04 | draft-ietf-grow-bmp-adj-rib-out-05 | |||
Abstract | Abstract | |||
The BGP Monitoring Protocol (BMP) defines access to only the Adj-RIB- | The BGP Monitoring Protocol (BMP) defines access to only the Adj-RIB- | |||
In Routing Information Bases (RIBs). This document updates the BGP | In Routing Information Bases (RIBs). This document updates the BGP | |||
Monitoring Protocol (BMP) RFC 7854 by adding access to the Adj-RIB- | Monitoring Protocol (BMP) RFC 7854 by adding access to the Adj-RIB- | |||
Out RIBs. It adds a new flag to the peer header to distinguish Adj- | Out RIBs. It adds a new flag to the peer header to distinguish Adj- | |||
RIB-In and Adj-RIB-Out. | RIB-In and Adj-RIB-Out. | |||
Status of This Memo | Status of This Memo | |||
skipping to change at page 1, line 40 ¶ | skipping to change at page 1, line 40 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on September 25, 2019. | This Internet-Draft will expire on December 9, 2019. | |||
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 | |||
skipping to change at page 3, line 23 ¶ | skipping to change at page 3, line 23 ¶ | |||
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 is not feasible. | |||
This document updates BGP Monitoring Protocol (BMP) RFC 7854 | This document updates the BGP Monitoring Protocol (BMP) RFC 7854 | |||
[RFC7854] peer header by adding a new flag to distinguish Adj-RIB-In | [RFC7854] peer header by adding a new flag to distinguish Adj-RIB-In | |||
verses Adj-RIB-Out. | verses Adj-RIB-Out. | |||
Adding Adj-RIB-Out enables the ability for a BMP sender to send to a | Adding Adj-RIB-Out provides the ability for a BMP sender to send to a | |||
BMP receiver what it advertises to BGP peers, which can be used for | BMP receiver what it advertises to BGP peers, which can be used for | |||
outbound policy validation and to monitor RIBs that were advertised. | outbound policy validation and to monitor RIBs that were 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", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
3. Definitions | 3. Definitions | |||
skipping to change at page 4, line 49 ¶ | skipping to change at page 4, line 49 ¶ | |||
filters have been applied (e.g. Adj-RIB-Out Post-Policy). Some | filters have been applied (e.g. Adj-RIB-Out Post-Policy). 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 what is actually | hop. Adj-RIB-Out Post-Policy MUST convey what is actually | |||
transmitted to the peer, next-hop and any attribute set during | transmitted to the peer, next-hop and any attribute set during | |||
transmission should also be set and transmitted to the BMP receiver. | transmission should also be set and transmitted to the BMP receiver. | |||
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 | |||
As with Adj-RIB-In policy validation, there are use-cases that pre- | Similarly to Adj-RIB-In policy validation, pre-policy Adj-RIB-Out can | |||
policy Adj-RIB-Out is used to validate and audit outbound policies. | be used to validate and audit outbound policies. For example, a | |||
For example, a comparison between pre-policy and post-policy can be | comparison between pre-policy and post-policy can be used to validate | |||
used to validate the outbound policy. | the outbound policy. | |||
Depending on BGP peering session type (IBGP, IBGP route reflector | Depending on BGP peering session type (IBGP, IBGP route reflector | |||
client, EBGP, BGP confederations, Route Server Client) the candidate | client, EBGP, BGP confederations, Route Server Client) the candidate | |||
routes that make up the Pre-Policy Adj-RIB-Out do not contain all | routes that make up the Pre-Policy Adj-RIB-Out do not contain all | |||
local-rib routes. Pre-Policy Adj-RIB-Out conveys only routes that | local-rib routes. Pre-Policy Adj-RIB-Out conveys only routes that | |||
are available based on the peering type. Post-Policy represents the | are available based on the peering type. Post-Policy represents the | |||
filtered/changed routes from the available routes. | 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, | |||
e.g. Post-Policy. It is common that next-hop may be null, loopback, | ie. Post-Policy. It is common that next-hop may be null, loopback, | |||
or similar during this phase. All mandatory attributes, such as | or similar during this phase. All mandatory attributes, such as | |||
next-hop, MUST be either ZERO or have an empty length if they are | next-hop, MUST be either ZERO or have an empty length if they are | |||
unknown at the Pre-Policy phase. The BMP receiver will treat zero or | unknown at the Pre-Policy phase. The BMP receiver will treat zero or | |||
empty mandatory attributes as self originated. | 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 | |||
skipping to change at page 6, line 49 ¶ | skipping to change at page 6, line 49 ¶ | |||
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 the implementation, not a | peers. This is a level of efficiency in the implementation, not a | |||
true representation of what is conveyed to a peer in either Pre- | true representation of what is conveyed to a peer in either Pre- | |||
Policy or Post-Policy. | Policy or Post-Policy. | |||
One of the use-cases to monitor Adj-RIB-Out Post-Policy is to | One of the use-cases to monitor Adj-RIB-Out Post-Policy 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 maybe 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. | |||
A single peer could be used to represent a group. From a BMP | From a BMP perspective, this should be simple to include a group name | |||
perspective, this should be simple to include a group name in the | in the PEER UP, but it is more complex than that. BGP | |||
PEER UP, but it is more complex than that. BGP implementations have | implementations have evolved to provide comprehensive and structured | |||
evolved to provide comprehensive and structured policy grouping, such | policy grouping, such as session, afi/safi, and template based group | |||
as session, afi/safi, and template based 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 | Instead of requiring a group name to be used, a new administrative | |||
label informational TLV (Section 6.3.1) is added to the Peer UP | label informational TLV (Section 6.3.1) is added to the Peer UP | |||
message. These labels have administrative scope relevance. For | message. 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. | |||
End of changes. 10 change blocks. | ||||
17 lines changed or deleted | 17 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/ |