idnits 2.17.1 draft-ietf-ospf-encapsulation-cap-03.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 (May 19, 2017) is 2533 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) ** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126) == Outdated reference: A later version (-08) exists of draft-ietf-bier-architecture-06 == Outdated reference: A later version (-12) exists of draft-ietf-bier-mpls-encapsulation-06 == Outdated reference: A later version (-22) exists of draft-ietf-idr-tunnel-encaps-04 == Outdated reference: A later version (-13) exists of draft-ietf-nvo3-vxlan-gpe-04 == Outdated reference: A later version (-04) exists of draft-xu-mpls-unified-source-routing-instruction-00 -- Obsolete informational reference (is this intentional?): RFC 5512 (Obsoleted by RFC 9012) -- Obsolete informational reference (is this intentional?): RFC 5566 (Obsoleted by RFC 9012) Summary: 1 error (**), 0 flaws (~~), 6 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 OSPF Working Group X. Xu, Ed. 3 Internet-Draft Huawei 4 Intended status: Standards Track B. Decraene, Ed. 5 Expires: November 20, 2017 Orange 6 R. Raszuk 7 Bloomberg LP 8 L. Contreras 9 Telefonica I+D 10 L. Jalil 11 Verizon 12 May 19, 2017 14 Advertising Tunneling Capability in OSPF 15 draft-ietf-ospf-encapsulation-cap-03 17 Abstract 19 Networks use tunnels for a variety of reasons. A large variety of 20 tunnel types are defined and the ingress needs to select a type of 21 tunnel which is supported by the egress and itself. This document 22 defines how to advertise egress tunnel capabilities in OSPF Router 23 Information Link State Advertisement (LSAs). 25 Requirements Language 27 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 28 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 29 document are to be interpreted as described in RFC 2119 [RFC2119]. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at http://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on November 20, 2017. 48 Copyright Notice 50 Copyright (c) 2017 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (http://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 66 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 67 3. Advertising Encapsulation Capability . . . . . . . . . . . . 3 68 4. Tunnel Encapsulation Type . . . . . . . . . . . . . . . . . . 3 69 5. Tunnel Encapsulation Attribute . . . . . . . . . . . . . . . 5 70 5.1. Encapsulation Sub-TLV . . . . . . . . . . . . . . . . . . 6 71 5.2. Protocol Type Sub-TLV . . . . . . . . . . . . . . . . . . 6 72 5.3. Endpoint Sub-TLV . . . . . . . . . . . . . . . . . . . . 6 73 5.4. Color Sub-TLV . . . . . . . . . . . . . . . . . . . . . . 6 74 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 75 6.1. OSPF Router Information . . . . . . . . . . . . . . . . . 6 76 6.2. IGP Tunnel Encapsulation Types Registry . . . . . . . . . 6 77 6.3. IGP Tunnel Encapsulation Attribute Types Registry . . . . 7 78 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 79 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 8 80 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 81 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 82 10.1. Normative References . . . . . . . . . . . . . . . . . . 8 83 10.2. Informative References . . . . . . . . . . . . . . . . . 9 84 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 86 1. Introduction 88 Networks use tunnels for a variety of reasons, such as: 90 o Partial deployment of MPLS-SPRING as described in 91 [I-D.xu-mpls-unified-source-routing-instruction], where IP tunnels 92 are used between MPLS-SPRING-enabled routers to traverse non-MPLS 93 routers. 95 o Partial deployment of MPLS-BIER as described in 96 [I-D.ietf-bier-architecture], where IP tunnels are used between 97 MPLS-BIER-capable routers to traverse non MPLS-BIER 98 [I-D.ietf-bier-mpls-encapsulation] routers. 100 o Partial deployment of IPv6 in IPv4 networks or IPv6 in IPv4 101 networks as described in [RFC5565], where IPvx tunnels are used 102 between IPvx-enabled routers so as to traverse non-IPvx routers. 104 o Remote Loop-Free Alternate (RLFA) repair tunnels as described in 105 [RFC7490], where tunnels are used between the Point of Local 106 Repair and the selected PQ node. 108 The ingress needs to select a type of tunnel which is supported by 109 the egress and itself. This document describes how to use OSPF 110 Router Information Link State Advertisements (LSAs) to advertise the 111 egress tunneling capabilities of OSPF routers. In this document, 112 OSPF refers to both OSPFv2 and OSPFv3. 114 2. Terminology 116 This memo makes use of the terms defined in [RFC7770]. 118 3. Advertising Encapsulation Capability 120 Routers advertise their supported encapsulation type(s) by 121 advertising a new TLV of the OSPF Router Information (RI) Opaque LSA 122 [RFC7770], referred to as the Encapsulation Capability TLV. This TLV 123 is applicable to both OSPFv2 and OSPFv3. The Encapsulation 124 Capability TLV SHOULD NOT appear more than once within a given OSPF 125 Router Information (RI) Opaque LSA. If the Encapsulation Capability 126 TLV appears more than once in an OSPF Router Information LSA, only 127 the first occurrence MUST be processed and others MUST be ignored. 128 The scope of the advertisement depends on the application but it is 129 recommended that it SHOULD be domain- wide. The Type code of the 130 Encapsulation Capability TLV is TBD1, the Length value is variable, 131 and the Value field contains one or more Tunnel Encapsulation Type 132 Sub-TLVs. Each Encapsulation Type Sub-TLVs indicates a particular 133 encapsulation format that the advertising router supports. 135 4. Tunnel Encapsulation Type 137 The Tunnel Encapsulation Type Sub-TLV is structured as follows: 139 0 1 2 3 140 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 141 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 142 | Tunnel Type (2 Octets) | Length (2 Octets) | 143 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 144 | | 145 | Sub-TLVs | 146 | | 147 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 149 Tunnel Type (2 octets): Identifies the type of tunneling 150 technology being signaled. This document defines the following 151 types: 153 1. L2TPv3 over IP [RFC3931] : Type code=1; 155 2. GRE [RFC2784] : Type code=2; 157 3. Transmit tunnel endpoint [RFC5566] : Type code=3; 159 4. IPsec in Tunnel-mode [RFC5566] : Type code=4; 161 5. IP-in-IP tunnel with IPsec Transport Mode [RFC5566] : Type 162 code=5; 164 6. MPLS-in-IP tunnel with IPsec Transport Mode [RFC5566] : Type 165 code=6; 167 7. IP-in-IP [RFC2003] [RFC4213]: Type code=7; 169 8. VXLAN [RFC7348] : Type code=8; 171 9. NVGRE [RFC7637] : Type code=9; 173 10. MPLS [RFC3032] : Type code=10; 175 11. MPLS-in-GRE [RFC4023] : Type code=11; 177 12. VXLAN GPE [I-D.ietf-nvo3-vxlan-gpe] : Type code=12; 179 13. MPLS-in-UDP [RFC7510] : Type code=13; 181 14. MPLS-in-UDP-with-DTLS [RFC7510] : Type code=14; 183 15. MPLS-in-L2TPv3 [RFC4817] : Type code=15; 185 16. GTP: Type code=16; 186 Unknown types are to be ignored and skipped upon receipt. 188 Length (2 octets): Unsigned 16-bit integer indicating the total 189 number of octets of the value field. 191 Value (variable): Zero or more Tunnel Encapsulation Attribute Sub- 192 TLVs as defined in Section 5. 194 5. Tunnel Encapsulation Attribute 196 The Tunnel Encapsulation Attribute Sub-TLV is structured as follows: 198 +-----------------------------------+ 199 | Sub-TLV Type (1 Octet) | 200 +-----------------------------------+ 201 | Sub-TLV Length (1 Octet) | 202 +-----------------------------------+ 203 | Sub-TLV Value (Variable) | 204 | | 205 +-----------------------------------+ 207 Sub-TLV Type (1 octet): Each Sub-TLV type defines a certain 208 property of the tunnel TLV that contains this Sub-TLV. The 209 following are the types defined in this document: 211 1. Encapsulation: Sub-TLV type = 1; (See Section 5.1) 213 2. Protocol Type: Sub-TLV type = 2; (See Section 5.2) 215 3. Endpoint: Sub-TLV type = 3; (See Section 5.3) 217 4. Color: Sub-TLV type = 4; (See Section 5.4) 219 Sub-TLV Length (1 octet): Unsigned 8-bit integer indicating the 220 total number of octets of the Sub-TLV value field. 222 Sub-TLV Value (variable): Encodings of the value field depend on 223 the Sub-TLV type as enumerated above. The following sub-sections 224 define the encoding in detail. 226 Any unknown Sub-TLVs MUST be ignored and skipped upon receipt. 227 However, if the TLV is understood, the entire TLV MUST NOT be ignored 228 just because it contains an unknown Sub-TLV. 230 If a Sub-TLV is invalid, this specific Tunnel Encapsulation MUST be 231 ignored and skipped. However, other Tunnel Encapsulations MUST be 232 considered. 234 5.1. Encapsulation Sub-TLV 236 This Sub-TLV has its format defined in [RFC5512] and 237 [I-D.ietf-idr-tunnel-encaps] under the name Encapsulation Sub-TLV. 239 5.2. Protocol Type Sub-TLV 241 This Sub-TLV has its format defined in [RFC5512] and 242 [I-D.ietf-idr-tunnel-encaps] under the name Protocol Type. 244 5.3. Endpoint Sub-TLV 246 The value field carries the Network Address to be used as tunnel 247 destination address. 249 If length is 4, the tunnel endpoint is an IPv4 address. 251 If length is 16, the tunnel endpoint is an IPv6 address. 253 5.4. Color Sub-TLV 255 The valued field is a 4-octet opaque unsigned integer. 257 The color value is user defined and configured locally on the 258 advertising routers. It may be used by service providers to define 259 policies. 261 6. IANA Considerations 263 6.1. OSPF Router Information 265 This document requests IANA to allocate a new code point from the 266 OSPF Router Information (RI) registry. 268 Value TLV Name Reference 269 ----- ------------------------------------ ------------- 270 TBD1 Tunnel Capabilities This document 272 6.2. IGP Tunnel Encapsulation Types Registry 274 This document requests IANA to create a new registry "IGP Tunnel 275 Encapsulation Types" with the following registration procedure: 277 Registry Name: IGP Tunnel Encapsulation Type 279 Value Name Reference 280 ------- ------------------------------------------ ------------- 281 0 Reserved This document 282 1 L2TPv3 over IP This document 283 2 GRE This document 284 3 Transmit tunnel endpoint This document 285 4 IPsec in Tunnel-mode This document 286 5 IP-in-IP tunnel with IPsec Transport Mode This document 287 6 MPLS-in-IP tunnel with IPsec Transport Mode This document 288 7 IP-in-IP This document 289 8 VXLAN This document 290 9 NVGRE This document 291 10 MPLS This document 292 11 MPLS-in-GRE This document 293 12 VXLAN-GPE This document 294 13 MPLS-in-UDP This document 295 14 MPLS-in-UDP-with-DTLS This document 296 15 MPLS-in-L2TPv3 This document 297 16 GTP This document 298 17-250 Unassigned 299 251-254 Experimental This document 300 255 Reserved This document 302 Assignments of Encapsulation Types are via Standards Action 303 [RFC5226]. 305 6.3. IGP Tunnel Encapsulation Attribute Types Registry 307 This document requests IANA to create a new registry "IGP Tunnel 308 Encapsulation Attribute Types" with the following registration 309 procedure: 311 Registry Name: IGP Tunnel Encapsulation Attribute Types 313 Value Name Reference 314 ------- ------------------------------------ ------------- 315 0 Reserved This document 316 1 Encapsulation This document 317 2 Protocol Type This document 318 3 Endpoint This document 319 4 Color This document 320 5-250 Unassigned 321 251-254 Experimental This document 322 255 Reserved This document 324 Assignments of Encapsulation Attribute Types are via Standards Action 325 [RFC5226]. 327 7. Security Considerations 329 Security considerations applicable to softwires can be found in the 330 mesh framework [RFC5565]. In general, security issues of the tunnel 331 protocols signaled through this OSPF capability extension are 332 inherited. 334 If a third-party is able to modify any of the information that is 335 used to form encapsulation headers, to choose a tunnel type, or to 336 choose a particular tunnel for a particular payload type, user data 337 packets may end up getting misrouted, misdelivered, and/or dropped. 339 Security considerations for the base OSPF protocol are covered in 340 [RFC2328] and [RFC5340]. 342 8. Contributors 344 Uma Chunduri 345 Huawei 346 Email: uma.chunduri@gmail.com 348 9. Acknowledgements 350 This document is partially inspired by [RFC5512]. 352 The authors would like to thank Greg Mirsky, John E Drake, Carlos 353 Pignataro and Karsten Thomann for their valuable comments on this 354 document. Special thanks should be given to Acee Lindem for his 355 detailed review of this document. 357 10. References 359 10.1. Normative References 361 [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, 362 DOI 10.17487/RFC2003, October 1996, 363 . 365 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 366 Requirement Levels", BCP 14, RFC 2119, 367 DOI 10.17487/RFC2119, March 1997, 368 . 370 [RFC2784] Farinacci, D., Li, T., Hanks, S., Meyer, D., and P. 371 Traina, "Generic Routing Encapsulation (GRE)", RFC 2784, 372 DOI 10.17487/RFC2784, March 2000, 373 . 375 [RFC3931] Lau, J., Ed., Townsley, M., Ed., and I. Goyret, Ed., 376 "Layer Two Tunneling Protocol - Version 3 (L2TPv3)", 377 RFC 3931, DOI 10.17487/RFC3931, March 2005, 378 . 380 [RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms 381 for IPv6 Hosts and Routers", RFC 4213, 382 DOI 10.17487/RFC4213, October 2005, 383 . 385 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 386 IANA Considerations Section in RFCs", BCP 26, RFC 5226, 387 DOI 10.17487/RFC5226, May 2008, 388 . 390 [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and 391 S. Shaffer, "Extensions to OSPF for Advertising Optional 392 Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, 393 February 2016, . 395 10.2. Informative References 397 [I-D.ietf-bier-architecture] 398 Wijnands, I., Rosen, E., Dolganow, A., Przygienda, T., and 399 S. Aldrin, "Multicast using Bit Index Explicit 400 Replication", draft-ietf-bier-architecture-06 (work in 401 progress), April 2017. 403 [I-D.ietf-bier-mpls-encapsulation] 404 Wijnands, I., Rosen, E., Dolganow, A., Tantsura, J., 405 Aldrin, S., and I. Meilik, "Encapsulation for Bit Index 406 Explicit Replication in MPLS and non-MPLS Networks", 407 draft-ietf-bier-mpls-encapsulation-06 (work in progress), 408 December 2016. 410 [I-D.ietf-idr-tunnel-encaps] 411 Rosen, E., Patel, K., and G. Velde, "The BGP Tunnel 412 Encapsulation Attribute", draft-ietf-idr-tunnel-encaps-04 413 (work in progress), April 2017. 415 [I-D.ietf-nvo3-vxlan-gpe] 416 Maino, F., Kreeger, L., and U. Elzur, "Generic Protocol 417 Extension for VXLAN", draft-ietf-nvo3-vxlan-gpe-04 (work 418 in progress), April 2017. 420 [I-D.xu-mpls-unified-source-routing-instruction] 421 Xu, X., Bryant, S., Raszuk, R., Chunduri, U., Contreras, 422 L., Jalil, L., and H. Assarpour, "Unified Source Routing 423 Instruction using MPLS Label Stack", draft-xu-mpls- 424 unified-source-routing-instruction-00 (work in progress), 425 March 2017. 427 [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, 428 DOI 10.17487/RFC2328, April 1998, 429 . 431 [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., 432 Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack 433 Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, 434 . 436 [RFC4023] Worster, T., Rekhter, Y., and E. Rosen, Ed., 437 "Encapsulating MPLS in IP or Generic Routing Encapsulation 438 (GRE)", RFC 4023, DOI 10.17487/RFC4023, March 2005, 439 . 441 [RFC4817] Townsley, M., Pignataro, C., Wainner, S., Seely, T., and 442 J. Young, "Encapsulation of MPLS over Layer 2 Tunneling 443 Protocol Version 3", RFC 4817, DOI 10.17487/RFC4817, March 444 2007, . 446 [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF 447 for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, 448 . 450 [RFC5512] Mohapatra, P. and E. Rosen, "The BGP Encapsulation 451 Subsequent Address Family Identifier (SAFI) and the BGP 452 Tunnel Encapsulation Attribute", RFC 5512, 453 DOI 10.17487/RFC5512, April 2009, 454 . 456 [RFC5565] Wu, J., Cui, Y., Metz, C., and E. Rosen, "Softwire Mesh 457 Framework", RFC 5565, DOI 10.17487/RFC5565, June 2009, 458 . 460 [RFC5566] Berger, L., White, R., and E. Rosen, "BGP IPsec Tunnel 461 Encapsulation Attribute", RFC 5566, DOI 10.17487/RFC5566, 462 June 2009, . 464 [RFC7348] Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, 465 L., Sridhar, T., Bursell, M., and C. Wright, "Virtual 466 eXtensible Local Area Network (VXLAN): A Framework for 467 Overlaying Virtualized Layer 2 Networks over Layer 3 468 Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014, 469 . 471 [RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. 472 So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", 473 RFC 7490, DOI 10.17487/RFC7490, April 2015, 474 . 476 [RFC7510] Xu, X., Sheth, N., Yong, L., Callon, R., and D. Black, 477 "Encapsulating MPLS in UDP", RFC 7510, 478 DOI 10.17487/RFC7510, April 2015, 479 . 481 [RFC7637] Garg, P., Ed. and Y. Wang, Ed., "NVGRE: Network 482 Virtualization Using Generic Routing Encapsulation", 483 RFC 7637, DOI 10.17487/RFC7637, September 2015, 484 . 486 Authors' Addresses 488 Xiaohu Xu (editor) 489 Huawei 491 Email: xuxiaohu@huawei.com 493 Bruno Decraene (editor) 494 Orange 496 Email: bruno.decraene@orange.com 498 Robert Raszuk 499 Bloomberg LP 501 Email: robert@raszuk.net 503 Luis M. Contreras 504 Telefonica I+D 506 Email: luismiguel.contrerasmurillo@telefonica.com 507 Luay Jalil 508 Verizon 510 Email: luay.jalil@verizon.com