Internet DRAFT - draft-kini-spring-mpls-lsp-ping
draft-kini-spring-mpls-lsp-ping
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, <https://
ripe65.ripe.net/presentations/
828-RIPE65.Talk29.Google_Blackbox_Monitoring.pdf>.
[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]