ISIS Working Group X. Xu, Ed. Internet-Draft Huawei Intended status: Standards Track B. Decraene, Ed. Expires: April 27, 2017 Orange R. Raszuk Bloomberg LP U. Chunduri L. Contreras Telefonica I+D L. Jalil Verizon October 24, 2016 Advertising Tunnelling Capability in IS-IS draft-ietf-isis-encapsulation-cap-00 Abstract Some networks use tunnels for a variety of reasons. A large variety of tunnel types are defined and the ingress needs to select a type of tunnel which is supported by the egress. This document defines how to advertise egress tunnel capabilities in IS-IS Router Capability TLV. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on April 27, 2017. Xu, et al. Expires April 27, 2017 [Page 1] Internet-Draft October 2016 Copyright Notice Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Advertising Encapsulation Capability . . . . . . . . . . . . 3 4. Tunnel Encapsulation Type . . . . . . . . . . . . . . . . . . 3 5. Tunnel Encapsulation Attribute . . . . . . . . . . . . . . . 5 5.1. Tunnel Parameters sub-TLV . . . . . . . . . . . . . . . . 5 5.2. Encapsulated Protocol sub-TLV . . . . . . . . . . . . . . 6 5.3. End Point sub-TLV . . . . . . . . . . . . . . . . . . . . 6 5.4. Color sub-TLV . . . . . . . . . . . . . . . . . . . . . . 6 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 6.1. IS-IS Router Capability . . . . . . . . . . . . . . . . . 6 6.2. IGP Tunnel Encapsulation Types Registry . . . . . . . . . 6 6.3. IGP Tunnel Encapsulation Attribute Types Registry . . . . 7 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 9.1. Normative References . . . . . . . . . . . . . . . . . . 8 9.2. Informative References . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 1. Introduction Some networks use tunnels for a variety of reasons, such as: o Partial deployment of MPLS-SPRING as described in [I-D.xu-mpls-spring-islands-connection-over-ip], where IP tunnels are used between MPLS-SPRING-enabled routers so as to traverse non- MPLS routers. o Partial deployment of MPLS-BIER as described in Section 6.9 of [I-D.ietf-bier-architecture], where IP tunnels are used between Xu, et al. Expires April 27, 2017 [Page 2] Internet-Draft October 2016 MPLS-BIER-capable routers so as to traverse non MPLS-BIER [I-D.ietf-bier-mpls-encapsulation] routers. o Partial deployment of IPv6 (resp. IPv4) in IPv4 (resp. IPv6) networks as described in [RFC5565], where IPvx tunnels are used between IPvx-enabled routers so as to traverse non-IPvx routers. o Remote Loop Free Alternate repair tunnels as described in [RFC7490], where tunnels are used between the Point of Local Repair and the selected PQ node. The ingress needs to select a type of tunnel which is supported by the egress. This document describes how to use IS-IS Router Capability TLV to advertise the egress tunnelling capabilities of nodes. 2. Terminology This memo makes use of the terms defined in [RFC4971]. 3. Advertising Encapsulation Capability Routers advertises their supported encapsulation type(s) by advertising a new sub-TLV of the IS-IS Router CAPABILITY TLV [RFC4971], referred to as Encapsulation Capability sub-TLV. This sub-TLV SHOULD NOT appear more than once within a given IS-IS Router CAPABILITY TLV. The scope of the advertisement depends on the application but it is recommended that it SHOULD be domain-wide. The Type code of the Encapsulation Capability sub-TLV is TBD1, the Length value is variable, and the Value field contains one or more Tunnel Encapsulation Type sub-TLVs. Each Encapsulation Type sub-TLVs indicates a particular encapsulation format that the advertising router supports. 4. Tunnel Encapsulation Type The Tunnel Encapsulation Type sub-TLV is structured as follows: 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Tunnel Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Value | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Xu, et al. Expires April 27, 2017 [Page 3] Internet-Draft October 2016 Tunnel Type (1 octets): identifies the type of tunneling technology being signaled. This document defines the following types: 1. L2TPv3 over IP [RFC3931] : Type code=1; 2. GRE [RFC2784] : Type code=2; 3. Transmit tunnel endpoint [RFC5566] : Type code=3; 4. IPsec in Tunnel-mode [RFC5566] : Type code=4; 5. IP in IP tunnel with IPsec Transport Mode [RFC5566] : Type code=5; 6. MPLS-in-IP tunnel with IPsec Transport Mode [RFC5566] : Type code=6; 7. IP in IP [RFC2003] [RFC4213]: Type code=7; 8. VXLAN [RFC7348] : Type code=8; 9. NVGRE [RFC7637] : Type code=9; 10. MPLS [RFC3032] : Type code=10; 11. MPLS-in-GRE [RFC4023] : Type code=11; 12. VXLAN GPE [I-D.ietf-nvo3-vxlan-gpe] : Type code=12; 13. MPLS-in-UDP [RFC7510] : Type code=13; 14. MPLS-in-UDP-with-DTLS [RFC7510] : Type code=14; 15. MPLS-in-L2TPv3 [RFC4817] : Type code=15; 16. GTP: Type code=16; Unknown types are to be ignored and skipped upon receipt. Length (1 octets): unsigned integer indicating the total number of octets of the value field. Value (variable): zero or more Tunnel Encapsulation Attribute sub- TLVs as defined in Section 5. Xu, et al. Expires April 27, 2017 [Page 4] Internet-Draft October 2016 5. Tunnel Encapsulation Attribute The Tunnel Encapsulation Attribute sub-TLV is structured as as follows: +-----------------------------------+ | Sub-TLV Type (1 Octet) | +-----------------------------------+ | Sub-TLV Length (1 Octet) | +-----------------------------------+ | Sub-TLV Value (Variable) | | | +-----------------------------------+ Sub-TLV Type (1 octet): each sub-TLV type defines a certain property about the tunnel TLV that contains this sub-TLV. The following are the types defined in this document: 1. Encapsulation Parameters: sub-TLV type = 1; (See Section 5.1) 2. Encapsulated Protocol: sub-TLV type = 2; (See Section 5.2) 3. End Point: sub-TLV type = 3; (See Section 5.3) 4. Color: sub-TLV type = 4; (See Section 5.4) Sub-TLV Length (1 octet): unsigned integer indicating the total number of octets of the sub-TLV value field. Sub-TLV Value (variable): encodings of the value field depend on the sub-TLV type as enumerated above. The following sub-sections define the encoding in detail. Any unknown sub-TLVs MUST be ignored and skipped. However, if the TLV is understood, the entire TLV MUST NOT be ignored just because it contains an unknown sub-TLV. If a sub-TLV is erroneous, this specific Tunnel Encapsulation MUST be ignored and skipped. However, others Tunnel Encapsulations MUST be considered. 5.1. Tunnel Parameters sub-TLV This sub-TLV has its format defined in [RFC5512] under the name Encapsulation sub-TLV. Xu, et al. Expires April 27, 2017 [Page 5] Internet-Draft October 2016 5.2. Encapsulated Protocol sub-TLV This sub-TLV has its format defined in [RFC5512] under the name Protocol Type. 5.3. End Point sub-TLV The value field carries the Network Address to be used as tunnel destination address. If length is 4, the Address Family (AFI) is IPv4. If length is 16, the Address Family (AFI) is IPv6. 5.4. Color sub-TLV The valued field is a 4 octets opaque unsigned integer. The color value is user defined and configured locally on the routers. It may be used by the service providers to define policies. 6. IANA Considerations 6.1. IS-IS Router Capability This document requests IANA to allocate a new code point from registry IS-IS Router CAPABILITY TLV. Value TLV Name Reference ----- ------------------------------------ ------------- TBD1 Tunnel Capabilities This document 6.2. IGP Tunnel Encapsulation Types Registry This document requests IANA to create a new registry "IGP Tunnel Encapsulation Types" with the following registration procedure: Xu, et al. Expires April 27, 2017 [Page 6] Internet-Draft October 2016 Registry Name: IGP Tunnel Encapsulation Type. Value Name Reference ------- ------------------------------------------ ------------- 0 Reserved This document 1 L2TPv3 over IP This document 2 GRE This document 3 Transmit tunnel endpoint This document 4 IPsec in Tunnel-mode This document 5 IP in IP tunnel with IPsec Transport Mode This document 6 MPLS-in-IP tunnel with IPsec Transport Mode This document 7 IP in IP This document 8 VXLAN This document 9 NVGRE This document 10 MPLS This document 11 MPLS-in-GRE This document 12 VXLAN-GPE This document 13 MPLS-in-UDP This document 14 MPLS-in-UDP-with-DTLS This document 15 MPLS-in-L2TPv3 This document 16 GTP This document 17-250 Unassigned 251-254 Experimental This document 255 Reserved This document Assignments of Encapsulation Types are via Standards Action [RFC5226]. 6.3. IGP Tunnel Encapsulation Attribute Types Registry This document requests IANA to create a new registry "IGP Tunnel Encapsulation Attribute Types" with the following registration procedure: Registry Name: IGP Tunnel Encapsulation Attribute Types. Value Name Reference ------- ------------------------------------ ------------- 0 Reserved This document 1 Encapsulation parameters This document 2 Protocol This document 3 End Point This document 4 Color This document 5-250 Unassigned 251-254 Experimental This document 255 Reserved This document Xu, et al. Expires April 27, 2017 [Page 7] Internet-Draft October 2016 Assignments of Encapsulation Attribute Types are via Standards Action [RFC5226]. 7. Security Considerations Security considerations applicable to softwires can be found in the mesh framework [RFC5565]. In general, security issues of the tunnel protocols signaled through this IGP capability extension are inherited. If a third party is able to modify any of the information that is used to form encapsulation headers, to choose a tunnel type, or to choose a particular tunnel for a particular payload type, user data packets may end up getting misrouted, misdelivered, and/or dropped. Security considerations for the base IS-IS protocol are covered in [RFC1195]. 8. Acknowledgements This document is partially inspired by [RFC5512]. The authors would like to thank Carlos Pignataro and Karsten Thomann for their valuable comments on this draft. 9. References 9.1. Normative References [RFC1700] Reynolds, J. and J. Postel, "Assigned Numbers", RFC 1700, DOI 10.17487/RFC1700, October 1994, . [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, DOI 10.17487/RFC2003, October 1996, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC2784] Farinacci, D., Li, T., Hanks, S., Meyer, D., and P. Traina, "Generic Routing Encapsulation (GRE)", RFC 2784, DOI 10.17487/RFC2784, March 2000, . Xu, et al. Expires April 27, 2017 [Page 8] Internet-Draft October 2016 [RFC3931] Lau, J., Ed., Townsley, M., Ed., and I. Goyret, Ed., "Layer Two Tunneling Protocol - Version 3 (L2TPv3)", RFC 3931, DOI 10.17487/RFC3931, March 2005, . [RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms for IPv6 Hosts and Routers", RFC 4213, DOI 10.17487/RFC4213, October 2005, . [RFC4971] Vasseur, JP., Ed., Shen, N., Ed., and R. Aggarwal, Ed., "Intermediate System to Intermediate System (IS-IS) Extensions for Advertising Router Information", RFC 4971, DOI 10.17487/RFC4971, July 2007, . [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, DOI 10.17487/RFC5226, May 2008, . 9.2. Informative References [I-D.ietf-bier-architecture] Wijnands, I., Rosen, E., Dolganow, A., Przygienda, T., and S. Aldrin, "Multicast using Bit Index Explicit Replication", draft-ietf-bier-architecture-04 (work in progress), July 2016. [I-D.ietf-bier-mpls-encapsulation] Wijnands, I., Rosen, E., Dolganow, A., Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation for Bit Index Explicit Replication in MPLS Networks", draft-ietf-bier- mpls-encapsulation-05 (work in progress), July 2016. [I-D.ietf-nvo3-vxlan-gpe] Kreeger, L. and U. Elzur, "Generic Protocol Extension for VXLAN", draft-ietf-nvo3-vxlan-gpe-02 (work in progress), April 2016. [I-D.xu-mpls-spring-islands-connection-over-ip] Xu, X., Raszuk, R., Chunduri, U., Contreras, L., and L. Jalil, "Connecting MPLS-SPRING Islands over IP Networks", draft-xu-mpls-spring-islands-connection-over-ip-00 (work in progress), October 2016. Xu, et al. Expires April 27, 2017 [Page 9] Internet-Draft October 2016 [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual environments", RFC 1195, DOI 10.17487/RFC1195, December 1990, . [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, . [RFC4023] Worster, T., Rekhter, Y., and E. Rosen, Ed., "Encapsulating MPLS in IP or Generic Routing Encapsulation (GRE)", RFC 4023, DOI 10.17487/RFC4023, March 2005, . [RFC4817] Townsley, M., Pignataro, C., Wainner, S., Seely, T., and J. Young, "Encapsulation of MPLS over Layer 2 Tunneling Protocol Version 3", RFC 4817, DOI 10.17487/RFC4817, March 2007, . [RFC5512] Mohapatra, P. and E. Rosen, "The BGP Encapsulation Subsequent Address Family Identifier (SAFI) and the BGP Tunnel Encapsulation Attribute", RFC 5512, DOI 10.17487/RFC5512, April 2009, . [RFC5565] Wu, J., Cui, Y., Metz, C., and E. Rosen, "Softwire Mesh Framework", RFC 5565, DOI 10.17487/RFC5565, June 2009, . [RFC5566] Berger, L., White, R., and E. Rosen, "BGP IPsec Tunnel Encapsulation Attribute", RFC 5566, DOI 10.17487/RFC5566, June 2009, . [RFC7348] Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, L., Sridhar, T., Bursell, M., and C. Wright, "Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014, . [RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", RFC 7490, DOI 10.17487/RFC7490, April 2015, . Xu, et al. Expires April 27, 2017 [Page 10] Internet-Draft October 2016 [RFC7510] Xu, X., Sheth, N., Yong, L., Callon, R., and D. Black, "Encapsulating MPLS in UDP", RFC 7510, DOI 10.17487/RFC7510, April 2015, . [RFC7637] Garg, P., Ed. and Y. Wang, Ed., "NVGRE: Network Virtualization Using Generic Routing Encapsulation", RFC 7637, DOI 10.17487/RFC7637, September 2015, . Authors' Addresses Xiaohu Xu (editor) Huawei Email: xuxiaohu@huawei.com Bruno Decraene (editor) Orange Email: bruno.decraene@orange.com Robert Raszuk Bloomberg LP Email: robert@raszuk.net Uma Chunduri Email: uma.chunduri@gmail.com Luis M. Contreras Telefonica I+D Email: luismiguel.contrerasmurillo@telefonica.com Luay Jalil Verizon Email: luay.jalil@verizon.com Xu, et al. Expires April 27, 2017 [Page 11]