| rfc9736.original | rfc9736.txt | |||
|---|---|---|---|---|
| GROW J.S. Scudder | Internet Engineering Task Force (IETF) J. Scudder | |||
| Internet-Draft Juniper Networks | Request for Comments: 9736 Juniper Networks | |||
| Updates: 7854, 8671, 9069 (if approved) P. Lucente | Updates: 7854, 8671, 9069 P. Lucente | |||
| Intended status: Standards Track NTT | Category: Standards Track NTT | |||
| Expires: 5 April 2025 2 October 2024 | ISSN: 2070-1721 February 2025 | |||
| BMP Peer Up Message Namespace | The BGP Monitoring Protocol (BMP) Peer Up Message Namespace | |||
| draft-ietf-grow-bmp-peer-up-05 | ||||
| Abstract | Abstract | |||
| RFC 7854, BGP Monitoring Protocol, uses different message types for | RFC 7854, the BGP Monitoring Protocol (BMP), uses different message | |||
| different purposes. Most of these are Type, Length, Value (TLV) | types for different purposes. Most of these are structured as Type, | |||
| structured. One message type, the Peer Up message, lacks a set of | Length, Value (TLV). One message type, the Peer Up message, lacks a | |||
| TLVs defined for its use, instead sharing a namespace with the | set of TLVs defined for its use, instead sharing a namespace with the | |||
| Initiation message. Subsequent experience has shown that this | Initiation message. Experience has shown that this namespace sharing | |||
| namespace sharing was a mistake, as it hampers the extension of the | was a mistake, as it hampers the extension of the protocol. | |||
| protocol. | ||||
| This document updates RFC 7854 by creating an independent namespace | This document updates RFC 7854 by creating an independent namespace | |||
| for the Peer Up message. It also updates RFC 8671 and RFC 9069 by | for the Peer Up message. It also updates RFC 8671 and RFC 9069 by | |||
| moving the defined codepoints in the newly introduced registry. | moving defined codepoints into the newly introduced registry. | |||
| Compliant implementations of RFC 7854, RFC 8671 and RFC 9069 also | Compliant implementations of RFC 7854, RFC 8671, and RFC 9069 also | |||
| comply with this specification. | comply with this specification. | |||
| 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 5 April 2025. | 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/rfc9736. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2024 IETF Trust and the persons identified as the | Copyright (c) 2025 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
| license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
| extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
| described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
| provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
| in the Revised BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements Language | |||
| 2. String Definition . . . . . . . . . . . . . . . . . . . . . . 3 | 2. String Definition | |||
| 3. Changes to existing RFCs . . . . . . . . . . . . . . . . . . 3 | 3. Changes to Existing RFCs | |||
| 3.1. Revision to Information TLV, Renamed as Initiation | 3.1. Revision to the Information TLV | |||
| Information TLV . . . . . . . . . . . . . . . . . . . . . 3 | 3.2. Revision to the Peer Up Notification | |||
| 3.2. Revision to Peer Up Notification . . . . . . . . . . . . 3 | 3.3. Definition of Peer Up Information TLV | |||
| 3.3. Definition of Peer Up Information TLV . . . . . . . . . . 4 | 4. IANA Considerations | |||
| 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | 5. Security Considerations | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 6. Normative References | |||
| 6. Implementation status - RFC EDITOR: REMOVE BEFORE | Acknowledgements | |||
| PUBLICATION . . . . . . . . . . . . . . . . . . . . . . . 6 | Authors' Addresses | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 | ||||
| 8. Normative References . . . . . . . . . . . . . . . . . . . . 7 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 | ||||
| 1. Introduction | 1. Introduction | |||
| [RFC7854] defines a number of different BMP message types. With the | [RFC7854] defines a number of different BGP Monitoring Protocol (BMP) | |||
| exception of the Route Monitoring message type, these messages are | message types. With the exception of the Route Monitoring message | |||
| TLV-structured. Most message types have distinct namespaces and IANA | type, these messages are TLV-structured. Most message types have | |||
| registries. However, the namespace of the Peer Up message overlaps | distinct namespaces and IANA registries. However, the namespace of | |||
| that of the Initiation message. As the BGP Monitoring Protocol has | the Peer Up message overlaps that of the Initiation message. As BMP | |||
| been extended, this oversight has become problematic. In this | has been extended, this overlap has become problematic. In this | |||
| document, we create a distinct namespace for the Peer Up message to | document, we create distinct namespaces for the Peer Up and | |||
| eliminate this overlap, and create the corresponding missing | Initiation messages to eliminate the overlap. | |||
| registry. | ||||
| Compliant implementations of [RFC7854], [RFC8671] and [RFC9069] also | Compliant implementations of [RFC7854], [RFC8671], and [RFC9069] also | |||
| comply with this specification. | comply with this specification. | |||
| 1.1. Requirements Language | 1.1. Requirements Language | |||
| 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 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| 2. String Definition | 2. String Definition | |||
| A string TLV is a free-form sequence of UTF-8 characters whose length | A string TLV is a free-form sequence of UTF-8 characters whose length | |||
| in bytes is given by the TLV's Length field. There is no requirement | in bytes is given by the TLV's Length field. There is no requirement | |||
| to terminate the string with a null (or any other particular) | to terminate the string with a null (or any other particular) | |||
| character -- the Length field gives its termination. | character -- the Length field gives its termination. | |||
| 3. Changes to existing RFCs | 3. Changes to Existing RFCs | |||
| [RFC7854] is updated as detailed in the following sub-sections. | [RFC7854] is updated as detailed in the following subsections. | |||
| 3.1. Revision to Information TLV, Renamed as Initiation Information TLV | 3.1. Revision to the Information TLV | |||
| The Information TLV defined in section 4.4 of [RFC7854] is renamed | The Information TLV defined in Section 4.4 of [RFC7854] is renamed | |||
| "Initiation Information TLV". It is used only by the Initiation | "Initiation Information TLV". It is used only by the Initiation | |||
| message, not by the Peer Up message. | message, not by the Peer Up message. | |||
| The definition of Type = 0 is revised to be: | The definition of Type = 0 is revised as shown below. Type = 1 and | |||
| Type = 2 are unchanged; they are provided for for completeness. | ||||
| * Type = 0: String. The Information field contains a string | * Type = 0: String. The Information field contains a string | |||
| (Section 2). The value is administratively assigned. If multiple | (Section 2). The value is administratively assigned. If multiple | |||
| string TLVs are included, their ordering MUST be preserved when | string TLVs are included, their ordering MUST be preserved when | |||
| they are reported. | they are reported. | |||
| * Type = 1: sysDescr. The Information field contains an ASCII | * Type = 1: sysDescr. The Information field contains an ASCII | |||
| string whose value MUST be set to be equal to the value of the | string whose value MUST be set to be equal to the value of the | |||
| sysDescr MIB-II [RFC1213] object. | sysDescr MIB-II [RFC1213] object. | |||
| * Type = 2: sysName. The Information field contains an ASCII string | * Type = 2: sysName. The Information field contains an ASCII string | |||
| whose value MUST be set to be equal to the value of the sysName | whose value MUST be set to be equal to the value of the sysName | |||
| MIB-II [RFC1213] object. | MIB-II [RFC1213] object. | |||
| 3.2. Revision to Peer Up Notification | 3.2. Revision to the Peer Up Notification | |||
| The final paragraph of section 4.10 of [RFC7854] references the | The final paragraph of Section 4.10 of [RFC7854] references the | |||
| Information TLV (which is revised above (Section 3.1)). That | Information TLV (which is revised above (Section 3.1)). That | |||
| paragraph is replaced by the following: | paragraph is replaced by the following: | |||
| * Information: Information about the peer, using the Peer Up | * Information: Information about the peer, using the Peer Up | |||
| Information TLV format defined below (Section 3.3). The String | Information TLV format defined in Section 3.3 of RFC 9736. The | |||
| type may be repeated. Inclusion of the Information field is | String type may be repeated. Inclusion of the Information field | |||
| OPTIONAL. Its presence or absence can be inferred by inspection | is OPTIONAL. Its presence or absence can be inferred by | |||
| of the Message Length in the common header. | inspection of the Message Length in the common header. | |||
| 3.3. Definition of Peer Up Information TLV | 3.3. Definition of Peer Up Information TLV | |||
| The Peer Up Information TLV is used by the Peer Up message. | The Peer Up Information TLV is used by the Peer Up message. | |||
| 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Information Type | Information Length | | | Information Type | Information Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Information (variable) | | | Information (variable) | | |||
| ~ ~ | ~ ~ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| * Information Type (2 bytes): defined types are: | * Information Type (2 bytes): types are as defined in the "BMP Peer | |||
| Up Message TLVs" registry: | ||||
| - Type = 0: String. The Information field contains a string | - Type = 0: String. The Information field contains a string | |||
| (Section 2). The value is administratively assigned. If | (Section 2). The value is administratively assigned. If | |||
| multiple strings are included, their ordering MUST be preserved | multiple strings are included, their ordering MUST be preserved | |||
| when they are reported. | when they are reported. | |||
| - Type = 3: VRF/Table Name. The Information field contains a | - Type = 3: VRF/Table Name. The Information field contains a | |||
| UTF-8 string whose value MUST be equal to the value of the VRF | UTF-8 string whose value MUST be equal to the value of the VRF | |||
| or table name (e.g., RD instance name) being conveyed. The | or table name (e.g., RD instance name) being conveyed. The | |||
| string size MUST be within the range of 1 to 255 bytes. | string size MUST be within the range of 1 to 255 bytes. | |||
| - Type = 4: Admin Label. The Information field contains a free- | - Type = 4: Admin Label. The Information field contains a free- | |||
| form UTF-8 string whose byte length is given by the Information | form UTF-8 string whose byte length is given by the Information | |||
| Length field. The value is administratively assigned. There | Length field. The value is administratively assigned. There | |||
| is no requirement to terminate the string with null or any | is no requirement to terminate the string a with null or any | |||
| other character. | other character. | |||
| * Information Length (2 bytes): The length of the following | * Information Length (2 bytes): The length of the following | |||
| Information field, in bytes. | Information field, in bytes. | |||
| * Information (variable): Information about the monitored router, | * Information (variable): Information about the monitored router, | |||
| according to the type. | according to the type. | |||
| 4. IANA Considerations | 4. IANA Considerations | |||
| IANA is requested to create a registry within the BMP group, named | IANA has created the "BMP Peer Up Message TLVs" within the "BGP | |||
| "BMP Peer Up Message TLVs", reference this document. | Monitoring Protocol (BMP) Parameters" registry group and listed this | |||
| document as the reference. | ||||
| Registration procedures for this registry are: | Registration procedures for this registry are: | |||
| +=============+==========================+ | +=============+=========================+ | |||
| | Range | Registration Procedures | | | Range | Registration Procedures | | |||
| +=============+==========================+ | +=============+=========================+ | |||
| | 0, 3-32767 | Standards Action | | | 0, 3-32767 | Standards Action | | |||
| +-------------+--------------------------+ | +-------------+-------------------------+ | |||
| | 32768-65530 | First Come, First Served | | | 32768-65530 | First Come First Served | | |||
| +-------------+--------------------------+ | +-------------+-------------------------+ | |||
| | 65531-65534 | Experimental | | | 65531-65534 | Experimental | | |||
| +-------------+--------------------------+ | +-------------+-------------------------+ | |||
| | 1-2, 65535 | Reserved | | | 1-2, 65535 | Reserved | | |||
| +-------------+--------------------------+ | +-------------+-------------------------+ | |||
| Table 1 | Table 1 | |||
| Initial values for this registry are: | The initial values for this registry are: | |||
| +=======+================+===============+ | +=======+================+===========+ | |||
| | Type | Description | Reference | | | Type | Description | Reference | | |||
| +=======+================+===============+ | +=======+================+===========+ | |||
| | 0 | String | this document | | | 0 | String | RFC 9736 | | |||
| +-------+----------------+---------------+ | +-------+----------------+-----------+ | |||
| | 1 | Reserved | this document | | | 1 | Reserved | RFC 9736 | | |||
| +-------+----------------+---------------+ | +-------+----------------+-----------+ | |||
| | 2 | Reserved | this document | | | 2 | Reserved | RFC 9736 | | |||
| +-------+----------------+---------------+ | +-------+----------------+-----------+ | |||
| | 3 | VRF/Table Name | this document | | | 3 | VRF/Table Name | RFC 9736 | | |||
| +-------+----------------+---------------+ | +-------+----------------+-----------+ | |||
| | 4 | Admin Label | this document | | | 4 | Admin Label | RFC 9736 | | |||
| +-------+----------------+---------------+ | +-------+----------------+-----------+ | |||
| | 65535 | Reserved | this document | | | 65535 | Reserved | RFC 9736 | | |||
| +-------+----------------+---------------+ | +-------+----------------+-----------+ | |||
| Table 2 | Table 2 | |||
| IANA is also requested to rename the existing "BMP Initiation and | IANA has also renamed the "BMP Initiation and Peer Up Information | |||
| Peer Up Information TLVs" registry to "BMP Initiation Information | TLVs" registry to "BMP Initiation Information TLVs" and populated it | |||
| TLVs" and seed it with the following values: | with the following values: | |||
| +=======+=============+===============+ | +=======+=============+===========+ | |||
| | Type | Description | Reference | | | Type | Description | Reference | | |||
| +=======+=============+===============+ | +=======+=============+===========+ | |||
| | 0 | String | this document | | | 0 | String | RFC 9736 | | |||
| +-------+-------------+---------------+ | +-------+-------------+-----------+ | |||
| | 1 | sysDescr | this document | | | 1 | sysDescr | RFC 9736 | | |||
| +-------+-------------+---------------+ | +-------+-------------+-----------+ | |||
| | 2 | sysName | this document | | | 2 | sysName | RFC 9736 | | |||
| +-------+-------------+---------------+ | +-------+-------------+-----------+ | |||
| | 3 | Reserved | this document | | | 3 | Reserved | RFC 9736 | | |||
| +-------+-------------+---------------+ | +-------+-------------+-----------+ | |||
| | 4 | Reserved | this document | | | 4 | Reserved | RFC 9736 | | |||
| +-------+-------------+---------------+ | +-------+-------------+-----------+ | |||
| | 65535 | Reserved | this document | | | 65535 | Reserved | RFC 9736 | | |||
| +-------+-------------+---------------+ | +-------+-------------+-----------+ | |||
| Table 3 | Table 3 | |||
| 5. Security Considerations | 5. Security Considerations | |||
| This document does not alter the security considerations of [RFC7854] | This document does not alter the security considerations of [RFC7854] | |||
| which continue to apply. | that continue to apply. | |||
| 6. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION | ||||
| This section records the status of known implementations of the | ||||
| protocol defined by this specification at the time of posting of this | ||||
| Internet-Draft. The description of implementations in this section | ||||
| is intended to assist the IETF in its decision processes in | ||||
| progressing drafts to RFCs. Please note that the listing of any | ||||
| individual implementation here does not imply endorsement by the | ||||
| IETF. Furthermore, no effort has been spent to verify the | ||||
| information presented here that was supplied by IETF contributors. | ||||
| This is not intended as, and must not be construed to be, a catalog | ||||
| of available implementations or their features. Readers are advised | ||||
| to note that other implementations may exist. | ||||
| As of today these vendors have produced an implementation of the BMP | ||||
| Peer Up Namespace: | ||||
| * FRRouting | ||||
| * pmacct | ||||
| 7. Acknowledgements | ||||
| The authors would like to thank Maxence Younsi for his review. | ||||
| 8. Normative References | 6. Normative References | |||
| [RFC1213] McCloghrie, K. and M. Rose, "Management Information Base | [RFC1213] McCloghrie, K. and M. Rose, "Management Information Base | |||
| for Network Management of TCP/IP-based internets: MIB-II", | for Network Management of TCP/IP-based internets: MIB-II", | |||
| STD 17, RFC 1213, DOI 10.17487/RFC1213, March 1991, | STD 17, RFC 1213, DOI 10.17487/RFC1213, March 1991, | |||
| <https://www.rfc-editor.org/info/rfc1213>. | <https://www.rfc-editor.org/info/rfc1213>. | |||
| [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>. | |||
| skipping to change at page 7, line 36 ¶ | skipping to change at line 274 ¶ | |||
| [RFC8671] Evens, T., Bayraktar, S., Lucente, P., Mi, P., and S. | [RFC8671] Evens, T., Bayraktar, S., Lucente, P., Mi, P., and S. | |||
| Zhuang, "Support for Adj-RIB-Out in the BGP Monitoring | Zhuang, "Support for Adj-RIB-Out in the BGP Monitoring | |||
| Protocol (BMP)", RFC 8671, DOI 10.17487/RFC8671, November | Protocol (BMP)", RFC 8671, DOI 10.17487/RFC8671, November | |||
| 2019, <https://www.rfc-editor.org/info/rfc8671>. | 2019, <https://www.rfc-editor.org/info/rfc8671>. | |||
| [RFC9069] Evens, T., Bayraktar, S., Bhardwaj, M., and P. Lucente, | [RFC9069] Evens, T., Bayraktar, S., Bhardwaj, M., and P. Lucente, | |||
| "Support for Local RIB in the BGP Monitoring Protocol | "Support for Local RIB in the BGP Monitoring Protocol | |||
| (BMP)", RFC 9069, DOI 10.17487/RFC9069, February 2022, | (BMP)", RFC 9069, DOI 10.17487/RFC9069, February 2022, | |||
| <https://www.rfc-editor.org/info/rfc9069>. | <https://www.rfc-editor.org/info/rfc9069>. | |||
| Acknowledgements | ||||
| The authors would like to thank Maxence Younsi for his review. | ||||
| Authors' Addresses | Authors' Addresses | |||
| John Scudder | John Scudder | |||
| Juniper Networks | Juniper Networks | |||
| 1194 N. Mathilda Ave | 1194 N. Mathilda Ave | |||
| Sunnyvale, CA 94089 | Sunnyvale, CA 94089 | |||
| United States of America | United States of America | |||
| Email: jgs@juniper.net | Email: jgs@juniper.net | |||
| Paolo Lucente | Paolo Lucente | |||
| NTT | NTT | |||
| Veemweg 23 | Veemweg 23 | |||
| 3771 Barneveld | 3771 MT Barneveld | |||
| Netherlands | Netherlands | |||
| Email: paolo@ntt.net | Email: paolo@ntt.net | |||
| End of changes. 35 change blocks. | ||||
| 153 lines changed or deleted | 128 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||