Support for Enterprise-specific TLVs in the BGP Monitoring Protocol
Paolo Lucente
NTT
Siriusdreef 70-72
Hoofddorp
2132
WT
NL
paolo@ntt.net
Yunan Gu
Huawei
Huawei Bld., No.156 Beiqing Rd.
Beijing
100095
China
guyunan@huawei.com
2022
General
Global Routing Operations
BGP
BMP
tlv
pen
Message types defined by the BGP Monitoring Protocol (BMP) do provision for data in TLV - Type, Length, Value - format, either in the shape of optional TLVs at the end of a BMP message or Stats Reports TLVs. 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.

Introduction
The BGP Monitoring Protocol (BMP) is defined in RFC 7854. Support for trailing TLV data is extended by TLV support for BMP Route Monitoring and Peer Down Messages.
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.
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.
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 for a very similar purpose.

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 RFC 8174 when, and only when, they appear in all capitals, as shown here.

TLV encoding

IANA-registered TLV encoding
Existing TLV encodings are defined in Section 4.4 of (Information TLVs), Section 4.8 of (Stats Reports TLVs), draft-ietf-grow-bmp-tlv and draft-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
- 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)                       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

TLVs SHOULD be sorted by their code point.

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,
- 2 octets of IANA PEN plus TLV value length,
- 4 octets of IANA Private Enterprise Number 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)                       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

TLV encoding remarks
The TLV encoding specified in this document applies to all existing BMP Message Types and their namespaces defined in RFC 7854, TLV support for BMP Route Monitoring and Peer Down Messages and BMP Peer Up Message Namespace. 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).
Future BMP Message Types MUST make use of the TLV encoding defined in this document.
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.

Security Considerations
This document does not add any additional security considerations.

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.

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. This document makes no changes to these registries.

Normative References

Informative References
[IANA-PEN]

Private Enterprise Numbers
IANA
1982
[IANA-BMP]

BGP Monitoring Protocol (BMP) Parameters
IANA
2016

Acknowledgements
The authors would like to thank Thomas Graf, Jeff Haas and Pierre Francois for their valuable input.