| rfc8671xml2.original.xml | rfc8671.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='utf-8'?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | ||||
| <!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/refer | ||||
| ence.RFC.2119.xml"> | ||||
| <!ENTITY RFC8174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/refer | ||||
| ence.RFC.8174.xml"> | ||||
| <!ENTITY IANA_STAT_ADJRIBOUT_PRE "14"> | ||||
| <!ENTITY IANA_STAT_ADJRIBOUT_POST "15"> | ||||
| <!ENTITY IANA_STAT_ADJRIBOUT_PER_SAFI_PRE "16"> | ||||
| <!ENTITY IANA_STAT_ADJRIBOUT_PER_SAFI_POST "17"> | ||||
| <!ENTITY IANA_PEER_INFO_TLV_ADMIN_LABEL "4"> | ||||
| ]> | ||||
| <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
| <rfc category="std" docName="draft-ietf-grow-bmp-adj-rib-out-07" | ||||
| ipr="trust200902" submissionType="IETF" updates="7854"> | ||||
| <?rfc strict="yes" ?> | ||||
| <?rfc toc="yes"?> | ||||
| <?rfc tocdepth="4"?> | ||||
| <?rfc symrefs="yes"?> | ||||
| <?rfc sortrefs="yes" ?> | ||||
| <?rfc compact="yes" ?> | ||||
| <?rfc subcompact="no" ?> | ||||
| <front> | ||||
| <title abbrev="BMP Adj-RIB-Out"> | ||||
| Support for Adj-RIB-Out in BGP Monitoring Protocol (BMP)</title> | ||||
| <author fullname="Tim Evens" initials="T" surname="Evens"> | ||||
| <organization>Cisco Systems</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>2901 Third Avenue, Suite 600</street> | ||||
| <city>Seattle</city> | ||||
| <region>WA</region> | ||||
| <code>98121</code> | ||||
| <country>USA</country> | ||||
| </postal> | ||||
| <email>tievens@cisco.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Serpil Bayraktar" initials="S" surname="Bayraktar"> | ||||
| <organization>Cisco Systems</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>3700 Cisco Way</street> | ||||
| <city>San Jose</city> | ||||
| <region>CA</region> | ||||
| <code>95134</code> | ||||
| <country>USA</country> | ||||
| </postal> | ||||
| <email>serpil@cisco.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Paolo Lucente" initials="P" surname="Lucente"> | ||||
| <organization>NTT Communications</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>Siriusdreef 70-72</street> | ||||
| <city>Hoofddorp</city> | ||||
| <code>2132</code> | ||||
| <region>WT</region> | ||||
| <country>NL</country> | ||||
| </postal> | ||||
| <email>paolo@ntt.net</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Penghui Mi" initials="P" surname="Mi"> | ||||
| <organization>Tencent</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>Tengyun Building,Tower A ,No. 397 Tianlin Road</stre | ||||
| et> | ||||
| <city>Shanghai</city> | ||||
| <code>200233</code> | ||||
| <region></region> | ||||
| <country>China</country> | ||||
| </postal> | ||||
| <email>kevinmi@tencent.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Shunwan Zhuang" initials="S" surname="Zhuang"> | ||||
| <organization>Huawei</organization> | ||||
| <address> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| <postal> | <rfc number="8671" xmlns:xi="http://www.w3.org/2001/XInclude" category="std" | |||
| <street>Huawei Bld., No.156 Beiqing Rd.</street> | docName="draft-ietf-grow-bmp-adj-rib-out-07" ipr="trust200902" consensus="t | |||
| <city>Beijing</city> | rue" | |||
| <code>100095</code> | submissionType="IETF" updates="7854" obsoletes="" xml:lang="en" | |||
| <region></region> | tocInclude="true" symRefs="true" sortRefs="true" version="3"> | |||
| <country>China</country> | ||||
| </postal> | ||||
| <email>zhuangshunwan@huawei.com</email> | <!-- xml2rfc v2v3 conversion 2.27.1 --> | |||
| <front> | ||||
| <title abbrev="BMP Adj-RIB-Out"> | ||||
| Support for Adj-RIB-Out in the BGP Monitoring Protocol (BMP)</title> | ||||
| </address> | <!-- [rfced] *ADs, please review the new Section 7.2 and let us know if you | |||
| </author> | approve this added text. This change was sent to us after the document | |||
| was approved for publication. You can view the added text in this diff file: | ||||
| rfc8671-diff.html. | ||||
| --> | ||||
| <date year="2019"/> | <seriesInfo name="RFC" value="8671" /> | |||
| <area>General</area> | <author fullname="Tim Evens" initials="T" surname="Evens"> | |||
| <organization>Cisco Systems</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>2901 Third Avenue, Suite 600</street> | ||||
| <city>Seattle</city> | ||||
| <region>WA</region> | ||||
| <code>98121</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <email>tievens@cisco.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Serpil Bayraktar" initials="S" surname="Bayraktar"> | ||||
| <organization>Cisco Systems</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>3700 Cisco Way</street> | ||||
| <city>San Jose</city> | ||||
| <region>CA</region> | ||||
| <code>95134</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <email>serpil@cisco.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Paolo Lucente" initials="P" surname="Lucente"> | ||||
| <organization>NTT Communications</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>Siriusdreef 70-72</street> | ||||
| <city>Hoofddorp</city> | ||||
| <code>2132</code> | ||||
| <region>WT</region> | ||||
| <country>NL</country> | ||||
| </postal> | ||||
| <email>paolo@ntt.net</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Penghui Mi" initials="P" surname="Mi"> | ||||
| <organization>Tencent</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>Tengyun Building, Tower A, No. 397 Tianlin Road</street> | ||||
| <city>Shanghai</city> | ||||
| <code>200233</code> | ||||
| <region/> | ||||
| <country>China</country> | ||||
| </postal> | ||||
| <email>Penghui.Mi@gmail.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Shunwan Zhuang" initials="S" surname="Zhuang"> | ||||
| <organization>Huawei</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>Huawei Building, No.156 Beiqing Rd.</street> | ||||
| <city>Beijing</city> | ||||
| <code>100095</code> | ||||
| <region/> | ||||
| <country>China</country> | ||||
| </postal> | ||||
| <email>zhuangshunwan@huawei.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <date month="October" year="2019"/> | ||||
| <workgroup>Global Routing Operations</workgroup> | <area>General</area> | |||
| <keyword>BGP</keyword> | <workgroup>Global Routing Operations</workgroup> | |||
| <keyword>BMP</keyword> | <keyword>BGP</keyword> | |||
| <keyword>adj-rib-out</keyword> | <keyword>BMP</keyword> | |||
| <keyword>adj-rib-out</keyword> | ||||
| <abstract> | <abstract> | |||
| <t> | <t> | |||
| The BGP Monitoring Protocol (BMP) defines access to only the Adj | The BGP Monitoring Protocol (BMP) only defines access to the | |||
| -RIB- | Adj-RIB-In Routing Information Bases (RIBs). This document | |||
| In Routing Information Bases (RIBs). This document updates the | updates BMP (RFC 7854) by adding access to the Adj-RIB-Out | |||
| BGP | RIBs. It also adds a new flag to the peer header to | |||
| Monitoring Protocol (BMP) RFC 7854 by adding access to the Adj-R | distinguish between Adj-RIB-In and Adj-RIB-Out. | |||
| IB- | </t> | |||
| Out RIBs. It adds a new flag to the peer header to distinguish A | </abstract> | |||
| dj- | </front> | |||
| RIB-In and Adj-RIB-Out. | <middle> | |||
| </t> | <section anchor="Introduction" numbered="true" toc="default"> | |||
| </abstract> | <name>Introduction</name> | |||
| </front> | ||||
| <middle> | <t> | |||
| <section title="Introduction" anchor="Introduction"> | The BGP Monitoring Protocol (BMP) defines monitoring of the rece | |||
| <t> | ived | |||
| BGP Monitoring Protocol (BMP) defines monitoring of the received | (e.g., Adj-RIB-In) Routing Information Bases (RIBs) per peer. | |||
| (e.g., Adj-RIB-In) Routing Information Bases (RIBs) per peer. T | The pre-policy Adj-RIB-In conveys to a BMP receiver all RIB data | |||
| he | before | |||
| Adj-RIB-In pre-policy conveys to a BMP receiver all RIB data bef | any policy has been applied. The post-policy Adj-RIB-In conveys | |||
| ore | to a | |||
| any policy has been applied. The Adj-RIB-In post-policy conveys | ||||
| to a | ||||
| BMP receiver all RIB data after policy filters and/or modificati ons | BMP receiver all RIB data after policy filters and/or modificati ons | |||
| 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 data | changes or filters of data. Post-policy would convey the changed data | |||
| or would not contain the filtered data. | or would not contain the filtered data. | |||
| </t> | ||||
| <vspace blankLines="1"/> | <t> | |||
| 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 m ost | policy has been applied is the primary level of monitoring for m ost | |||
| use-cases. Inbound policy validation and auditing is the primar | use cases. Inbound policy validation and auditing are the prima | |||
| y | ry | |||
| use-case for enabling post-policy monitoring. | use cases for enabling post-policy monitoring. | |||
| <vspace blankLines="1"/> | </t> | |||
| <t> | ||||
| In order for a BMP receiver to receive any BGP data, the BMP sen der | In order for a BMP receiver to receive any BGP data, the BMP sen der | |||
| (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. | |||
| <vspace blankLines="1"/> | </t> | |||
| <t> | ||||
| 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., router s). | data is available to BMP receivers via BMP senders (e.g., router s). | |||
| 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 -RIB-In | BMP. Asking the customer to enable BMP and monitoring of the Adj -RIB-In | |||
| is not feasible. | are not feasible. | |||
| <vspace blankLines="1"/> | </t> | |||
| <t> | ||||
| BGP Monitoring Protocol (BMP) <xref target="RFC7854">RFC 7854</x ref> only | BMP <xref target="RFC7854" format="default"/> only | |||
| defines Adj-RIB-In being sent to BMP receivers. This document up dates | defines Adj-RIB-In being sent to BMP receivers. This document up dates | |||
| the per-peer header in <xref target="RFC7854">section 4.2 of</xr | the per-peer header defined in <xref target="RFC7854" | |||
| ef> by | sectionFormat="of" section="4.2" /> by | |||
| adding a new flag to distinguish Adj-RIB-In versus Adj-RIB-Out. B | adding a new flag to distinguish between Adj-RIB-In and Adj-RIB-O | |||
| MP | ut. BMP | |||
| senders use the new flag to send either Adj-RIB-In or Adj-RIB-Out . | senders use the new flag to send either Adj-RIB-In or Adj-RIB-Out . | |||
| <vspace blankLines="1"/> | </t> | |||
| <t> | ||||
| 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 adver tised. | outbound policy validation and to monitor routes that were adver tised. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <name>Terminology</name> | ||||
| <section title="Terminology"> | <t> | |||
| <t> | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
| NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | |||
| "MAY", and "OPTIONAL" in this document are to be interpreted as | RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
| described in BCP 14 <xref target="RFC2119">RFC 2119</xref> | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
| <xref target="RFC8174">RFC 8174</xref> when, and only when, they | be interpreted as | |||
| appear in all capitals, as shown here. | described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | |||
| </t> | when, and only when, they appear in all capitals, as shown here. | |||
| </section> | </t> | |||
| <section title="Definitions"> | </section> | |||
| <t> | <section numbered="true" toc="default"> | |||
| <list style="symbols"> | <name>Definitions</name> | |||
| <t> | ||||
| Adj-RIB-Out: As defined in <xref target="RFC4271"/>, "Th | <dl newline="true" spacing="normal"> | |||
| e Adj-RIBs-Out contains | <dt>Adj-RIB-Out</dt> | |||
| <dd>As defined in <xref target="RFC4271" format="default"/>, "The Adj-RI | ||||
| Bs-Out contains | ||||
| the routes for advertisement to specific peers by means of the | the routes for advertisement to specific peers by means of the | |||
| local speaker's UPDATE messages." | local speaker's UPDATE messages."</dd> | |||
| </t> | ||||
| <t> | <dt>Pre-policy Adj-RIB-Out</dt> | |||
| Pre-Policy Adj-RIB-Out: The result before applying the o | <dd>The result before applying the outbound policy to an | |||
| utbound | Adj-RIB-Out. This normally would match what is in the local RIB.</dd> | |||
| policy to an Adj-RIB-Out. This normally would match what | ||||
| is in the | ||||
| local RIB. | ||||
| </t> | ||||
| <t> | <dt>Post-policy Adj-RIB-Out</dt> | |||
| Post-Policy Adj-RIB-Out: The result of applying outbound | <dd>The result of applying outbound policy to an Adj-RIB-Out. This | |||
| policy to | <bcp14>MUST</bcp14> convey to the BMP receiver what is actually | |||
| an Adj-RIB-Out. This MUST convey to the BMP receiver wha | transmitted to the peer.</dd> | |||
| t is actually | ||||
| transmitted to the peer. | ||||
| </t> | ||||
| </list> | ||||
| </t> | ||||
| </section> | ||||
| <section title="Per-Peer Header" anchor="PeerFlags"> | </dl> | |||
| <t> | ||||
| </section> | ||||
| <section anchor="PeerFlags" numbered="true" toc="default"> | ||||
| <name>Per-Peer Header</name> | ||||
| <t> | ||||
| 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 | |||
| <xref target="RFC7854">section 4.2 of</xref> with the following | <xref target="RFC7854" sectionFormat="of" section="4.2"/> with | |||
| O flag | the addition of the O flag as shown here: | |||
| addition: | </t> | |||
| </t> | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| <figure align="center"> | ||||
| <artwork align="center"><![CDATA[ | ||||
| 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 | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | <ul spacing="normal"> | |||
| <li> | ||||
| <t> | ||||
| <list style="symbols"> | ||||
| <t> | ||||
| The O flag indicates Adj-RIB-In if set to 0 and Adj-RIB- Out if | The O flag indicates Adj-RIB-In if set to 0 and Adj-RIB- Out if | |||
| set to 1. | set to 1. | |||
| </t> | </li> | |||
| </list> | </ul> | |||
| <t> | ||||
| <vspace blankLines="1"/> | ||||
| The existing flags are defined in <xref target="RFC7854">section | The existing flags are defined in <xref target="RFC7854" | |||
| 4.2 of</xref> and | sectionFormat="of" section="4.2"/>, and | |||
| the remaining bits are reserved for future use. They MUST be tra | the remaining bits are reserved for future use. They <bcp14>MUST | |||
| nsmitted as 0 and | </bcp14> be transmitted as 0, and | |||
| their values MUST be ignored on receipt. | their values <bcp14>MUST</bcp14> be ignored on receipt. | |||
| <vspace blankLines="1"/> | </t> | |||
| When the O flag is set to 1, the following fields in the Per-Pee | <t> | |||
| r Header are | When the O flag is set to 1, the following fields in the per-pee | |||
| r header are | ||||
| redefined: | redefined: | |||
| <list style="symbols"> | </t> | |||
| <t> | <ul spacing="normal"> | |||
| <li> | ||||
| 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 | |||
| </t> | (PDU) is sent. | |||
| <t> | </li> | |||
| <li> | ||||
| Peer AS: The Autonomous System number of the peer to whi ch the | Peer AS: The Autonomous System number of the peer to whi ch the | |||
| encapsulated PDU is sent. | encapsulated PDU is sent. | |||
| </t> | </li> | |||
| <t> | <li> | |||
| 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. | |||
| </t> | </li> | |||
| <t> | <li> | |||
| Timestamp: The time when the encapsulated routes were adv ertised | Timestamp: The time when the encapsulated routes were adv ertised | |||
| (one may also think of this as the time when they were in stalled | (one may also think of this as the time when they were in stalled | |||
| in the Adj-RIB-Out), expressed in seconds and microsecond s since | in the Adj-RIB-Out), expressed in seconds and microsecond s since | |||
| midnight (zero hour), January 1, 1970 (UTC). If zero, th e time is | midnight (zero hour), January 1, 1970 (UTC). If zero, th e time is | |||
| unavailable. Precision of the timestamp is implementation | unavailable. Precision of the timestamp is | |||
| -dependent. | implementation-dependent. | |||
| </t> | </li> | |||
| </list> | </ul> | |||
| </t> | </section> | |||
| </section> | <section numbered="true" toc="default"> | |||
| <name>Adj-RIB-Out</name> | ||||
| <section title="Adj-RIB-Out"> | <section numbered="true" toc="default"> | |||
| <section title="Post-Policy"> | <name>Post-policy</name> | |||
| <t> | <t> | |||
| The primary use-case in monitoring Adj-RIB-Out is to monitor | The primary use case in monitoring Adj-RIB-Out is to monitor | |||
| the | 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 modification s and | applied. These updates reflect the result after modification s and | |||
| filters have been applied (e.g., Adj-RIB-Out Post-Policy). S ome | filters have been applied (e.g., post-policy Adj-RIB-Out). S ome | |||
| attributes are set when the BGP message is transmitted, | attributes are set when the BGP message is transmitted, | |||
| such as next-hop. Adj-RIB-Out Post-Policy MUST convey to the BMP | such as next hop. Post-policy Adj-RIB-Out <bcp14>MUST</bcp14 > convey to the BMP | |||
| receiver what is actually transmitted to the peer. | receiver what is actually transmitted to the peer. | |||
| <vspace blankLines="1"/> | </t> <t> | |||
| The L flag <bcp14>MUST</bcp14> be set to 1 to indicate post- | ||||
| The L flag MUST be set to 1 to indicate post-policy. | policy. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Pre-Policy"> | <name>Pre-policy</name> | |||
| <t> | <t> | |||
| Similarly to Adj-RIB-In policy validation, pre-policy Adj-RI | Similar to Adj-RIB-In policy validation, pre-policy Adj-RIB- | |||
| B-Out can | 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. | |||
| <vspace blankLines="1"/> | </t> | |||
| <t> | ||||
| Depending on BGP peering session type (IBGP, IBGP route refl | Depending on the BGP peering session type -- Internal BGP (I | |||
| ector client, | BGP), IBGP route reflector client, | |||
| EBGP, BGP confederations, Route Server Client) the candidate | External BGP (EBGP), BGP confederations, route server | |||
| routes that | client -- the candidate routes that | |||
| make up the Pre-Policy Adj-RIB-Out do not contain all local- | make up the pre-policy Adj-RIB-Out do not contain all | |||
| rib routes. | local RIB routes. | |||
| Pre-Policy Adj-RIB-Out conveys only routes that are availabl | Pre-policy Adj-RIB-Out conveys only routes that are availabl | |||
| e based on | e based on | |||
| the peering type. Post-Policy represents the filtered/chang | the peering type. Post-policy represents the filtered/chang | |||
| ed routes | ed routes | |||
| from the available routes. | from the available routes. | |||
| <vspace blankLines="1"/> | </t> | |||
| <t> | ||||
| 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, | i.e., post-policy. It is common that the next hop may be nu | |||
| loopback, or | ll, loopback, or | |||
| similar during pre-policy phase. All mandatory attributes, s | similar during the pre-policy phase. All mandatory attribute | |||
| uch as next-hop, | s, | |||
| MUST be either ZERO or have an empty length if they are unkn | such as next hop, | |||
| own at the | <bcp14>MUST</bcp14> be either zero or have an empty length i | |||
| Pre-Policy phase completion. The BMP receiver will treat ze | f they are unknown at the | |||
| ro or empty | pre-policy phase completion. The BMP receiver will treat ze | |||
| ro or empty | ||||
| mandatory attributes as self-originated. | mandatory attributes as self-originated. | |||
| </t> | ||||
| <t> | ||||
| <vspace blankLines="1"/> | The L flag <bcp14>MUST</bcp14> be set to 0 to indicate pre-p | |||
| olicy. | ||||
| The L flag MUST be set to 0 to indicate pre-policy. | </t> | |||
| </t> | </section> | |||
| </section> | ||||
| </section> | <section numbered="true" toc="default"> | |||
| <name>BMP Messages</name> | ||||
| </section> | <t> | |||
| Many BMP messages have a per-peer header, but some are not | ||||
| <section title="BMP Messages"> | applicable to Adj-RIB-In or Adj-RIB-Out monitoring, such as | |||
| <t> | Peer Up and Down Notifications. Unless otherwise defined, the | |||
| Many BMP messages have a per-peer header but some are not applic | O flag should be set to 0 in the per-peer header in BMP | |||
| able | messages. | |||
| to Adj-RIB-In or Adj-RIB-Out monitoring, such as peer up and dow | </t> | |||
| n notifications. | <section numbered="true" toc="default"> | |||
| Unless otherwise defined, the O flag should be set to 0 in the p | <name>Route Monitoring and Route Mirroring</name> | |||
| er-peer header | <t> | |||
| in BMP messages. | The O flag <bcp14>MUST</bcp14> be set accordingly to indicat | |||
| </t> | e if the route monitor | |||
| <section title="Route Monitoring and Route Mirroring"> | ||||
| <t> | ||||
| 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 . | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="StatisticsReport" numbered="true" toc="default"> | ||||
| <section title="Statistics Report" anchor="StatisticsReport"> | <name>Statistics Report</name> | |||
| <t> | <t> | |||
| The Statistics report message has a Stat Type field to indic | The Statistics Report message has a Stat Type field to indic | |||
| ate the | ate 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 | are not specific to Adj-RIB-In or Adj-RIB-Out and <bcp14>MUS | |||
| the O | T</bcp14> have the O | |||
| flag set to zero. The O flag SHOULD be ignored by the BMP re | flag set to zero. The O flag <bcp14>SHOULD</bcp14> be ignore | |||
| ceiver. | d by the BMP receiver. | |||
| <vspace blankLines="1"/> | ||||
| The following new statistic types are added: | ||||
| <list style="symbols"> | </t> | |||
| <t> | <t> | |||
| Stat Type = &IANA_STAT_ADJRIBOUT_PRE;: (64-bit Gauge | This document defines the following new statistics types: | |||
| ) | ||||
| Number of routes in Adj-RIBs-Out Pre-Policy. | ||||
| </t> | ||||
| <t> | </t> | |||
| Stat Type = &IANA_STAT_ADJRIBOUT_POST;: (64-bit Gaug | ||||
| e) | ||||
| Number of routes in Adj-RIBs-Out Post-Policy. | ||||
| </t> | ||||
| <t> | <ul spacing="normal"> | |||
| Stat Type = &IANA_STAT_ADJRIBOUT_PER_SAFI_PRE;: Numb | <li> | |||
| er of routes | Stat Type = 14: | |||
| in per-AFI/SAFI Adj-RIB-Out Pre- Policy. The value | Number of routes in pre-policy Adj-RIB-Out. This | |||
| is structured | statistics type is 64-bit Gauge. | |||
| </li> | ||||
| <li> | ||||
| Stat Type = 15: | ||||
| Number of routes in post-policy Adj-RIB-Out. This | ||||
| statistics type is 64-bit Gauge. | ||||
| </li> | ||||
| <li> | ||||
| Stat Type = 16: Number of routes | ||||
| in per-AFI/SAFI pre-policy Adj-RIB-Out. The value i | ||||
| s structured | ||||
| as: 2-byte Address Family Identifier (AFI), 1-byte S ubsequent Address Family Identifier | as: 2-byte Address Family Identifier (AFI), 1-byte S ubsequent Address Family Identifier | |||
| (SAFI), followed by a 64-bit Gauge. | (SAFI), followed by a 64-bit Gauge. | |||
| </t> | </li> | |||
| <li> | ||||
| <t> | Stat Type = 17: Number of routes in per-AFI/SAFI | |||
| Stat Type = &IANA_STAT_ADJRIBOUT_PER_SAFI_POST;: Num | post-policy Adj-RIB-Out. The value is structured | |||
| ber of routes in per-AFI/SAFI Adj-RIB-Out | as: 2-byte Address Family Identifier (AFI), 1-byte | |||
| Post-Policy. The value is structured as: 2-byte Add | Subsequent Address Family Identifier (SAFI), | |||
| ress Family | followed by a 64-bit Gauge. | |||
| Identifier (AFI), 1-byte Subsequent Address Family I | </li> | |||
| dentifier | </ul> | |||
| (SAFI), followed by a 64-bit Gauge. | </section> | |||
| </t> | <section numbered="true" toc="default"> | |||
| </list> | <name>Peer Up and Down Notifications</name> | |||
| </t> | <t> | |||
| </section> | Peer Up and Down Notifications convey BGP peering session st | |||
| ate to | ||||
| <section title="Peer Down and Up Notifications"> | ||||
| <t> | ||||
| Peer Up and Down notifications convey BGP peering session st | ||||
| ate to | ||||
| BMP receivers. The state is independent of whether or not r oute | BMP receivers. The state is independent of whether or not r oute | |||
| 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 i | Adj-RIB-Out, or both. BMP receiver implementations <bcp14>S | |||
| gnore the | HOULD</bcp14> ignore the | |||
| O flag in Peer Up and Down notifications. | O flag in Peer Up and Down Notifications. | |||
| </t> | </t> | |||
| <section anchor="PeerUpInfoTlv" numbered="true" toc="default"> | ||||
| <section title="Peer Up Information" anchor="PeerUpInfoTlv"> | <name>Peer Up Information</name> | |||
| <t> | <t> | |||
| The following Peer Up message Information TLV type is ad | This document defines the following Peer Up Information | |||
| ded: | TLV type: | |||
| <list style="symbols"> | </t> | |||
| <t> | <ul spacing="normal"> | |||
| Type = &IANA_PEER_INFO_TLV_ADMIN_LABEL;: Admin L | <li> | |||
| abel. | <t> | |||
| Type = 4: Admin Label. | ||||
| The Information field contains a free-form UTF-8 string whose byte | The Information field contains a free-form UTF-8 string whose byte | |||
| length is given by the Informatio n Length field. The value is | length is given by the Informatio n Length field. The value is | |||
| administratively assigned. There is no requirement to terminate | administratively assigned. There is no requirement to terminate | |||
| the string with null or any other character. | the string with null or any other character. | |||
| <vspace blankLines="1"/> | </t> | |||
| <t> | ||||
| Multiple admin labels can be included in the Pee | ||||
| r Up notification. | ||||
| When multiple admin labels are included the BMP | ||||
| receiver MUST preserve | ||||
| their order. | ||||
| <vspace blankLines="1"/> | Multiple Admin Labels can be included in the | |||
| Peer Up Notification. When multiple Admin | ||||
| Labels are included, the BMP receiver | ||||
| <bcp14>MUST</bcp14> preserve their order. | ||||
| The TLV is optional. | </t> | |||
| </t> | <t> | |||
| </list> | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| The Admin Label is optional. | ||||
| </t> | ||||
| </li> | ||||
| </ul> | ||||
| </section> | </section> | |||
| </section> | ||||
| <section title="Other Considerations"> | </section> | |||
| <section title="Peer and Update Groups"> | <section numbered="true" toc="default"> | |||
| <t> | <name>Other Considerations</name> | |||
| <section numbered="true" toc="default"> | ||||
| <name>Peer and Update Groups</name> | ||||
| <t> | ||||
| Peer and update groups are used to group updates shared by m any peers. | Peer and update groups are used to group updates shared by m any peers. | |||
| This is a level of efficiency in implementations, not a true | This is a level of efficiency in implementations, not a true | |||
| representation of what is conveyed to a peer in either Pre-P | representation of what is conveyed to a peer in either pre-p | |||
| olicy or | olicy or | |||
| Post-Policy. | post-policy. | |||
| <vspace blankLines="1"/> | </t> | |||
| <t> | ||||
| One of the use-cases to monitor Adj-RIB-Out Post-Policy is t o validate and continually | One of the use cases to monitor post-policy Adj-RIB-Out is t o validate and continually | |||
| ensure the egress updates match what is expected. For exampl e, wholesale peers should | ensure the egress updates match what is expected. For exampl e, wholesale peers should | |||
| never have routes with community X:Y sent to them. In this | never have routes with community X:Y sent to them. In | |||
| use-case, there may be | this use case, there may be | |||
| hundreds of wholesale peers but a single peer could have rep | hundreds of wholesale peers, but a single peer could have re | |||
| resented the group. | presented the group. | |||
| <vspace blankLines="1"/> | </t> | |||
| From a BMP perspective, this should be simple to include a g | <t> | |||
| roup name in the Peer Up, | From a BMP perspective, it should be simple to include a gro | |||
| up name in the Peer Up, | ||||
| but it is more complex than that. BGP implementations have evolved to provide | but it is more complex than that. BGP implementations have evolved to provide | |||
| comprehensive and structured policy grouping, such as | comprehensive and structured policy grouping, such | |||
| session, AFI/SAFI, and | as session, AFI/SAFI, and | |||
| template-based based group policy inheritances. | template-based group policy inheritances. | |||
| <vspace blankLines="1"/> | ||||
| </t> | ||||
| <t> | ||||
| This level of structure and inheritance of polices does not provide a simple peer group | This level of structure and inheritance of polices does not provide a simple peer group | |||
| name or ID, such as wholesale peer. | name or ID, such as wholesale peer. | |||
| <vspace blankLines="1"/> | </t> | |||
| <t> | ||||
| Instead of requiring a group name to be used, a new administ | ||||
| rative label | ||||
| informational TLV (<xref target="PeerUpInfoTlv"/>) is added | ||||
| to the Peer Up | ||||
| message. These labels have administrative scope relevance. | ||||
| For example, labels | ||||
| "type=wholesale" and "region=west" could be used to monitor | ||||
| expected policies. | ||||
| <vspace blankLines="1"/> | ||||
| Configuration and assignment of labels to peers is BGP imple | ||||
| mentation specific. | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| <section title="Security Considerations"> | This document defines a new Admin Label type for Peer Up Information TLVs | |||
| <t> | (<xref target="PeerUpInfoTlv" format="default"/>) that can be used instead of | |||
| The same considerations as in <xref target="RFC7854">section 11 | requiring a group name. | |||
| of</xref> apply to this | These labels have administrative scope | |||
| document. Implementations of this protocol SHOULD require to esta | relevance. For example, labels "type=wholesale" and | |||
| blish sessions with | "region=west" could be used to monitor expected policies. | |||
| authorized and trusted monitoring devices. It is also believed th | ||||
| at this document does | ||||
| not add any additional security considerations. | ||||
| </t> | ||||
| </section> | ||||
| <section title="IANA Considerations"> | </t> | |||
| <t> | <t> | |||
| This document requests that IANA assign the following new parame | ||||
| ters | ||||
| to the <eref | ||||
| target="https://www.iana.org/assignments/bmp-parameter | ||||
| s/bmp-parameters.xhtml"> | ||||
| BMP parameters name space</eref>. | ||||
| </t> | ||||
| <section title="BMP Peer Flags"> | Configuration and assignment of labels to peers are BGP impl | |||
| <t> | ementation-specific. | |||
| This document defines the following per-peer header flags (< | </t> | |||
| xref target="PeerFlags"/>): | </section> | |||
| <list style="symbols"> | <section numbered="true" toc="default"> | |||
| <t> | <name>Changes to Existing BMP Session</name> | |||
| Flag 3 as O flag: The O flag indicates Adj-RIB-In if | <t> | |||
| set to 0 and Adj-RIB-Out if | In case of any change that results in the alteration of behavior of | |||
| set to 1. | an existing BMP session (i.e., changes to filtering and table names), | |||
| </t> | the session <bcp14>MUST</bcp14> be bounced with a Peer Down/Peer Up se | |||
| </list> | quence. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| </section> | ||||
| <section title="BMP Statistics Types"> | <section numbered="true" toc="default"> | |||
| <t> | <name>Security Considerations</name> | |||
| This document defines four statistic types for statistics | <t> | |||
| reporting (<xref target="StatisticsReport"/>): | The considerations in <xref target="RFC7854" | |||
| sectionFormat="of" section="11"/> apply to this | ||||
| document. Implementations of this protocol | ||||
| <bcp14>SHOULD</bcp14> require establishing sessions with | ||||
| authorized and trusted monitoring devices. | ||||
| <list style="symbols"> | It is also believed that this document does | |||
| <t> | not add any additional security considerations. | |||
| Stat Type = &IANA_STAT_ADJRIBOUT_PRE;: (64-bit Gauge | </t> | |||
| ) | </section> | |||
| Number of routes in Adj-RIBs-Out Pre-Policy. | ||||
| </t> | ||||
| <t> | <section numbered="true" toc="default"> | |||
| Stat Type = &IANA_STAT_ADJRIBOUT_POST;: (64-bit Gaug | <name>IANA Considerations</name> | |||
| e) | ||||
| Number of routes in Adj-RIBs-Out Post-Policy. | ||||
| </t> | ||||
| <t> | <t>IANA has assigned the following new parameters | |||
| Stat Type = &IANA_STAT_ADJRIBOUT_PER_SAFI_PRE;: Numb | to the <eref target="https://www.iana.org/assignments/bmp-parame | |||
| er of routes | ters/"> | |||
| in per-AFI/SAFI Adj-RIB-Out Pre- Policy. The value | "BGP Monitoring Protocol (BMP) Parameters" registry</eref>. | |||
| is structured | </t> | |||
| as: 2-byte Address Family Identifier (AFI), 1-byte S | <section numbered="true" toc="default"> | |||
| ubsequent Address Family Identifier | <name>Addition to BMP Peer Flags Registry</name> | |||
| (SAFI), followed by a 64-bit Gauge. | <t>IANA has made the following assignment for the per-peer header flag | |||
| </t> | defined in <xref target="PeerFlags" format="default"/> of this | |||
| document: | ||||
| </t> | ||||
| <t> | <table anchor="iana1" align="left"> | |||
| Stat Type = &IANA_STAT_ADJRIBOUT_PER_SAFI_POST;: Num | <name>Addition to the "BMP Peer Flags" Registry</name> | |||
| ber of routes in per-AFI/SAFI Adj-RIB-Out | <thead> | |||
| Post-Policy. The value is structured as: 2-byte Add | <tr> | |||
| ress Family | <th>Flag</th> | |||
| Identifier (AFI), 1-byte Subsequent Address Family I | <th>Description</th> | |||
| dentifier | <th>Reference</th> | |||
| (SAFI), followed by a 64-bit Gauge. | </tr> | |||
| </t> | </thead> | |||
| </list> | <tbody> | |||
| </t> | <tr> | |||
| </section> | <td>3</td> | |||
| <td>O flag</td> | ||||
| <td>RFC 8671</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <section title="Peer Up Information TLV"> | </section> | |||
| <t> | ||||
| This document defines the following BMP Peer Up Information | ||||
| TLV types (<xref target="PeerUpInfoTlv"/>): | ||||
| <list style="symbols"> | <section numbered="true" toc="default"> | |||
| <t> | <name>Additions to BMP Statistics Types Registry</name> | |||
| Type = &IANA_PEER_INFO_TLV_ADMIN_LABEL;: Admin Label | ||||
| . | ||||
| The Information field contains a free-form UTF-8 str | ||||
| ing whose byte | ||||
| length is given by the Information Length field. Th | ||||
| e value is | ||||
| administratively assigned. There is no requirement | ||||
| to terminate | ||||
| the string with null or any other character. | ||||
| <vspace blankLines="1"/> | <t>IANA has made the following assignment for the four statistics types | |||
| defined in <xref target="StatisticsReport" format="default"/> of this | ||||
| document: | ||||
| </t> | ||||
| Multiple admin labels can be included in the Peer Up | <table anchor="iana2" align="left"> | |||
| notification. | <name>Additions to the "BMP Statistics Types" Registry</name> | |||
| When multiple admin labels are included the BMP rece | <thead> | |||
| iver MUST preserve | <tr> | |||
| their order. | <th>Stat Type</th> | |||
| <th>Description</th> | ||||
| <th>Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td>14</td> | ||||
| <td>Number of routes in pre-policy Adj-RIB-Out</td> | ||||
| <td>RFC 8671</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>15</td> | ||||
| <td>Number of routes in post-policy Adj-RIB-Out</td> | ||||
| <td>RFC 8671</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>16</td> | ||||
| <td>Number of routes in per-AFI/SAFI pre-policy Adj-RIB-Out</td> | ||||
| <td>RFC 8671</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>17</td> | ||||
| <td>Number of routes in per-AFI/SAFI post-policy Adj-RIB-Out</td> | ||||
| <td>RFC 8671</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <vspace blankLines="1"/> | </section> | |||
| The TLV is optional. | <section numbered="true" toc="default"> | |||
| </t> | <name>Addition to BMP Initiation Message TLVs Registry</name> | |||
| </list> | <t>IANA has made the following assignment per | |||
| </t> | <xref target="PeerUpInfoTlv" | |||
| </section> | format="default"/> of this document: | |||
| </t> | ||||
| </section> | <table anchor="iana3" align="left"> | |||
| <name>Addition to the "BMP Initiation Message TLVs" Registry</name> | ||||
| <thead> | ||||
| <tr> | ||||
| <th>Type</th> | ||||
| <th>Description</th> | ||||
| <th>Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td>4</td> | ||||
| <td>Admin Label</td> | ||||
| <td>RFC 8671</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </middle> | </section> | |||
| </section> | ||||
| </middle> | ||||
| <back> | ||||
| <references> | ||||
| <name>Normative References</name> | ||||
| <back> | <xi:include | |||
| href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> | ||||
| <references title="Normative References"> | <xi:include | |||
| &RFC2119; | href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml"/> | |||
| &RFC8174; | ||||
| <?rfc include="reference.RFC.4271.xml"?> | <xi:include | |||
| <?rfc include="reference.RFC.7854.xml"?> | href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7854.xml"/> | |||
| </references> | <xi:include | |||
| href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> | ||||
| <section anchor="Acknowledgements" title="Acknowledgements" numbered="no | </references> | |||
| "> | <section anchor="Acknowledgements" numbered="false" toc="default"> | |||
| <t> | <name>Acknowledgements</name> | |||
| <t> | ||||
| The authors would like to thank John Scudder and Mukul Srivastav a for their | The authors would like to thank John Scudder and Mukul Srivastav a for their | |||
| valuable input. | valuable input. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="Contributors" numbered="false" toc="default"> | ||||
| <section anchor="Contributors" title="Contributors" numbered="no"> | <name>Contributors</name> | |||
| <t> | ||||
| Manish Bhardwaj<vspace/> | ||||
| Cisco Systems<vspace/> | ||||
| 3700 Cisco Way<vspace/> | ||||
| San Jose, CA 95134<vspace/> | ||||
| USA<vspace/> | ||||
| <vspace blankLines="1"/> | ||||
| Email: manbhard@cisco.com<vspace blankLines="1"/> | ||||
| </t> | ||||
| <t> | <t>The following individuals contributed to this document: | |||
| Xianyuzheng<vspace/> | </t> | |||
| Tencent<vspace/> | ||||
| Tencent Building, Kejizhongyi Avenue,<vspace/> | ||||
| Hi-techPark, Nanshan District,Shenzhen 518057, P.R.China<vspace/ | ||||
| > | ||||
| <vspace blankLines="1"/> | ||||
| </t> | ||||
| <t> | <ul spacing="normal"> | |||
| Weiguo<vspace/> | <li>Manish Bhardwaj, Cisco Systems</li> | |||
| Tencent<vspace/> | ||||
| Tencent Building, Kejizhongyi Avenue,<vspace/> | ||||
| Hi-techPark, Nanshan District,Shenzhen 518057, P.R.China<vspace/ | ||||
| > | ||||
| <vspace blankLines="1"/> | <li>Xianyu Zheng, Tencent</li> | |||
| </t> | ||||
| <t> | <li>Wei Guo, Tencent</li> | |||
| Shugang cheng<vspace/> | ||||
| H3C<vspace/> | ||||
| <vspace blankLines="1"/> | <li>Shugang Cheng, H3C</li> | |||
| </t> | </ul> | |||
| </section> | </section> | |||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 97 change blocks. | ||||
| 562 lines changed or deleted | 521 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||