draft-ietf-grow-bmp-tlv-06.txt   draft-ietf-grow-bmp-tlv-07.txt 
Global Routing Operations P. Lucente Global Routing Operations P. Lucente
Internet-Draft NTT Internet-Draft NTT
Updates: 7854 (if approved) Y. Gu Updates: 7854 (if approved) Y. Gu
Intended status: Standards Track Huawei Intended status: Standards Track Huawei
Expires: April 28, 2022 October 25, 2021 Expires: 8 September 2022 7 March 2022
TLV support for BMP Route Monitoring and Peer Down Messages TLV support for BMP Route Monitoring and Peer Down Messages
draft-ietf-grow-bmp-tlv-06 draft-ietf-grow-bmp-tlv-07
Abstract Abstract
Most of the message types defined by the BGP Monitoring Protocol Most of the message types defined by the BGP Monitoring Protocol
(BMP) do provision for optional trailing data. However, Route (BMP) make provision for optional trailing data. However, Route
Monitoring messages (to provide a snapshot of the monitored Routing Monitoring messages (which provide a snapshot of the monitored
Information Base) and Peer Down messages (to indicate that a peering Routing Information Base) and Peer Down messages (which indicate that
session was terminated) do not. Supporting optional data in TLV a peering session was terminated) do not. Supporting optional data
format across all BMP message types allows for an homogeneous and in TLV format across all BMP message types allows for a homogeneous
extensible surface that would be useful for the most different use- and extensible surface that would be useful for the most different
cases that need to convey additional data to a BMP station. While it use-cases that need to convey additional data to a BMP station.
is not intended for this document to cover any specific utilization While it is not intended for this document to cover any specific
scenario, it defines a simple way to support optional TLV data in all utilization scenario, it defines a simple way to support optional TLV
message types. data in all message types.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 28, 2022. This Internet-Draft will expire on 8 September 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2022 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 Provisions Relating to IETF Documents (https://trustee.ietf.org/
(https://trustee.ietf.org/license-info) in effect on the date of license-info) in effect on the date of publication of this document.
publication of this document. Please review these documents Please review these documents carefully, as they describe your rights
carefully, as they describe your rights and restrictions with respect and restrictions with respect to this document. Code Components
to this document. Code Components extracted from this document must extracted from this document must include Revised BSD License text as
include Simplified BSD License text as described in Section 4.e of described in Section 4.e of the Trust Legal Provisions and are
the Trust Legal Provisions and are provided without warranty as provided without warranty as described in the Revised BSD License.
described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. TLV encoding . . . . . . . . . . . . . . . . . . . . . . . . 3 3. TLV encoding . . . . . . . . . . . . . . . . . . . . . . . . 3
4. BMP Message Format . . . . . . . . . . . . . . . . . . . . . 4 4. BMP Message Format . . . . . . . . . . . . . . . . . . . . . 4
4.1. Common Header . . . . . . . . . . . . . . . . . . . . . . 4 4.1. Common Header . . . . . . . . . . . . . . . . . . . . . . 4
4.2. TLV data in Route Monitoring . . . . . . . . . . . . . . 4 4.2. TLV data in Route Monitoring . . . . . . . . . . . . . . 4
4.3. TLV data in Peer Down . . . . . . . . . . . . . . . . . . 5 4.3. TLV data in Peer Down . . . . . . . . . . . . . . . . . . 5
4.4. TLV data in other BMP messages . . . . . . . . . . . . . 5 4.4. TLV data in other BMP messages . . . . . . . . . . . . . 5
5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 5. Error handling . . . . . . . . . . . . . . . . . . . . . . . 5
6. Operational Considerations . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 7. Operational Considerations . . . . . . . . . . . . . . . . . 5
8. Normative References . . . . . . . . . . . . . . . . . . . . 6 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 6 9. Normative References . . . . . . . . . . . . . . . . . . . . 6
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction 1. Introduction
The BGP Monitoring Protocol (BMP) is defined in RFC 7854 [RFC7854]. The BGP Monitoring Protocol (BMP) is defined in The Route Monitoring
message consists of: The Peer Down Notification message consists of:
The Route Monitoring message consists of: RFC 7854 [RFC7854].
o Common Header
o Per-Peer Header * Common Header
o BGP Update PDU * Per-Peer Header
The Peer Down Notification message consists of: * BGP Update PDU
o Common Header * Common Header
o Per-Peer Header * Per-Peer Header
o Reason * Reason
o Data (only if Reason code is 1, 2 or 3) * Data (only if Reason code is 1, 2 or 3)
This means that both Route Monitoring and Peer Down messages have a This means that both Route Monitoring and Peer Down messages have a
non-extensible format. In the Route Monitoring case, this is non-extensible format. In the Route Monitoring case, this is
limiting if wanting to transmit characteristics of transported NLRIs prevents the transmission of characteristics of transported NLRIs
(ie. to help stateless parsing) or to add vendor-specific data. In (e.g. to help with stateless parsing) or of vendor-specific data. In
the Peer Down case, this is limiting if matching TLVs sent with the the Peer Down case, this prevents matching with TLVs previously sent
Peer Up is desired. The proposal of this document is to bump the BMP with the Peer Up message. The proposal of this document is to bump
version, for backward compatibility, and allow all message types to the BMP version, for backward compatibility, and allow all message
provision for trailing TLV data. types to make provision for trailing TLV data.
2. Terminology 2. Terminology
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 BCP
14 RFC 2119 [RFC2119] RFC 8174 [RFC8174] when, and only when, they 14 RFC 2119 [RFC2119] RFC 8174 [RFC8174] when, and only when, they
appear in all capitals, as shown here. appear in all capitals, as shown here.
3. TLV encoding 3. TLV encoding
The TLV data type is already defined in Section 4.4 of [RFC7854] for 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: the Initiation and Peer Up message types. A TLV consists of:
o 2 octets of TLV Type, * 2 octets of TLV Type,
o 2 octets of TLV Length, * 2 octets of TLV Length,
o 0 or more octets of TLV Value. * 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 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) | | Type (2 octets) | Length (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Value (variable) ~ ~ Value (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1 Figure 1
TLVs SHOULD be sorted by their code point. Multiple TLVs of the same 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 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 the specific use-cases whether all, any, the first or the last TLV
should be considered. should be considered.
Route Monitoring messages may require per-NLRI TLVs, that is, there 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 may be a need to map TLVs to NLRIs contained in the BGP Update
message, for example, to express additional characteristics of a message, for example, to express additional characteristics of a
specific NLRI. For this purpose specifically, TLVs in Route specific NLRI. For this purpose specifically, TLVs in Route
skipping to change at page 4, line 18 skipping to change at page 4, line 18
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 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) | | Type (2 octets) | Length (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Index (2 octets) | | Index (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Value (variable) ~ ~ Value (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2 Figure 2
Of the BMP message types defined so far, indexed TLVs do apply only Of the BMP message types defined so far, indexed TLVs apply only to
to Route Monitoring messages and, for example, they do not apply to Route Monitoring messages and, for example, they do not apply to
Route Mirroring ones because the sender may not be aware of the Route Mirroring messages because the sender may not be aware of the
payload of the transported BGP Update message. payload of the transported BGP Update message.
4. BMP Message Format 4. BMP Message Format
4.1. Common Header 4.1. Common Header
Section 4.1 of [RFC7854] defines the Common Header. While the Section 4.1 of [RFC7854] defines the Common Header. While the
structure remains unaltered, the following two definitions are structure remains unaltered, the following two definitions are
changed: changed:
o Version: Indicates the BMP version. This is set to '4' for all * Version: Indicates the BMP version. This is set to '4' for all
messages. messages.
o Message Length: Total length of the message in bytes (including * Message Length: Total length of the message in bytes (including
headers, encapsulated BGP message and optional data) headers, encapsulated BGP message and optional data)
4.2. TLV data in Route Monitoring 4.2. TLV data in Route Monitoring
The Route Monitoring message type is defined in Section 4.6 of The Route Monitoring message type is defined in Section 4.6 of
[RFC7854]. The BGP Update PDU Section 4.3 of [RFC4271] MAY be [RFC7854]. The BGP Update PDU Section 4.3 of [RFC4271] MAY be
followed by TLV data. This document defines the following new code followed by TLV data. This document defines the following new code
points to help stateless parsing of BGP Update PDUs: points to help stateless parsing of BGP Update PDUs:
o Type = TBD1: the BGP Update PDU is encoded with support for the * Type = TBD1: the BGP Update PDU is encoded with support for the
4-octet AS number capability RFC 6793 [RFC6793], value MUST be 4-octet AS number capability RFC 6793 [RFC6793], length MUST be 1
boolean. and value MUST be 0 for false and 1 for true.
o Type = TBD2: the BGP Update PDU is encoded with the ADD-PATH * Type = TBD2: the BGP Update PDU is encoded with the ADD-PATH
capability RFC 7911 [RFC7911], value MUST be boolean. capability RFC 7911 [RFC7911], length MUST be 1 and value MUST be
0 for false and 1 for true.
o Type = TBD3: the BGP Update PDU is encoded with the Multiple * Type = TBD3: the BGP Update PDU is encoded with the Multiple
Labels capability RFC 8277 [RFC8277], value MUST be boolean. Labels capability RFC 8277 [RFC8277], length MUST be 1 and value
MUST be 0 for false and 1 for true.
4.3. TLV data in Peer Down 4.3. TLV data in Peer Down
The Peer Down Notification message type is defined in Section 4.9 of 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; [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 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 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 by TLV data. For all other Reason codes, TLV data MAY follow the
Reason field. Reason field.
4.4. TLV data in other BMP messages 4.4. TLV data in other BMP messages
All other message types defined in RFC7854 [RFC7854] do already All other message types defined in RFC7854 [RFC7854] already provide
provision for TLV data. It is RECOMMENDED that all future BMP for TLV data. It is RECOMMENDED that all future BMP message types
message types will provision for trailing TLV data. also provide for trailing TLV data.
5. Security Considerations 5. Error handling
When a BGP PDU is enclosed in BMP messages (always for Route
Monitoring messages, in some cases for Peer Down messages),
processing of optional trailing data is subject to proper decoding of
a well-formed BGP message.
Additionally, it is worth nothing that RFC8654 [RFC8654] permits BGP
Updates and other messages to grow to a length of 65535 octets. This
may cause a BMP PDU that attempts to encapsulate such long messages
to overflow.
6. Security Considerations
It is not believed that this document adds any additional security It is not believed that this document adds any additional security
considerations. considerations.
6. Operational Considerations 7. Operational Considerations
In Route Monitoring messages, the number of TLVs can be bound to the 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 amount of NLRIs carried in the BGP Update message. This may degrade
the packing of information in such messages and have specific impacts 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 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 that it should always be possible to disable such features to
mitigate their impact. mitigate their impact.
7. IANA Considerations 8. IANA Considerations
This document defines the following new TLV types for BMP Route This document requests the definition of two new registries "BMP
Monitoring and Peer Down messages (Section 4.2): Route Monitoring Information TLVs" and "BMP Peer Down Information
TLVs". As part of the "BMP Route Monitoring Information TLVs"
registry, the following new TLV types are defined (Section 4.2):
o Type = TBD1: Support for the 4-octet AS number capability. The * Type = TBD1: Support for the 4-octet AS number capability. The
value field contains a boolean value of 1 if the BGP Update PDU value field is set to 1 if the BGP Update PDU enclosed in the
enclosed in the Route Monitoring message was encoded according to Route Monitoring message was encoded according to the capability.
the capability.
o Type = TBD2: ADD-PATH capability. The value field contains a * Type = TBD2: ADD-PATH capability. The value field is set to 1 if
boolean value of 1 if the BGP Update PDU enclosed in the Route the BGP Update PDU enclosed in the Route Monitoring message was
Monitoring message was encoded according to the capability. encoded according to the capability.
o Type = TBD3: Multiple Labels capability. The value field contains * Type = TBD3: Multiple Labels capability. The value field is set
a boolean value of 1 if the BGP Update PDU enclosed in the Route to 1 if the BGP Update PDU enclosed in the Route Monitoring
Monitoring message was encoded according to the capability. message was encoded according to the capability.
8. Normative References 9. Normative References
[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>.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271, Border Gateway Protocol 4 (BGP-4)", RFC 4271,
DOI 10.17487/RFC4271, January 2006, DOI 10.17487/RFC4271, January 2006,
<https://www.rfc-editor.org/info/rfc4271>. <https://www.rfc-editor.org/info/rfc4271>.
skipping to change at page 6, line 44 skipping to change at page 7, line 13
<https://www.rfc-editor.org/info/rfc7911>. <https://www.rfc-editor.org/info/rfc7911>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8277] Rosen, E., "Using BGP to Bind MPLS Labels to Address [RFC8277] Rosen, E., "Using BGP to Bind MPLS Labels to Address
Prefixes", RFC 8277, DOI 10.17487/RFC8277, October 2017, Prefixes", RFC 8277, DOI 10.17487/RFC8277, October 2017,
<https://www.rfc-editor.org/info/rfc8277>. <https://www.rfc-editor.org/info/rfc8277>.
[RFC8654] Bush, R., Patel, K., and D. Ward, "Extended Message
Support for BGP", RFC 8654, DOI 10.17487/RFC8654, October
2019, <https://www.rfc-editor.org/info/rfc8654>.
Acknowledgements Acknowledgements
The authors would like to thank Jeff Haas, Camilo Cardona, Thomas The authors would like to thank Jeff Haas, Camilo Cardona, Thomas
Graf and Pierre Francois for their valuable input. The authors would Graf, Pierre Francois and Ben Maddison for their valuable input. The
also like to thank Greg Skinner for his review. authors would also like to thank Greg Skinner and Zongpeng Du for
their review.
Authors' Addresses Authors' Addresses
Paolo Lucente Paolo Lucente
NTT NTT
Siriusdreef 70-72 Siriusdreef 70-72
Hoofddorp, WT 2132 2132 Hoofddorp
NL Netherlands
Email: paolo@ntt.net Email: paolo@ntt.net
Yunan Gu Yunan Gu
Huawei Huawei
Huawei Bld., No.156 Beiqing Rd. Huawei Bld., No.156 Beiqing Rd.
Beijing 100095 Beijing
100095
China China
Email: guyunan@huawei.com Email: guyunan@huawei.com
 End of changes. 41 change blocks. 
88 lines changed or deleted 105 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/