draft-ietf-grow-bmp-tlv-02.txt   draft-ietf-grow-bmp-tlv-03.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: September 10, 2020 H. Smit Expires: March 13, 2021 H. Smit
Independent Independent
March 9, 2020 September 9, 2020
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-02 draft-ietf-grow-bmp-tlv-03
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) do provision for optional trailing data. However, Route
Monitoring messages (to provide a snapshot of the monitored Routing Monitoring messages (to provide a snapshot of the monitored Routing
Information Base) and Peer Down messages (to indicate that a peering Information Base) and Peer Down messages (to indicate that a peering
session was terminated) do not. Supporting optional data in TLV session was terminated) do not. Supporting optional data in TLV
format across all BMP message types allows for an homogeneous and format across all BMP message types allows for an homogeneous and
extensible surface that would be useful for the most different use- extensible surface that would be useful for the most different use-
skipping to change at page 1, line 43 skipping to change at page 1, line 43
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 September 10, 2020. This Internet-Draft will expire on March 13, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 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/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 23 skipping to change at page 2, line 23
described in the Simplified 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 . . . . . . . . . . . . . . . . . . 4 4.3. TLV data in Peer Down . . . . . . . . . . . . . . . . . . 5
4.4. TLV data in other BMP messages . . . . . . . . . . . . . 4 4.4. TLV data in other BMP messages . . . . . . . . . . . . . 5
5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
7. Normative References . . . . . . . . . . . . . . . . . . . . 5 7. Normative References . . . . . . . . . . . . . . . . . . . . 6
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 6 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 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 RFC 7854 [RFC7854].
The Route Monitoring message consists of: The Route Monitoring message consists of:
o Common Header o Common Header
o Per-Peer Header o Per-Peer Header
skipping to change at page 3, line 6 skipping to change at page 3, line 6
o Common Header o Common Header
o Per-Peer Header o Per-Peer Header
o Reason o Reason
o Data (only if Reason code is 1, 2 or 3) o 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 transmitting characteristics of transported NLRIs is limiting if wanting to transmit characteristics of transported NLRIs
desired (ie. to help stateless parsing) or vendor-specific data. In (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 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 Peer Up is desired. The proposal of this document is to bump the BMP
version, for backward compatibility, and allow all message types to version, for backward compatibility, and allow all message types to
provision for trailing TLV data. 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
skipping to change at page 3, line 36 skipping to change at page 3, line 36
o 2 octets of TLV Type, o 2 octets of TLV Type,
o 2 octets of TLV Length, o 2 octets of TLV Length,
o 0 or more octets of TLV Value. 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 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, between, 0 and 65535 octets) | ~ 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.
TLVs can be recursive and include sub-TLVs as their value. TLVs can be recursive and include sub-TLVs as their value. This
approach can be useful to build container TLVs to better isolate a
group of TLVs for the same function from TLVs meant for different
functions. This scheme SHOULD be used whenever a certain function
requires a specific mapping related to the order of NLRIs contained
in the Route Monitor BGP message. Here below an example of a TLV for
fictional function 'FuncA' containing two sub-TLV types, 'X' and 'Y':
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 FuncA (2 octets) | Length (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-Type X (2 octets) | Length (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Value (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-Type Y (2 octets) | Length (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Value (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-Type X (2 octets) | Length (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Value (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-Type Y (2 octets) | Length (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Value (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2
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 o Version: Indicates the BMP version. This is set to '4' for all
messages. messages.
o Message Length: Length of the message in bytes (including headers, o Message Length: Total length of the message in bytes (including
data, encapsulated messages and TLV data, if any) 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 codes followed by TLV data. This document defines the following new code
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 o 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], value MUST be
boolean. boolean.
o Type = TBD2: the BGP Update PDU is encoded with the ADD-PATH o Type = TBD2: the BGP Update PDU is encoded with the ADD-PATH
capability RFC 7911 [RFC7911], value MUST be boolean. capability RFC 7911 [RFC7911], value MUST be boolean.
o Type = TBD3: the BGP Update PDU is encoded with the Multiple o 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], value MUST be boolean.
skipping to change at page 6, line 20 skipping to change at page 6, line 46
[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>.
Acknowledgements Acknowledgements
The authors would like to thank Jeff Haas for his valuable input. The authors would like to thank Jeff Haas and Camilo Cardona for
The authors would also like to thank Greg Skinner for his review. their valuable input. The authors would also like to thank Greg
Skinner for his review.
Authors' Addresses Authors' Addresses
Paolo Lucente Paolo Lucente
NTT NTT
Siriusdreef 70-72 Siriusdreef 70-72
Hoofddorp, WT 2132 Hoofddorp, WT 2132
NL NL
Email: paolo@ntt.net Email: paolo@ntt.net
 End of changes. 13 change blocks. 
18 lines changed or deleted 48 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/