OSPF Working Group X. Xu, Ed. Internet-Draft Huawei Intended status: Standards Track B. Decraene, Ed. Expires: January 4, 2018 Orange R. Raszuk Bloomberg LP L. Contreras Telefonica I+D L. Jalil Verizon July 3, 2017 Advertising Tunneling Capability in OSPF draft-ietf-ospf-encapsulation-cap-05 Abstract 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 and itself. This document defines how to advertise egress tunnel capabilities in OSPF Router Information Link State Advertisement (LSAs). 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 January 4, 2018. Xu, et al. Expires January 4, 2018 [Page 1] Internet-Draft July 2017 Copyright Notice Copyright (c) 2017 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 . . . . . . . . . . . . . . . . . . 4 5. Tunnel Encapsulation Attribute . . . . . . . . . . . . . . . 4 6. Tunnel Encapsulation Attribute Sub-TLVs . . . . . . . . . . . 5 6.1. Encapsulation Sub-TLV . . . . . . . . . . . . . . . . . . 5 6.2. Protocol Type Sub-TLV . . . . . . . . . . . . . . . . . . 5 6.3. Endpoint Sub-TLV . . . . . . . . . . . . . . . . . . . . 5 6.4. Color Sub-TLV . . . . . . . . . . . . . . . . . . . . . . 5 6.5. IP QoS Field . . . . . . . . . . . . . . . . . . . . . . 6 6.6. UDP Destination Port . . . . . . . . . . . . . . . . . . 6 6.7. future sub-TLV allocations . . . . . . . . . . . . . . . 6 7. Usage of the Tunnel Encapsulation attribute . . . . . . . . . 6 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 8.1. OSPF Router Information . . . . . . . . . . . . . . . . . 7 8.2. IGP Tunnel Encapsulation Attribute Sub-TLVs Registry . . 7 9. Security Considerations . . . . . . . . . . . . . . . . . . . 7 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 8 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 12.1. Normative References . . . . . . . . . . . . . . . . . . 8 12.2. Informative References . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 1. Introduction Networks use tunnels for a variety of reasons, such as: o Partial deployment of MPLS-SPRING as described in [I-D.xu-mpls-unified-source-routing-instruction], where IP tunnels Xu, et al. Expires January 4, 2018 [Page 2] Internet-Draft July 2017 are used between MPLS-SPRING-enabled routers to traverse non-MPLS routers. o Partial deployment of MPLS-BIER as described in [I-D.ietf-bier-architecture], where IP tunnels are used between MPLS-BIER-capable routers to traverse non MPLS-BIER [I-D.ietf-bier-mpls-encapsulation] routers. o Partial deployment of IPv6 in IPv4 networks or IPv4 in 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 (RLFA) 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 and itself. This document describes how to use OSPF Router Information Link State Advertisements (LSAs) to advertise the egress tunneling capabilities of OSPF routers. In this document, OSPF refers to both OSPFv2 [RFC2328] and OSPFv3 [RFC5340]. 2. Terminology This memo makes use of the terms defined in [RFC7770]. 3. Advertising Encapsulation Capability Routers advertise their supported encapsulation type(s) by advertising a new TLV of the OSPF Router Information (RI) Opaque LSA [RFC7770], referred to as the Encapsulation Capability TLV. This TLV is applicable to both OSPFv2 and OSPFv3. The Encapsulation Capability TLV SHOULD NOT appear more than once within a given OSPF Router Information (RI) Opaque LSA. If the Encapsulation Capability TLV appears more than once in an OSPF Router Information LSA, only the first occurrence MUST be processed and others MUST be ignored. 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 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 along with the parameters to be used for the tunnel. Xu, et al. Expires January 4, 2018 [Page 3] Internet-Draft July 2017 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 (2 Octets) | Length (2 Octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Sub-TLVs | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Tunnel Type (2 octets): Identifies the type of tunneling technology being signaled. Tunnel types are shared with the BGP extension [RFC5512] and hence are defined in the IANA registry "BGP Tunnel Encapsulation Attribute Tunnel Types". Unknown types are to be ignored and skipped upon receipt. Length (2 octets): Unsigned 16-bit 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. 5. Tunnel Encapsulation Attribute The Tunnel Encapsulation Attribute Sub-TLV is structured 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 of the tunnel TLV that contains this Sub-TLV. This document defines such types Section 6 ) Sub-TLV Length (1 octet): Unsigned 8-bit integer indicating the total number of octets of the Sub-TLV value field. Xu, et al. Expires January 4, 2018 [Page 4] Internet-Draft July 2017 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 upon receipt. 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 invalid, this specific Tunnel Encapsulation MUST be ignored and skipped. However, other Tunnel Encapsulations MUST be considered. 6. Tunnel Encapsulation Attribute Sub-TLVs 6.1. Encapsulation Sub-TLV This Sub-TLV is defined in section 3.2 "Encapsulation Sub-TLVs for Particular Tunnel Types" of [I-D.ietf-idr-tunnel-encaps] from both a syntax and semantic standpoint. Usage is defined in Section 7. 6.2. Protocol Type Sub-TLV This Sub-TLV is defined in section 3.4.1 "Protocol Type sub-TLV" of [I-D.ietf-idr-tunnel-encaps] from a syntactic, semantic, and usage standpoint. 6.3. Endpoint Sub-TLV The value field carries the Network Address to be used as tunnel destination address. If length is 4, the tunnel endpoint is an IPv4 address. If length is 16, the tunnel endpoint is an IPv6 address. 6.4. Color Sub-TLV The valued field is a 4-octet opaque unsigned integer. The color value is user-defined and configured locally on the advertising routers. It may be used by service providers to define policies on the ingress routers, for example, to control the selection of the tunnel to use. This color value can be referenced by BGP routes carrying Color Extended Community [I-D.ietf-idr-tunnel-encaps]. If the tunnel is used to reach the BGP Next-Hop of BGP routes, then attaching a Color Xu, et al. Expires January 4, 2018 [Page 5] Internet-Draft July 2017 Extended Community attached to those routes express the willingness of the BGP speaker to use a tunnel of the same color. 6.5. IP QoS Field This Sub-TLV is defined in section 3.3.1 "IPv4 DS Field" of [I-D.ietf-idr-tunnel-encaps] from a syntactic, semantic and usage standpoint. 6.6. UDP Destination Port This Sub-TLV is defined in section 3.3.2 "UDP Destination Port" of [I-D.ietf-idr-tunnel-encaps] from a syntactic, semantic and usage standpoint. 6.7. future sub-TLV allocations [I-D.ietf-idr-tunnel-encaps] similarly defines Tunnel Encapsulation Attribute Sub-TLVs. IGP and BGP have separate IANA registries allowing for separate sub-TLV definitions. If the same information is to be advertised for both IGP and BGP tunnel encapsulation, it is RECOMMENDED to use the same code point, semantic and syntax. However, it is to be noted that the "BGP Tunnel Encapsulation Attribute Sub-TLVs" registry, allows for sub-TLV with two octets of length, while the "IGP Tunnel Encapsulation Attribute Sub-TLVs" registry only allows for one octet of length. Hence two-octets BGP Tunnel Encapsulation Attribute Sub-TLVs won't be able to be defined for IGP Tunnels. Eventually, their information may be split over multiple sub-TLVs. 7. Usage of the Tunnel Encapsulation attribute The advertisement of an Encapsulation Type Sub-TLVs indicates that the advertising router support a particular tunnel encapsulation along with the parameters to be used for the tunnel. The decision to use that tunnel is driven by the capability of the ingress router to support the encapsulation type and the policy on the ingress router. The color sub-TLV may be used as an input to this policy. Note that some tunnel types may require the execution of an explicit tunnel setup protocol before they can be used to carry data. A tunnel MUST NOT be used if there is no route toward the IP address specified in the Endpoint Sub-TLV or if the route is not advertised by the router advertising the Tunnel Encapsulation attribute for the tunnel. Xu, et al. Expires January 4, 2018 [Page 6] Internet-Draft July 2017 8. IANA Considerations 8.1. OSPF Router Information This document requests IANA to allocate a new code point from the OSPF Router Information (RI) registry. Value TLV Name Reference ----- ------------------------------------ ------------- TBD1 Tunnel Capabilities This document 8.2. IGP Tunnel Encapsulation Attribute Sub-TLVs Registry This document requests IANA to create a new registry "IGP Tunnel Encapsulation Attribute Sub-TLVs" with the following registration procedure: Registry Name: IGP Tunnel Encapsulation Attribute Sub-TLVs Value Name Reference ------- ------------------------------------ ------------- 0 Reserved This document 1 Encapsulation This document 2 Protocol Type This document 3 Endpoint This document 4 Color This document 5 Unassigned 6 IP QoS This document 7 UDP Destination Port This document 8-250 Unassigned 251-254 Experimental This document 255 Reserved This document Assignments of Encapsulation Attribute Types are via Standards Action [RFC5226]. 9. 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 OSPF 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. Xu, et al. Expires January 4, 2018 [Page 7] Internet-Draft July 2017 Security considerations for the base OSPF protocol are covered in [RFC2328] and [RFC5340]. 10. Contributors Uma Chunduri Huawei Email: uma.chunduri@gmail.com 11. Acknowledgements This document is partially inspired by [RFC5512]. The authors would like to thank Greg Mirsky, John E Drake, Carlos Pignataro and Karsten Thomann for their valuable comments on this document. Special thanks should be given to Acee Lindem for his detailed reviews of this document. 12. References 12.1. Normative References [I-D.ietf-idr-tunnel-encaps] Rosen, E., Patel, K., and G. Velde, "The BGP Tunnel Encapsulation Attribute", draft-ietf-idr-tunnel-encaps-06 (work in progress), June 2017. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", RFC 5226, DOI 10.17487/RFC5226, May 2008, . [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and S. Shaffer, "Extensions to OSPF for Advertising Optional Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, February 2016, . 12.2. Informative References Xu, et al. Expires January 4, 2018 [Page 8] Internet-Draft July 2017 [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-07 (work in progress), June 2017. [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 and non-MPLS Networks", draft-ietf-bier-mpls-encapsulation-07 (work in progress), June 2017. [I-D.xu-mpls-unified-source-routing-instruction] Xu, X., Bryant, S., Raszuk, R., Chunduri, U., Contreras, L., Jalil, L., Assarpour, H., Velde, G., Tantsura, J., and S. Ma, "Unified Source Routing Instruction using MPLS Label Stack", draft-xu-mpls-unified-source-routing- instruction-02 (work in progress), June 2017. [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, DOI 10.17487/RFC2328, April 1998, . [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, . [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, . [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, . Authors' Addresses Xu, et al. Expires January 4, 2018 [Page 9] Internet-Draft July 2017 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 Luis M. Contreras Telefonica I+D Email: luismiguel.contrerasmurillo@telefonica.com Luay Jalil Verizon Email: luay.jalil@verizon.com Xu, et al. Expires January 4, 2018 [Page 10]