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 Information TLV, Renamed as Initiation | |||
Information TLV . . . . . . . . . . . . . . . . . . . . . 3 | Information TLV | |||
3.2. Revision to Peer Up Notification . . . . . . . . . . . . 3 | 3.2. Revision to Peer Up Notification | |||
3.3. Definition of Peer Up Information TLV . . . . . . . . . . 4 | 3.3. Definition of Peer Up Information TLV | |||
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | 4. IANA Considerations | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 5. Security Considerations | |||
6. Implementation status - RFC EDITOR: REMOVE BEFORE | 6. Normative References | |||
PUBLICATION . . . . . . . . . . . . . . . . . . . . . . . 6 | Acknowledgements | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 | Authors' Addresses | |||
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 BMP message types. With the | |||
exception of the Route Monitoring message type, these messages are | exception of the Route Monitoring message type, these messages are | |||
TLV-structured. Most message types have distinct namespaces and IANA | TLV-structured. Most message types have distinct namespaces and IANA | |||
registries. However, the namespace of the Peer Up message overlaps | registries. However, the namespace of the Peer Up message overlaps | |||
that of the Initiation message. As the BGP Monitoring Protocol has | that of the Initiation message. As the BGP Monitoring Protocol has | |||
been extended, this oversight has become problematic. In this | been extended, this oversight has become problematic. In this | |||
document, we create a distinct namespace for the Peer Up message to | document, we create a distinct namespace for the Peer Up message to | |||
eliminate this overlap, and create the corresponding missing | eliminate this overlap, and create the corresponding missing | |||
registry. | 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 Information TLV, Renamed as Initiation 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 to be: | |||
* 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 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 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Information Type | Information Length | | | Information Type | Information Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Information (variable) | | | Information (variable) | | |||
skipping to change at page 4, line 38 ¶ | skipping to change at line 164 ¶ | |||
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 273 ¶ | |||
[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. 30 change blocks. | ||||
138 lines changed or deleted | 112 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |