Global Routing Operations P. Lucente Internet-Draft NTT Updates: 7854 (if approved) Y. Gu Intended status: Standards Track Huawei Expires: April 28, 2022 October 25, 2021 TLV support for BMP Route Monitoring and Peer Down Messages draft-ietf-grow-bmp-tlv-06 Abstract Most of the message types defined by the BGP Monitoring Protocol (BMP) do provision for optional trailing data. However, Route Monitoring messages (to provide a snapshot of the monitored Routing Information Base) and Peer Down messages (to indicate that a peering session was terminated) do not. Supporting optional data in TLV format across all BMP message types allows for an homogeneous and extensible surface that would be useful for the most different use- cases that need to convey additional data to a BMP station. While it is not intended for this document to cover any specific utilization scenario, it defines a simple way to support optional TLV data in all message types. Status of This Memo This Internet-Draft is submitted in full conformance with the 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 and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on April 28, 2022. Copyright Notice Copyright (c) 2021 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents Lucente & Gu Expires April 28, 2022 [Page 1] Internet-Draft BMP TLV October 2021 (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. TLV encoding . . . . . . . . . . . . . . . . . . . . . . . . 3 4. BMP Message Format . . . . . . . . . . . . . . . . . . . . . 4 4.1. Common Header . . . . . . . . . . . . . . . . . . . . . . 4 4.2. TLV data in Route Monitoring . . . . . . . . . . . . . . 4 4.3. TLV data in Peer Down . . . . . . . . . . . . . . . . . . 5 4.4. TLV data in other BMP messages . . . . . . . . . . . . . 5 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 6. Operational Considerations . . . . . . . . . . . . . . . . . 5 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 8. Normative References . . . . . . . . . . . . . . . . . . . . 6 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction The BGP Monitoring Protocol (BMP) is defined in RFC 7854 [RFC7854]. The Route Monitoring message consists of: o Common Header o Per-Peer Header o BGP Update PDU The Peer Down Notification message consists of: o Common Header o Per-Peer Header o Reason o Data (only if Reason code is 1, 2 or 3) Lucente & Gu Expires April 28, 2022 [Page 2] Internet-Draft BMP TLV October 2021 This means that both Route Monitoring and Peer Down messages have a non-extensible format. In the Route Monitoring case, this is limiting if wanting to transmit characteristics of transported NLRIs (ie. to help stateless parsing) or to add vendor-specific data. In the Peer Down case, this is limiting if matching TLVs sent with the Peer Up is desired. The proposal of this document is to bump the BMP version, for backward compatibility, and allow all message types to provision for trailing TLV data. 2. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 RFC 2119 [RFC2119] RFC 8174 [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. TLV encoding The TLV data type is already defined in Section 4.4 of [RFC7854] for the Initiation and Peer Up message types. A TLV consists of: o 2 octets of TLV Type, o 2 octets of TLV Length, o 0 or more octets of TLV Value. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type (2 octets) | Length (2 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Value (variable) ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1 TLVs SHOULD be sorted by their code point. Multiple TLVs of the same type can be repeated as part of the same message, and it is left to the specific use-cases whether all, any, the first or the last TLV should be considered. Route Monitoring messages may require per-NLRI TLVs, that is, there may be a need to map TLVs to NLRIs contained in the BGP Update message, for example, to express additional characteristics of a specific NLRI. For this purpose specifically, TLVs in Route Lucente & Gu Expires April 28, 2022 [Page 3] Internet-Draft BMP TLV October 2021 Monitoring messages MUST be indexed, with the index starting at one (1) to refer to the first NLRI. Index zero (0) specifies that a TLV does apply to all NLRIs contained in the BGP Update message. Indexed TLVs are encoded as in the following figure: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type (2 octets) | Length (2 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Index (2 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Value (variable) ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2 Of the BMP message types defined so far, indexed TLVs do apply only to Route Monitoring messages and, for example, they do not apply to Route Mirroring ones because the sender may not be aware of the payload of the transported BGP Update message. 4. BMP Message Format 4.1. Common Header Section 4.1 of [RFC7854] defines the Common Header. While the structure remains unaltered, the following two definitions are changed: o Version: Indicates the BMP version. This is set to '4' for all messages. o Message Length: Total length of the message in bytes (including headers, encapsulated BGP message and optional data) 4.2. TLV data in Route Monitoring The Route Monitoring message type is defined in Section 4.6 of [RFC7854]. The BGP Update PDU Section 4.3 of [RFC4271] MAY be followed by TLV data. This document defines the following new code points to help stateless parsing of BGP Update PDUs: o Type = TBD1: the BGP Update PDU is encoded with support for the 4-octet AS number capability RFC 6793 [RFC6793], value MUST be boolean. Lucente & Gu Expires April 28, 2022 [Page 4] Internet-Draft BMP TLV October 2021 o Type = TBD2: the BGP Update PDU is encoded with the ADD-PATH capability RFC 7911 [RFC7911], value MUST be boolean. o Type = TBD3: the BGP Update PDU is encoded with the Multiple Labels capability RFC 8277 [RFC8277], value MUST be boolean. 4.3. TLV data in Peer Down The Peer Down Notification message type is defined in Section 4.9 of [RFC7854]. For Reason codes 1 or 3, a BGP Notification PDU follows; the PDU MAY be followed by TLV data. For Reason code 2, a 2-byte field to give additional FSM info follows; this field MAY be followed by TLV data. For all other Reason codes, TLV data MAY follow the Reason field. 4.4. TLV data in other BMP messages All other message types defined in RFC7854 [RFC7854] do already provision for TLV data. It is RECOMMENDED that all future BMP message types will provision for trailing TLV data. 5. Security Considerations It is not believed that this document adds any additional security considerations. 6. Operational Considerations In Route Monitoring messages, the number of TLVs can be bound to the amount of NLRIs carried in the BGP Update message. This may degrade the packing of information in such messages and have specific impacts on the memory and CPU used in a BMP implementation. As a result of that it should always be possible to disable such features to mitigate their impact. 7. IANA Considerations This document defines the following new TLV types for BMP Route Monitoring and Peer Down messages (Section 4.2): o Type = TBD1: Support for the 4-octet AS number capability. The value field contains a boolean value of 1 if the BGP Update PDU enclosed in the Route Monitoring message was encoded according to the capability. o Type = TBD2: ADD-PATH capability. The value field contains a boolean value of 1 if the BGP Update PDU enclosed in the Route Monitoring message was encoded according to the capability. Lucente & Gu Expires April 28, 2022 [Page 5] Internet-Draft BMP TLV October 2021 o Type = TBD3: Multiple Labels capability. The value field contains a boolean value of 1 if the BGP Update PDU enclosed in the Route Monitoring message was encoded according to the capability. 8. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006, . [RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet Autonomous System (AS) Number Space", RFC 6793, DOI 10.17487/RFC6793, December 2012, . [RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP Monitoring Protocol (BMP)", RFC 7854, DOI 10.17487/RFC7854, June 2016, . [RFC7911] Walton, D., Retana, A., Chen, E., and J. Scudder, "Advertisement of Multiple Paths in BGP", RFC 7911, DOI 10.17487/RFC7911, July 2016, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8277] Rosen, E., "Using BGP to Bind MPLS Labels to Address Prefixes", RFC 8277, DOI 10.17487/RFC8277, October 2017, . Acknowledgements The authors would like to thank Jeff Haas, Camilo Cardona, Thomas Graf and Pierre Francois for their valuable input. The authors would also like to thank Greg Skinner for his review. Lucente & Gu Expires April 28, 2022 [Page 6] Internet-Draft BMP TLV October 2021 Authors' Addresses Paolo Lucente NTT Siriusdreef 70-72 Hoofddorp, WT 2132 NL Email: paolo@ntt.net Yunan Gu Huawei Huawei Bld., No.156 Beiqing Rd. Beijing 100095 China Email: guyunan@huawei.com Lucente & Gu Expires April 28, 2022 [Page 7]