Global Routing Operations P. Lucente Internet-Draft NTT Updates: 7854 (if approved) Y. Gu Intended status: Standards Track Huawei Expires: 19 September 2024 18 March 2024 Support for Enterprise-specific TLVs in the BGP Monitoring Protocol draft-ietf-grow-bmp-tlv-ebit-05 Abstract Message types defined by the BGP Monitoring Protocol (BMP) do provision for data in TLV - Type, Length, Value - format, either in the shape of a TLV message body, ie. Route Mirroring and Stats Reports, or optional TLVs at the end of a BMP message, ie. Peer Up and Peer Down. However the space for Type value is unique and governed by IANA. To allow the usage of vendor-specific TLVs, a mechanism to define per-vendor Type values is required. In this document we introduce an Enterprise Bit, or E-bit, for such purpose. 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 19 September 2024. Copyright Notice Copyright (c) 2024 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 (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 Lucente & Gu Expires 19 September 2024 [Page 1] Internet-Draft BMP TLV EBIT March 2024 extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. TLV encoding . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1. IANA-registered TLV encoding . . . . . . . . . . . . . . 3 3.2. Enterprise-specific TLV encoding . . . . . . . . . . . . 3 3.3. TLV encoding remarks . . . . . . . . . . . . . . . . . . 4 4. Security Considerations . . . . . . . . . . . . . . . . . . . 5 5. Operational Considerations . . . . . . . . . . . . . . . . . 5 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 7.1. Normative References . . . . . . . . . . . . . . . . . . 6 7.2. Informative References . . . . . . . . . . . . . . . . . 7 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction The BGP Monitoring Protocol (BMP) is defined in RFC 7854 [RFC7854]. Support for TLV data is extended by TLV support for BMP Route Monitoring and Peer Down Messages [I-D.ietf-grow-bmp-tlv]. Vendors need the ability to define proprietary Information Elements for various reasons such as delivering a pre-standard product. This aligns with Section 4.1 of [RFC8126]. Also for code point assignment to be eligible, an IETF document needs to be adopted at a Working Group and in a stable condition. In this context E-bit helps during early development phases where inter- operability among vendors is tested and shipped to network operators for testing. This aligns with Section 4.2 of [RFC8126]. This document re-defines the format of IANA-registered TLVs in a backward compatible manner with respect to previous documents and existing IANA allocations; it also defines the format for newly introduced enterprise-specific TLVs. The concept of an E-bit, or Enterprise Bit, is not new. For example, such mechanism is defined in Section 3.2 of [RFC7011] for a very similar purpose. Lucente & Gu Expires 19 September 2024 [Page 2] Internet-Draft BMP TLV EBIT March 2024 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 3.1. IANA-registered TLV encoding Existing TLV encodings are defined in Section 4.4 of [RFC7854] (Information TLVs), Section 4.7 of [RFC7854] (Route Mirroring TLVs), Section 4.8 of [RFC7854] (Stats Reports TLVs), draft-ietf-grow-bmp-tlv [I-D.ietf-grow-bmp-tlv] and draft-ietf-grow-bmp-peer-up [I-D.ietf-grow-bmp-peer-up] and are updated as follows: * 1 bit to flag an enterprise-specific TLV, set to zero. The TLV Type value must have been defined in IANA-BMP [IANA-BMP] * 15 bits of TLV Type, * 2 octets of TLV Value length, * 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |E| Type | Length (2 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value (variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1 3.2. Enterprise-specific TLV encoding Enterprise-specific TLV encoding is defined as follows: * 1 bit to flag an enterprise-specific TLV, set to one * 15 bits of TLV Type, Lucente & Gu Expires 19 September 2024 [Page 3] Internet-Draft BMP TLV EBIT March 2024 * 2 octets of TLV length. Comprising length of IANA PEN plus TLV value, * 4 octets of IANA Private Enterprise Number IANA-PEN [IANA-PEN] * 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |E| Type | Length (2 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Enterprise number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value (variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2 In case of indexed TLVs, as defined by TLV support for BMP Route Monitoring and Peer Down Messages [I-D.ietf-grow-bmp-tlv], the index value precedes the Enterprise number. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |E| Type | Length (2 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Index (2 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Enterprise number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value (variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3 3.3. TLV encoding remarks The TLV encoding specified in this document applies to all existing BMP Message Types and their namespaces defined in RFC 7854 [RFC7854], TLV support for BMP Route Monitoring and Peer Down Messages [I-D.ietf-grow-bmp-tlv] and BMP Peer Up Message Namespace [I-D.ietf-grow-bmp-peer-up]. Lucente & Gu Expires 19 September 2024 [Page 4] Internet-Draft BMP TLV EBIT March 2024 Stats Report messages are also encoded in a TLV-like fashion, as documented in Section 4.8 of [RFC7854]. E-bit does hence similarly apply to these messages too, with the most relevant bit of Stat Type set to 1 in order to flag the presence of a 4-bytes PEN field following Stat Len field and preeceding Stat Data field, ie.: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |E| Stat Type | Stat Len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Enterprise number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Stat Data | ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4 While the proposed encoding is not per-se backward compatible, there is no existing IANA-allocated Type value that makes use of the most significant bit (which is being used in this document to define the E-bit), except the experimental and reserved ones mentioned in Section 10.5 of [RFC7854], Section 10.6 of [RFC7854] and Section 10.9 of [RFC7854]. Of these, the Experimental values are being suppressed in favor of using the E-bit mechanism described in this document; the Reserved value is instead excluded by the E-bit mechanism such that no PEN will be included as part of the TLV. Future BMP Message Types MUST make use of the TLV encoding defined in this document. This document refers to TLV support for BMP Route Monitoring and Peer Down Messages [I-D.ietf-grow-bmp-tlv] for any recommendations regarding the use of TLVs (ie. repetitions, ordering, etc.). 4. Security Considerations This document does not add any additional security considerations. 5. Operational Considerations It is recommended that vendors making use of the Enterprise Bit extension have a well-defined internal registry for privately assigned code points that is also exposed to the public. Lucente & Gu Expires 19 September 2024 [Page 5] Internet-Draft BMP TLV EBIT March 2024 6. IANA Considerations The TLV Type values used by BMP are managed by IANA as are the Private Enterprise Numbers used by enterprise-specific Type values IANA-PEN [IANA-PEN]. This document requests to remove the Experimental allocation from BMP Initiation and Peer Up Information TLVs, BMP Termination Message TLVs and BMP Route Mirroring TLVs registries as the equivalent action (ie. expressing experimental values) will be instead performed as described in this document, ie. by setting the E-bit and defining the relevant PEN. 7. References 7.1. Normative References [I-D.ietf-grow-bmp-peer-up] Scudder, J. and P. Lucente, "BMP Peer Up Message Namespace", Work in Progress, Internet-Draft, draft-ietf- grow-bmp-peer-up-03, 6 February 2024, . [I-D.ietf-grow-bmp-tlv] Lucente, P. and Y. Gu, "BMP v4: TLV support for BMP Route Monitoring and Peer Down Messages", Work in Progress, Internet-Draft, draft-ietf-grow-bmp-tlv-13, 23 October 2023, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP Monitoring Protocol (BMP)", RFC 7854, DOI 10.17487/RFC7854, June 2016, . [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017, . Lucente & Gu Expires 19 September 2024 [Page 6] Internet-Draft BMP TLV EBIT March 2024 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 7.2. Informative References [IANA-BMP] IANA, "BGP Monitoring Protocol (BMP) Parameters", 2016, . [IANA-PEN] IANA, "Private Enterprise Numbers", 1982, . [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken, "Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information", STD 77, RFC 7011, DOI 10.17487/RFC7011, September 2013, . Acknowledgements The authors would like to thank Thomas Graf, Jeff Haas, Pierre Francois, Camilo Cardona, Ahmed Elhassany and Luuk Hendriks for their valuable input. Authors' Addresses Paolo Lucente NTT Veemweg 23 3771 Barneveld Netherlands Email: paolo@ntt.net Yunan Gu Huawei Huawei Bld., No.156 Beiqing Rd. Beijing 100095 China Email: guyunan@huawei.com Lucente & Gu Expires 19 September 2024 [Page 7]