idnits 2.17.00 (12 Aug 2021) /tmp/idnits49257/draft-zzhang-idr-bitmask-route-target-01.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (21 April 2021) is 388 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) == Outdated reference: A later version (-07) exists of draft-ietf-idr-wide-bgp-communities-05 == Outdated reference: A later version (-02) exists of draft-zzhang-idr-bgp-rt-constrains-extension-01 Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 idr Z. Zhang 3 Internet-Draft S. Sangli 4 Intended status: Standards Track J. Haas 5 Expires: 23 October 2021 Juniper Networks 6 21 April 2021 8 Bitmask Route Target 9 draft-zzhang-idr-bitmask-route-target-01 11 Abstract 13 This document specifies a new type of Route Target called Bitmask 14 Route Target as a BGP Community Container. The key element of a 15 Bitmask Route Target is a Bitmask. Two Bitmask Route Targets are 16 considered equivalent for the purpose of controlling route 17 propagation (via Route Target Constraints) and importation if the 18 result of logical "AND" operation of the Bitmask of the two is non- 19 zero. 21 Requirements Language 23 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 24 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 25 "OPTIONAL" in this document are to be interpreted as described in BCP 26 14 [RFC2119] [RFC8174] when, and only when, they appear in all 27 capitals, as shown here. 29 Status of This Memo 31 This Internet-Draft is submitted in full conformance with the 32 provisions of BCP 78 and BCP 79. 34 Internet-Drafts are working documents of the Internet Engineering 35 Task Force (IETF). Note that other groups may also distribute 36 working documents as Internet-Drafts. The list of current Internet- 37 Drafts is at https://datatracker.ietf.org/drafts/current/. 39 Internet-Drafts are draft documents valid for a maximum of six months 40 and may be updated, replaced, or obsoleted by other documents at any 41 time. It is inappropriate to use Internet-Drafts as reference 42 material or to cite them other than as "work in progress." 44 This Internet-Draft will expire on 23 October 2021. 46 Copyright Notice 48 Copyright (c) 2021 IETF Trust and the persons identified as the 49 document authors. All rights reserved. 51 This document is subject to BCP 78 and the IETF Trust's Legal 52 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 53 license-info) in effect on the date of publication of this document. 54 Please review these documents carefully, as they describe your rights 55 and restrictions with respect to this document. Code Components 56 extracted from this document must include Simplified BSD License text 57 as described in Section 4.e of the Trust Legal Provisions and are 58 provided without warranty as described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 63 2. Specification . . . . . . . . . . . . . . . . . . . . . . . . 3 64 2.1. Matching Semantics . . . . . . . . . . . . . . . . . . . 3 65 3. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 4 66 4. Security Considerations . . . . . . . . . . . . . . . . . . . 4 67 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 68 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 69 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 70 7.1. Normative References . . . . . . . . . . . . . . . . . . 6 71 7.2. Informative References . . . . . . . . . . . . . . . . . 7 72 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 74 1. Introduction 76 The importation and propagation of BGP routes can be controlled using 77 Route Targets [RFC4364] and Constrained Route Target Distribution 78 (RT-C) [RFC4684]. RT-C relies on matching a Route Target prefix. 79 The typical matching use case is the full 8-octet encoding of the 80 Route Target Extended Community. 82 For some applications, it's desirable to have a Route Target with the 83 semantic of a bit-string. For such situations and it may be 84 desirable to match such bit-string Route Targets that have specific 85 bits set. This document defines a new type of Route Target for that 86 purpose. 88 An example use case of this Bitmask Route Target is documented in 89 [I-D.zzhang-teas-network-slicing-with-flex-te]. 91 The use of Bitmask Route Target with Constrained Route Target 92 Distribution is specified separately in 93 [I-D.zzhang-idr-bgp-rt-constrains-extension]. 95 2. Specification 97 The Bitmask Route Target is a Transitive BGP Community Container of 98 type TBD1 [I-D.ietf-idr-wide-bgp-communities]. 100 The semantics of Global Administrator and Local Administor are 101 identical to those in [RFC4360]. 103 The container's contents is a series of Bitmask Route Targets. Each 104 Bitmask Route Target includes a 1-octet Global Administrator (GA) 105 Type, a 1-octet GA Sub-Type, 1-octet GA Length, a variable length GA, 106 a 4-octet Local Administrator (LA), a 1-octet Bitmask Length in 107 number of octets, and a variable length Bitmask. 109 0 1 2 3 110 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 111 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 112 | GA Type | GA Sub-Type | GA Length | 113 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 114 | Global Administrator (variable length) ~ 115 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 116 | Local Administrator | 117 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 118 | Bitmask Length | 119 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 120 ~ Bitmask (variable length) ~ 121 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 123 The following GA Types and corresponding lengths are defined in this 124 document: 126 1: AS Number, 4-octets 128 2: IPv4 Address, 4-octets 130 3: IPv6 Address, 16-octets 132 The follow GA Sub-Types are defined in this document: 134 2: Route-Target 136 2.1. Matching Semantics 138 A Bitmask Route Target, A, is considered to match Bitmask Route 139 Target, B, for the purpose of controlling propagation and importation 140 of a route with an attached Bitmask Route Target B if the following 141 conditions are met: 143 * The GA Type, GA Sub-Type, GA Length, GA, and LA fields in A and B 144 match. 146 * Either: 148 - The Bitmask Length of A is 0. In other words, "match all". 150 - The result of the logical "AND" operation of the Bitmask field 151 in A and B is not 0. When A and B have different Bitmask 152 Lengths, the shorter Route Target's Bitmask is considered to be 153 padded with zeroes for match purposes vs. the longer one. 155 3. Error Handling 157 A Bitmask Route Target MUST NOT be originated with a RESERVED GA 158 Type. Implementations receiving BGP Routes with a RESERVED Bitmask 159 Route Target MUST check its syntactic correctness and MAY silently 160 discard it. 162 A Bitmask Route Target SHOULD NOT be originated with a Bitmask Length 163 of 0. 165 A Bitmask Route Target is considered malformed if: 167 * The length of the Bitmask Route Target is less than the minimum 168 length of 8: 1-octet GA Type, 1-octet GA Sub-Type, 1-octet GA 169 Length, 0-length GA, 4-octet LA, 0-octet Bitmask. 171 * The Bitmask Route Target GA Type is known by the implementation 172 and the GA Length is incorrect vs. the registered GA Type. 174 * The total computed length of the Bitmask Route Targets in a BGP 175 Community Container is not identical to the BGP Community 176 Container Length. Each Bitmask Route Target's computed length is: 177 1-octet GA Type, 1-octet GA Length field, N-octet GA Length value, 178 4-octet LA field, 1-octet Bitmask Length, N-octet Bitmask Length 179 value. 181 BGP Updates containing malformed Bitmask Route Targets should use the 182 Treat-as-withdraw behavior for the routes in the Update according to 183 [RFC7606]. 185 4. Security Considerations 187 This document does not change security aspects as discussed in 188 [RFC4364] and [I-D.ietf-idr-wide-bgp-communities]. 190 5. IANA Considerations 192 This document requests IANA to assign a BGP Community Container Type 193 for the Bitmask Route Target from the "BGP Community Container Types" 194 registry for TBD1. 196 This document requests IANA to setup a "Bitmask Route Target Global 197 Administrator Type Registry". The initial allocation and policy for 198 this registry is: 200 +==========+========================+================+===========+ 201 | GA Type | GA Type Name | GA Type Length | Reference | 202 | | | (octets) | | 203 +==========+========================+================+===========+ 204 | 0 | RESERVED | UNSPECIFIED | This | 205 | | | | document | 206 +----------+------------------------+----------------+-----------+ 207 | 1 | AS Number | 4 | This | 208 | | | | document | 209 +----------+------------------------+----------------+-----------+ 210 | 2 | IPv4 Address | 4 | This | 211 | | | | document | 212 +----------+------------------------+----------------+-----------+ 213 | 3 | IPv6 Address | 16 | This | 214 | | | | document | 215 +----------+------------------------+----------------+-----------+ 216 | 4..127 | Available, | TBD | - | 217 | | Specification Required | | | 218 +----------+------------------------+----------------+-----------+ 219 | 128..254 | Available, First Come, | TBD | - | 220 | | First Served | | | 221 +----------+------------------------+----------------+-----------+ 222 | 255 | RESERVED | UNSPECIFIED | This | 223 | | | | document | 224 +----------+------------------------+----------------+-----------+ 226 Table 1: Bitmask Route Target GA-Type Registry 228 This document requests IANA to setup a "Bitmask Route Target Global 229 Administrator Sub-Type Registry". The initial allocation and policy 230 for this registry is: 232 +=============+=====================================+===============+ 233 | GA Sub-Type | GA Sub-Type Name | Reference | 234 +=============+=====================================+===============+ 235 | 0 | RESERVED | This document | 236 +-------------+-------------------------------------+---------------+ 237 | 1 | Available, Specification Required | - | 238 +-------------+-------------------------------------+---------------+ 239 | 2 | Route-Target | This document | 240 +-------------+-------------------------------------+---------------+ 241 | 3..127 | Available, Specification Required | - | 242 +-------------+-------------------------------------+---------------+ 243 | 128..254 | Available, First Come, First | - | 244 | | Served | | 245 +-------------+-------------------------------------+---------------+ 246 | 255 | RESERVED | This document | 247 +-------------+-------------------------------------+---------------+ 249 Table 2: Bitmask Route Target GA-Sub-Type Registry 251 6. Acknowledgements 253 The authors thank John Scudder for his comments and suggestions. 255 7. References 257 7.1. Normative References 259 [I-D.ietf-idr-wide-bgp-communities] 260 Raszuk, R., Haas, J., Lange, A., Decraene, B., Amante, S., 261 and P. Jakma, "BGP Community Container Attribute", Work in 262 Progress, Internet-Draft, draft-ietf-idr-wide-bgp- 263 communities-05, 2 July 2018, . 267 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 268 Requirement Levels", BCP 14, RFC 2119, 269 DOI 10.17487/RFC2119, March 1997, 270 . 272 [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. 273 Patel, "Revised Error Handling for BGP UPDATE Messages", 274 RFC 7606, DOI 10.17487/RFC7606, August 2015, 275 . 277 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 278 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 279 May 2017, . 281 7.2. Informative References 283 [I-D.zzhang-idr-bgp-rt-constrains-extension] 284 Zhang, Z. and J. Haas, "Generic Route Constraint 285 Distribution Mechanism for BGP", Work in Progress, 286 Internet-Draft, draft-zzhang-idr-bgp-rt-constrains- 287 extension-01, 11 January 2021, . 291 [I-D.zzhang-teas-network-slicing-with-flex-te] 292 Zhang, Z., Hegde, S., and A. Gulko, "Network Slicing with 293 Flexible Traffic Engineering", Work in Progress, Internet- 294 Draft, draft-zzhang-teas-network-slicing-with-flex-te-00, 295 13 July 2020, . 298 [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended 299 Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, 300 February 2006, . 302 [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private 303 Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February 304 2006, . 306 [RFC4684] Marques, P., Bonica, R., Fang, L., Martini, L., Raszuk, 307 R., Patel, K., and J. Guichard, "Constrained Route 308 Distribution for Border Gateway Protocol/MultiProtocol 309 Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual 310 Private Networks (VPNs)", RFC 4684, DOI 10.17487/RFC4684, 311 November 2006, . 313 Authors' Addresses 315 Zhaohui Zhang 316 Juniper Networks 318 Email: zzhang@juniper.net 320 Srihari Sangli 321 Juniper Networks 323 Email: ssangli@juniper.net 324 Jeffrey Haas 325 Juniper Networks 327 Email: jhaas@juniper.net