Network Working Group S. Kini, Ed. Internet-Draft Ericsson Intended status: Standards Track H. Gredler Expires: April 24, 2014 Juniper Networks October 21, 2013 Detecting Multi-Protocol Label Switching (MPLS) Data Plane Failures in Source Routed LSPs draft-kini-spring-mpls-lsp-ping-00 Abstract MPLS has defined mechanisms for fault detection and isolation and mechanisms for reliably sending an echo reply in RFC 4379. Source routed MPLS LSPs are a technique being proposed to address new use- cases. This document describes how mechanisms defined for MPLS fault detection and isolation can be applied for source routed LSPs. 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 24, 2014. Copyright Notice Copyright (c) 2013 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 Kini & Gredler Expires April 24, 2014 [Page 1] Internet-Draft MPLS Ping - Source Routed LSPs October 2013 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 2. Abbreviations and Terminology . . . . . . . . . . . . . . . . 3 3. Service Labels . . . . . . . . . . . . . . . . . . . . . . . 3 4. Packet Format . . . . . . . . . . . . . . . . . . . . . . . . 3 4.1. Target FEC Stack . . . . . . . . . . . . . . . . . . . . 3 4.2. OSPF IPv4 Prefix . . . . . . . . . . . . . . . . . . . . 4 4.3. OSPF IPv6 Prefix . . . . . . . . . . . . . . . . . . . . 4 4.4. ISIS IPv4 Prefix . . . . . . . . . . . . . . . . . . . . 4 4.5. ISIS IPv6 Prefix . . . . . . . . . . . . . . . . . . . . 4 5. MPLS ping and trace of a source routed LSP . . . . . . . . . 4 6. Issues with non-forwarding labels . . . . . . . . . . . . . . 5 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 9. Security Considerations . . . . . . . . . . . . . . . . . . . 5 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 10.1. Normative References . . . . . . . . . . . . . . . . . . 6 10.2. Informative References . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction Multi Protocol Label Switching (MPLS) has defined in [RFC4379] a simple and efficient mechanism to detect data plane failures in Label Switched Paths (LSP) by specifying information to be carried in an MPLS "echo request" and "echo reply" for the purposes of fault detection and isolation, and mechanisms for reliably sending the echo reply. The functionality is modeled after the ping/traceroute paradigm (ICMP echo request [RFC0792]) and is typically referred to as MPLS-ping and MPLS-traceroute. Source routed LSP is a technique by which the ingress stacks a set of tunnels to route the packet through an explicit-route. Newer use- cases (e.g. [OAM-UC], [I-D.geib-spring-oam-usecase]) are being explored using this technique and detecting data plane failures is a basic requirement in all of them. This document describes how the procedures defined in [RFC4379] can be applied to a source routed LSP. 1.1. Requirements Language Kini & Gredler Expires April 24, 2014 [Page 2] Internet-Draft MPLS Ping - Source Routed LSPs October 2013 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]. 2. Abbreviations and Terminology TTL - Time to Live OAM - Operation, Administration, Management/Maintenance LSP - Label Switched Path FEC - Forwarding Equivalence Class SPRING - Source Packet Routing in Networking 3. Service Labels One of the proposals for source routed LSPs is to include service labels in the MPLS label stack. These service labels are used to apply a service (as indicated by the service label) to the packet at the intermediate LSRs along the explicit-route. Since these labels are part of the MPLS label stack these have implications on MPLS OAM. This document describes how the procedures of [RFC4379] can be applied to in the absence of service-labels in Section 5. Additional considerations for service labels are included in Section 6 and requires further discussion. 4. Packet Format 4.1. Target FEC Stack The following new FEC Type sub-TLVs are defined to accommodate the distribution of labels by Interior Gateway Protocols (IGP) OSPF and ISIS ([I-D.gredler-rtgwg-igp-label-advertisement], [I-D.gredler-isis-label-advertisement], [I-D.gredler-ospf-label-advertisement], [I-D.previdi-isis-segment-routing-extensions], [I-D.psenak-ospf-segment-routing-extensions]). +----------------------------+--------+------------------+ | Sub-Type(suggested values) | Length | Value Field | +----------------------------+--------+------------------+ | 17 | 5 | OSPF IPv4 Prefix | | 18 | 17 | OSPF IPv6 Prefix | | 19 | 5 | ISIS IPv4 Prefix | | 20 | 17 | ISIS IPv6 Prefix | +----------------------------+--------+------------------+ Kini & Gredler Expires April 24, 2014 [Page 3] Internet-Draft MPLS Ping - Source Routed LSPs October 2013 Table 1 4.2. OSPF IPv4 Prefix This value of this sub-TLV is encoded the same as the "Generic IPv4 Prefix" defined in section 3.2.13 of [RFC4379]. 4.3. OSPF IPv6 Prefix This value of this sub-TLV is encoded the same as the "Generic IPv6 Prefix" defined in section 3.2.14 of [RFC4379]. 4.4. ISIS IPv4 Prefix This value of this sub-TLV is encoded the same as the "Generic IPv4 Prefix" defined in section 3.2.13 of [RFC4379]. 4.5. ISIS IPv6 Prefix This value of this sub-TLV is encoded the same as the "Generic IPv6 Prefix" defined in section 3.2.14 of [RFC4379]. 5. MPLS ping and trace of a source routed LSP The MPLS ping procedures described in [RFC4379] can be applied unchanged to a source routed LSP. The ingress should encapsulate the "echo request" with the label stack just as any data packet and send it on the source routed LSP. Sometimes it is useful to ping a specific tunnel that is used in a source routed LSP. In this case the entire label stack of the source routed LSP must be used, but the TTL of labels below the label of the tunnel that being debugged must be set to zero. When tracing a LSP according to the procedures in [RFC4379] the TTL is incremented by one in order to trace the path sequentially along the LSP. However when a source routed LSP has to be traced there are as many TTLs as there are labels in the stack. The LSR that initiates the traceroute SHOULD start by setting the TTL to 1 for the tunnel in the LSP's label stack it wants to start the tracing from, the TTL of all outer labels in the stack to the max value, and the TTL of all the inner labels in the stack to zero. Thus a typical start to the traceroute would have a TTL of 1 for the outermost label and all the inner labels would have TTL 0. If the FEC Stack TLV is included it should contain only those for the inner stacked tunnels. The lack of an echo response or the Return Code/Subcode should be used to diagnose the tunnel as described in [RFC4379]. When the tracing of a tunnel in the stack is complete, then the next tunnel in the stack should be traced. The end of a tunnel can be detected from Kini & Gredler Expires April 24, 2014 [Page 4] Internet-Draft MPLS Ping - Source Routed LSPs October 2013 the "Return Code" when it indicates that the responding LSR is an egress for the stack at depth 1. Thus the traceroute procedures in [RFC4379] can be recursively applied to traceroute a source routed LSP. 6. Issues with non-forwarding labels Source stacking can be optionally used to apply services on the packet at a LSR along the path, where a label in the stack is used to trigger service application. A data plane failure detection and isolation mechanism should provide its functionality without applying these services. This is mandatory for services that are stateful, though for stateless services [RFC4379] could be used as-is. It MAY also provide a mechanism to detect and isolate faults within the service function itself. To prevent services from being applied to an "echo request" packet, the TTL of service labels MUST be 0. However TTL processing rules of a service label must be the same as any MPLS label. Due to this a TTL of 0 in the service label would prevent the packet from being forwarded beyond the LSR that provides the service. To avoid this problem, the originator of the "echo request" must remove those service labels from the stack upto the tunnel that is being currently traced. In other words the ingress must remove all service-labels above the label of the tunnel being currently traced, but retain service labels below it when sending the echo request. Note that load balancing may affect the path when the service labels are removed, resulting in a newer path being traversed. However this new path is potentially different only upto the LSR that provides the service. Since this portion of the path was traced when the tunnels above this tunnel in the stack were traced and followed the exact path as the source routed LSP, this should not be a major concern. Sometimes the newer path may have a problem that was not in the original path resulting in a false positive. In such a case the original path can be traversed by changing the label stack to reach the intermediate LSR with labels that route along each hop explicitly. 7. Acknowledgements The authors would like to thank TBD for their comments. 8. IANA Considerations New Sub-Types for the FEC Stack TLV are required to be allocated. 9. Security Considerations Kini & Gredler Expires April 24, 2014 [Page 5] Internet-Draft MPLS Ping - Source Routed LSPs October 2013 10. References 10.1. Normative References [I-D.gredler-isis-label-advertisement] Gredler, H., Amante, S., Scholl, T., and L. Jalil, "Advertising MPLS labels in IS-IS", draft-gredler-isis- label-advertisement-03 (work in progress), May 2013. [I-D.gredler-ospf-label-advertisement] Gredler, H., Amante, S., Scholl, T., and L. Jalil, "Advertising MPLS labels in OSPF", draft-gredler-ospf- label-advertisement-03 (work in progress), May 2013. [I-D.gredler-rtgwg-igp-label-advertisement] Gredler, H., Amante, S., Scholl, T., and L. Jalil, "Advertising MPLS labels in IGPs", draft-gredler-rtgwg- igp-label-advertisement-05 (work in progress), May 2013. [I-D.previdi-isis-segment-routing-extensions] Previdi, S., Filsfils, C., Bashandy, A., Gredler, H., and S. Litkowski, "IS-IS Extensions for Segment Routing", draft-previdi-isis-segment-routing-extensions-03 (work in progress), October 2013. [I-D.psenak-ospf-segment-routing-extensions] Psenak, P., Previdi, S., Filsfils, C., Gredler, H., Shakir, R., and W. Henderickx, "OSPF Extensions for Segment Routing", draft-psenak-ospf-segment-routing- extensions-03 (work in progress), October 2013. [OAM-UC] Google, "Google Blackbox Monitoring", 2012, . [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, RFC 792, September 1981. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC4379] Kompella, K. and G. Swallow, "Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures", RFC 4379, February 2006. [RFC6424] Bahadur, N., Kompella, K., and G. Swallow, "Mechanism for Performing Label Switched Path Ping (LSP Ping) over MPLS Tunnels", RFC 6424, November 2011. Kini & Gredler Expires April 24, 2014 [Page 6] Internet-Draft MPLS Ping - Source Routed LSPs October 2013 10.2. Informative References [I-D.filsfils-rtgwg-segment-routing-use-cases] Filsfils, C., Francois, P., Previdi, S., Decraene, B., Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R., Ytti, S., Henderickx, W., Tantsura, J., Kini, S., and E. Crabbe, "Segment Routing Use Cases", draft-filsfils-rtgwg- segment-routing-use-cases-02 (work in progress), October 2013. [I-D.filsfils-rtgwg-segment-routing] Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R., Ytti, S., Henderickx, W., Tantsura, J., and E. Crabbe, "Segment Routing Architecture", draft-filsfils-rtgwg- segment-routing-01 (work in progress), October 2013. [I-D.geib-spring-oam-usecase] Geib, R., "Use case for a scalable and topology aware MPLS data plane monitoring system", draft-geib-spring-oam- usecase-00 (work in progress), October 2013. Authors' Addresses Sriganesh Kini (editor) Ericsson Email: sriganesh.kini@ericsson.com Hannes Gredler Juniper Networks Email: hannes@juniper.net Kini & Gredler Expires April 24, 2014 [Page 7]