idnits 2.17.1 draft-ietf-grow-bmp-tlv-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- -- The draft header indicates that this document updates RFC7854, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document date (27 July 2021) is 1004 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Global Routing Operations P. Lucente 3 Internet-Draft NTT 4 Updates: 7854 (if approved) Y. Gu 5 Intended status: Standards Track Huawei 6 Expires: 28 January 2022 27 July 2021 8 TLV support for BMP Route Monitoring and Peer Down Messages 9 draft-ietf-grow-bmp-tlv-05 11 Abstract 13 Most of the message types defined by the BGP Monitoring Protocol 14 (BMP) do provision for optional trailing data. However, Route 15 Monitoring messages (to provide a snapshot of the monitored Routing 16 Information Base) and Peer Down messages (to indicate that a peering 17 session was terminated) do not. Supporting optional data in TLV 18 format across all BMP message types allows for an homogeneous and 19 extensible surface that would be useful for the most different use- 20 cases that need to convey additional data to a BMP station. While it 21 is not intended for this document to cover any specific utilization 22 scenario, it defines a simple way to support optional TLV data in all 23 message types. 25 Status of This Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at https://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on 28 January 2022. 42 Copyright Notice 44 Copyright (c) 2021 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 49 license-info) in effect on the date of publication of this document. 50 Please review these documents carefully, as they describe your rights 51 and restrictions with respect to this document. Code Components 52 extracted from this document must include Simplified BSD License text 53 as described in Section 4.e of the Trust Legal Provisions and are 54 provided without warranty as described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 60 3. TLV encoding . . . . . . . . . . . . . . . . . . . . . . . . 3 61 4. BMP Message Format . . . . . . . . . . . . . . . . . . . . . 4 62 4.1. Common Header . . . . . . . . . . . . . . . . . . . . . . 4 63 4.2. TLV data in Route Monitoring . . . . . . . . . . . . . . 4 64 4.3. TLV data in Peer Down . . . . . . . . . . . . . . . . . . 5 65 4.4. TLV data in other BMP messages . . . . . . . . . . . . . 5 66 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 67 6. Operational Considerations . . . . . . . . . . . . . . . . . 5 68 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 69 8. Normative References . . . . . . . . . . . . . . . . . . . . 6 70 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 6 71 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 73 1. Introduction 75 The BGP Monitoring Protocol (BMP) is defined in The Route Monitoring 76 message consists of: The Peer Down Notification message consists of: 77 RFC 7854 [RFC7854]. 79 * Common Header 81 * Per-Peer Header 83 * BGP Update PDU 85 * Common Header 87 * Per-Peer Header 89 * Reason 91 * Data (only if Reason code is 1, 2 or 3) 92 This means that both Route Monitoring and Peer Down messages have a 93 non-extensible format. In the Route Monitoring case, this is 94 limiting if wanting to transmit characteristics of transported NLRIs 95 (ie. to help stateless parsing) or to add vendor-specific data. In 96 the Peer Down case, this is limiting if matching TLVs sent with the 97 Peer Up is desired. The proposal of this document is to bump the BMP 98 version, for backward compatibility, and allow all message types to 99 provision for trailing TLV data. 101 2. Terminology 103 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 104 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 105 "OPTIONAL" in this document are to be interpreted as described in BCP 106 14 RFC 2119 [RFC2119] RFC 8174 [RFC8174] when, and only when, they 107 appear in all capitals, as shown here. 109 3. TLV encoding 111 The TLV data type is already defined in Section 4.4 of [RFC7854] for 112 the Initiation and Peer Up message types. A TLV consists of: 114 * 2 octets of TLV Type, 116 * 2 octets of TLV Length, 118 * 0 or more octets of TLV Value. 120 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 121 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 122 | Type (2 octets) | Length (2 octets) | 123 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 124 ~ Value (variable) ~ 125 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 127 Figure 1 129 TLVs SHOULD be sorted by their code point. Multiple TLVs of the same 130 type can be repeated as part of the same message, and it is left to 131 the specific use-cases whether all, any, the first or the last TLV 132 should be considered. 134 Route Monitoring messages may require per-NLRI TLVs, that is, there 135 may be a need to map TLVs to NLRIs contained in the BGP Update 136 message, for example, to express additional characteristics of a 137 specific NLRI. For this purpose specifically, TLVs in Route 138 Monitoring messages can be optionally indexed, with the index 139 starting at zero to refer to the first NLRI, and encoded as in the 140 following figure: 142 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 143 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 144 | Type (2 octets) | Length (2 octets) | 145 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 146 | Index (2 octets) | 147 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 148 ~ Value (variable) ~ 149 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 151 Figure 2 153 Of the BMP message types defined so far, indexed TLVs do apply only 154 to Route Monitoring messages and, for example, they do not apply to 155 Route Mirroring ones because the sender may not be aware of the 156 payload of the transported BGP Update message. 158 4. BMP Message Format 160 4.1. Common Header 162 Section 4.1 of [RFC7854] defines the Common Header. While the 163 structure remains unaltered, the following two definitions are 164 changed: 166 * Version: Indicates the BMP version. This is set to '4' for all 167 messages. 169 * Message Length: Total length of the message in bytes (including 170 headers, encapsulated BGP message and optional data) 172 4.2. TLV data in Route Monitoring 174 The Route Monitoring message type is defined in Section 4.6 of 175 [RFC7854]. The BGP Update PDU Section 4.3 of [RFC4271] MAY be 176 followed by TLV data. This document defines the following new code 177 points to help stateless parsing of BGP Update PDUs: 179 * Type = TBD1: the BGP Update PDU is encoded with support for the 180 4-octet AS number capability RFC 6793 [RFC6793], value MUST be 181 boolean. 183 * Type = TBD2: the BGP Update PDU is encoded with the ADD-PATH 184 capability RFC 7911 [RFC7911], value MUST be boolean. 186 * Type = TBD3: the BGP Update PDU is encoded with the Multiple 187 Labels capability RFC 8277 [RFC8277], value MUST be boolean. 189 4.3. TLV data in Peer Down 191 The Peer Down Notification message type is defined in Section 4.9 of 192 [RFC7854]. For Reason codes 1 or 3, a BGP Notification PDU follows; 193 the PDU MAY be followed by TLV data. For Reason code 2, a 2-byte 194 field to give additional FSM info follows; this field MAY be followed 195 by TLV data. For all other Reason codes, TLV data MAY follow the 196 Reason field. 198 4.4. TLV data in other BMP messages 200 All other message types defined in RFC7854 [RFC7854] do already 201 provision for TLV data. It is RECOMMENDED that all future BMP 202 message types will provision for trailing TLV data. 204 5. Security Considerations 206 It is not believed that this document adds any additional security 207 considerations. 209 6. Operational Considerations 211 In Route Monitoring messages, the number of TLVs can be bound to the 212 amount of NLRIs carried in the BGP Update message. This may degrade 213 the packing of information in such messages and have specific impacts 214 on the memory and CPU used in a BMP implementation. As a result of 215 that it should always be possible to disable such features to 216 mitigate their impact. 218 7. IANA Considerations 220 This document defines the following new TLV types for BMP Route 221 Monitoring and Peer Down messages (Section 4.2): 223 * Type = TBD1: Support for the 4-octet AS number capability. The 224 value field contains a boolean value of 1 if the BGP Update PDU 225 enclosed in the Route Monitoring message was encoded according to 226 the capability. 228 * Type = TBD2: ADD-PATH capability. The value field contains a 229 boolean value of 1 if the BGP Update PDU enclosed in the Route 230 Monitoring message was encoded according to the capability. 232 * Type = TBD3: Multiple Labels capability. The value field contains 233 a boolean value of 1 if the BGP Update PDU enclosed in the Route 234 Monitoring message was encoded according to the capability. 236 8. Normative References 238 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 239 Requirement Levels", BCP 14, RFC 2119, 240 DOI 10.17487/RFC2119, March 1997, 241 . 243 [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A 244 Border Gateway Protocol 4 (BGP-4)", RFC 4271, 245 DOI 10.17487/RFC4271, January 2006, 246 . 248 [RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet 249 Autonomous System (AS) Number Space", RFC 6793, 250 DOI 10.17487/RFC6793, December 2012, 251 . 253 [RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP 254 Monitoring Protocol (BMP)", RFC 7854, 255 DOI 10.17487/RFC7854, June 2016, 256 . 258 [RFC7911] Walton, D., Retana, A., Chen, E., and J. Scudder, 259 "Advertisement of Multiple Paths in BGP", RFC 7911, 260 DOI 10.17487/RFC7911, July 2016, 261 . 263 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 264 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 265 May 2017, . 267 [RFC8277] Rosen, E., "Using BGP to Bind MPLS Labels to Address 268 Prefixes", RFC 8277, DOI 10.17487/RFC8277, October 2017, 269 . 271 Acknowledgements 273 The authors would like to thank Jeff Haas, Camilo Cardona, Thomas 274 Graf and Pierre Francois for their valuable input. The authors would 275 also like to thank Greg Skinner for his review. 277 Authors' Addresses 278 Paolo Lucente 279 NTT 280 Siriusdreef 70-72 281 2132 Hoofddorp 282 Netherlands 284 Email: paolo@ntt.net 286 Yunan Gu 287 Huawei 288 Huawei Bld., No.156 Beiqing Rd. 289 Beijing 290 100095 291 China 293 Email: guyunan@huawei.com