Internet-Draft BMP TLV EBIT July 2023
Lucente & Gu Expires 25 January 2024 [Page]
Workgroup:
Global Routing Operations
Internet-Draft:
draft-ietf-grow-bmp-tlv-ebit-03
Updates:
7854 (if approved)
Published:
Intended Status:
Standards Track
Expires:
Authors:
P. Lucente
NTT
Y. Gu
Huawei

Support for Enterprise-specific TLVs in the BGP Monitoring Protocol

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 25 January 2024.

Table of Contents

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.

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:


  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:


  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 follows 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)         |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        Enterprise number                      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |        Index (2 octets)       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        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].

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.

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-01, , <https://datatracker.ietf.org/doc/html/draft-ietf-grow-bmp-peer-up-01>.
[I-D.ietf-grow-bmp-tlv]
Lucente, P. and Y. Gu, "TLV support for BMP Route Monitoring and Peer Down Messages", Work in Progress, Internet-Draft, draft-ietf-grow-bmp-tlv-12, , <https://datatracker.ietf.org/doc/html/draft-ietf-grow-bmp-tlv-12>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC7854]
Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP Monitoring Protocol (BMP)", RFC 7854, DOI 10.17487/RFC7854, , <https://www.rfc-editor.org/info/rfc7854>.
[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, , <https://www.rfc-editor.org/info/rfc8126>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.

7.2. Informative References

[IANA-BMP]
IANA, "BGP Monitoring Protocol (BMP) Parameters", , <https://www.iana.org/assignments/bmp-parameters/bmp-parameters.xhtml>.
[IANA-PEN]
IANA, "Private Enterprise Numbers", , <http://www.iana.org/assignments/enterprise-numbers/>.
[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, , <https://www.rfc-editor.org/info/rfc7011>.

Acknowledgements

The authors would like to thank Thomas Graf, Jeff Haas, Pierre Francois, Camilo Cardona and Ahmed Elhassany for their valuable input.

Authors' Addresses

Paolo Lucente
NTT
Veemweg 23
3771 Barneveld
Netherlands
Yunan Gu
Huawei
Huawei Bld., No.156 Beiqing Rd.
Beijing
100095
China