diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc6425.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc6425.txt')
-rw-r--r-- | doc/rfc/rfc6425.txt | 1571 |
1 files changed, 1571 insertions, 0 deletions
diff --git a/doc/rfc/rfc6425.txt b/doc/rfc/rfc6425.txt new file mode 100644 index 0000000..f257ad6 --- /dev/null +++ b/doc/rfc/rfc6425.txt @@ -0,0 +1,1571 @@ + + + + + + +Internet Engineering Task Force (IETF) S. Saxena, Ed. +Request for Comments: 6425 G. Swallow +Updates: 4379 Z. Ali +Category: Standards Track Cisco Systems, Inc. +ISSN: 2070-1721 A. Farrel + Juniper Networks + S. Yasukawa + NTT Corporation + T. Nadeau + CA Technologies + November 2011 + + + Detecting Data-Plane Failures in + Point-to-Multipoint MPLS - Extensions to LSP Ping + +Abstract + + Recent proposals have extended the scope of Multiprotocol Label + Switching (MPLS) Label Switched Paths (LSPs) to encompass point-to- + multipoint (P2MP) LSPs. + + The requirement for a simple and efficient mechanism that can be used + to detect data-plane failures in point-to-point (P2P) MPLS LSPs has + been recognized and has led to the development of techniques for + fault detection and isolation commonly referred to as "LSP ping". + + The scope of this document is fault detection and isolation for P2MP + MPLS LSPs. This documents does not replace any of the mechanisms of + LSP ping, but clarifies their applicability to MPLS P2MP LSPs, and + extends the techniques and mechanisms of LSP ping to the MPLS P2MP + environment. + + This document updates RFC 4379. + +Status of This Memo + + This is an Internet Standards Track document. + + This document is a product of the Internet Engineering Task Force + (IETF). It represents the consensus of the IETF community. It has + received public review and has been approved for publication by the + Internet Engineering Steering Group (IESG). Further information on + Internet Standards is available in Section 2 of RFC 5741. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + http://www.rfc-editor.org/info/rfc6425. + + + +Saxena, et al. Standards Track [Page 1] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + +Copyright Notice + + Copyright (c) 2011 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. + + This document may contain material from IETF Documents or IETF + Contributions published or made publicly available before November + 10, 2008. The person(s) controlling the copyright in some of this + material may not have granted the IETF Trust the right to allow + modifications of such material outside the IETF Standards Process. + Without obtaining an adequate license from the person(s) controlling + the copyright in such materials, this document may not be modified + outside the IETF Standards Process, and derivative works of it may + not be created outside the IETF Standards Process, except to format + it for publication as an RFC or to translate it into languages other + than English. + +Table of Contents + + 1. Introduction ....................................................3 + 1.1. Design Considerations ......................................4 + 1.2. Terminology ................................................4 + 2. Notes on Motivation .............................................5 + 2.1. Basic Motivations for LSP Ping .............................5 + 2.2. Motivations for LSP Ping for P2MP LSPs .....................6 + 3. Packet Format ...................................................7 + 3.1. Identifying the LSP Under Test .............................8 + 3.1.1. Identifying a P2MP MPLS TE LSP ......................8 + 3.1.1.1. RSVP P2MP IPv4 Session Sub-TLV .............8 + 3.1.1.2. RSVP P2MP IPv6 Session Sub-TLV .............9 + 3.1.2. Identifying a Multicast LDP LSP .....................9 + 3.1.2.1. Multicast LDP FEC Stack Sub-TLVs ..........10 + 3.1.2.2. Applicability to + Multipoint-to-Multipoint LSPs .............11 + 3.2. Limiting the Scope of Responses ...........................11 + 3.2.1. Egress Address P2MP Responder Sub-TLVs .............12 + 3.2.2. Node Address P2MP Responder Sub-TLVs ...............13 + 3.3. Preventing Congestion of Echo Replies .....................14 + + + +Saxena, et al. Standards Track [Page 2] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + 3.4. Respond Only If TTL Expired Flag ..........................14 + 3.5. Downstream Detailed Mapping TLV ...........................15 + 4. Operation of LSP Ping for a P2MP LSP ...........................15 + 4.1. Initiating LSR Operations .................................16 + 4.1.1. Limiting Responses to Echo Requests ................16 + 4.1.2. Jittered Responses to Echo Requests ................16 + 4.2. Responding LSR Operations .................................17 + 4.2.1. Echo Reply Reporting ...............................18 + 4.2.1.1. Responses from Transit and Branch Nodes ...19 + 4.2.1.2. Responses from Egress Nodes ...............19 + 4.2.1.3. Responses from Bud Nodes ..................19 + 4.3. Special Considerations for Traceroute .....................21 + 4.3.1. End of Processing for Traceroutes ..................21 + 4.3.2. Multiple Responses from Bud and Egress Nodes .......22 + 4.3.3. Non-Response to Traceroute Echo Requests ...........22 + 4.3.4. Use of Downstream Detailed Mapping TLV in + Echo Requests ......................................23 + 4.3.5. Cross-Over Node Processing .........................23 + 5. Non-Compliant Routers ..........................................24 + 6. OAM and Management Considerations ..............................24 + 7. IANA Considerations ............................................25 + 7.1. New Sub-TLV Types .........................................25 + 7.2. New TLVs ..................................................25 + 7.3. New Global Flags Registry .................................26 + 8. Security Considerations ........................................26 + 9. Acknowledgements ...............................................26 + 10. References ....................................................27 + 10.1. Normative References .....................................27 + 10.2. Informative References ...................................27 + +1. Introduction + + Simple and efficient mechanisms that can be used to detect data-plane + failures in point-to-point (P2P) Multiprotocol Label Switching (MPLS) + Label Switched Paths (LSP) are described in [RFC4379]. The + techniques involve information carried in MPLS "echo request" and + "echo reply" messages, and mechanisms for transporting them. The + echo request and reply messages provide sufficient information to + check correct operation of the data plane, as well as a mechanism to + verify the data plane against the control plane, and thereby localize + faults. The use of reliable channels for echo reply messages as + described in [RFC4379] enables more robust fault isolation. This + collection of mechanisms is commonly referred to as "LSP ping". + + The requirements for point-to-multipoint (P2MP) MPLS traffic + engineered (TE) LSPs are stated in [RFC4461]. [RFC4875] specifies a + signaling solution for establishing P2MP MPLS TE LSPs. + + + + +Saxena, et al. Standards Track [Page 3] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + The requirements for P2MP extensions to the Label Distribution + Protocol (LDP) are stated in [RFC6348]. [RFC6388] specifies + extensions to LDP for P2MP MPLS. + + P2MP MPLS LSPs are at least as vulnerable to data-plane faults or to + discrepancies between the control and data planes as their P2P + counterparts. Therefore, mechanisms are needed to detect such data + plane faults in P2MP MPLS LSPs as described in [RFC4687]. + + This document extends the techniques described in [RFC4379] such that + they may be applied to P2MP MPLS LSPs. This document stresses the + reuse of existing LSP ping mechanisms used for P2P LSPs, and applies + them to P2MP MPLS LSPs in order to simplify implementation and + network operation. + +1.1. Design Considerations + + An important consideration for designing LSP ping for P2MP MPLS LSPs + is that every attempt is made to use or extend existing mechanisms + rather than invent new mechanisms. + + As for P2P LSPs, a critical requirement is that the echo request + messages follow the same data path that normal MPLS packets traverse. + However, as can be seen, this notion needs to be extended for P2MP + MPLS LSPs, as in this case an MPLS packet is replicated so that it + arrives at each egress (or leaf) of the P2MP tree. + + MPLS echo requests are meant primarily to validate the data plane, + and they can then be used to validate data-plane state against the + control plane. They may also be used to bootstrap other Operations, + Administration, and Maintenance (OAM) procedures such as [RFC5884]. + As pointed out in [RFC4379], mechanisms to check the liveness, + function, and consistency of the control plane are valuable, but such + mechanisms are not a feature of LSP ping and are not covered in this + document. + + As is described in [RFC4379], to avoid potential denial-of-service + attacks, it is RECOMMENDED to regulate the LSP ping traffic passed to + the control plane. A rate limiter should be applied to the incoming + LSP ping traffic. + +1.2. Terminology + + The terminology used in this document for P2MP MPLS can be found in + [RFC4461]. The terminology for MPLS OAM can be found in [RFC4379]. + In particular, the notation <RSC> refers to the Return Subcode as + defined in Section 3.1. of [RFC4379]. + + + + +Saxena, et al. Standards Track [Page 4] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + 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. Notes on Motivation + +2.1. Basic Motivations for LSP Ping + + The motivations listed in [RFC4379] are reproduced here for + completeness. + + When an LSP fails to deliver user traffic, the failure cannot + always be detected by the MPLS control plane. There is a need to + provide a tool that enables users to detect such traffic "black + holes" or misrouting within a reasonable period of time. A + mechanism to isolate faults is also required. + + [RFC4379] describes a mechanism that accomplishes these goals. + This mechanism is modeled after the ping/traceroute paradigm: ping + (ICMP echo request [RFC792]) is used for connectivity checks, and + traceroute is used for hop-by-hop fault localization as well as + path tracing. [RFC4379] specifies a "ping mode" and a + "traceroute" mode for testing MPLS LSPs. + + The basic idea as expressed in [RFC4379] is to test that the + packets that belong to a particular Forwarding Equivalence Class + (FEC) actually end their MPLS path on an LSR that is an egress for + that FEC. [RFC4379] achieves this test by sending a packet + (called an "MPLS echo request") along the same data path as other + packets belonging to this FEC. An MPLS echo request also carries + information about the FEC whose MPLS path is being verified. This + echo request is forwarded just like any other packet belonging to + that FEC. In "ping" mode (basic connectivity check), the packet + should reach the end of the path, at which point it is sent to the + control plane of the egress LSR, which then verifies that it is + indeed an egress for the FEC. In "traceroute" mode (fault + isolation), the packet is sent to the control plane of each + transit LSR, which performs various checks that it is indeed a + transit LSR for this path; this LSR also returns further + information that helps to check the control plane against the data + plane, i.e., that forwarding matches what the routing protocols + determined as the path. + + One way these tools can be used is to periodically ping a FEC to + ensure connectivity. If the ping fails, one can then initiate a + traceroute to determine where the fault lies. One can also + + + + + +Saxena, et al. Standards Track [Page 5] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + periodically traceroute FECs to verify that forwarding matches the + control plane; however, this places a greater burden on transit + LSRs and should be used with caution. + +2.2. Motivations for LSP Ping for P2MP LSPs + + As stated in [RFC4687], MPLS has been extended to encompass P2MP + LSPs. As with P2P MPLS LSPs, the requirement to detect, handle, and + diagnose control- and data-plane defects is critical. For operators + deploying services based on P2MP MPLS LSPs, the detection and + specification of how to handle those defects is important because + such defects may affect the fundamentals of an MPLS network, but also + because they may impact service-level-specification commitments for + customers of their network. + + P2MP LDP [RFC6388] uses LDP to establish multicast LSPs. These LSPs + distribute data from a single source to one or more destinations + across the network according to the next hops indicated by the + routing protocols. Each LSP is identified by an MPLS multicast FEC. + + P2MP MPLS TE LSPs [RFC4875] may be viewed as MPLS tunnels with a + single ingress and multiple egresses. The tunnels, built on P2MP + LSPs, are explicitly routed through the network. There is no concept + or applicability of a FEC in the context of a P2MP MPLS TE LSP. + + MPLS packets inserted at the ingress of a P2MP LSP are delivered + equally (barring faults) to all egresses. In consequence, the basic + idea of LSP ping for P2MP MPLS LSPs may be expressed as an intention + to test that packets that enter (at the ingress) a particular P2MP + LSP actually end their MPLS path on the LSRs that are the (intended) + egresses for that LSP. The idea may be extended to check selectively + that such packets reach specific egresses. + + The technique in this document makes this test by sending an LSP ping + echo request message along the same data path as the MPLS packets. + An echo request also carries the identification of the P2MP MPLS LSP + (multicast LSP or P2MP TE LSP) that it is testing. The echo request + is forwarded just as any other packet using that LSP, and so is + replicated at branch points of the LSP and should be delivered to all + egresses. + + In "ping" mode (basic connectivity check), the echo request should + reach the end of the path, at which point it is sent to the control + plane of the egress LSRs, which verify that they are indeed an egress + (leaf) of the P2MP LSP. An echo reply message is sent by an egress + to the ingress to confirm the successful receipt (or announce the + erroneous arrival) of the echo request. + + + + +Saxena, et al. Standards Track [Page 6] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + In "traceroute" mode (fault isolation), the echo request is sent to + the control plane at each transit LSR, and the control plane checks + that it is indeed a transit LSR for this P2MP MPLS LSP. The transit + LSR returns information about the outgoing paths. This information + can be used by ingress LSRs to build topology or by downstream LSRs + to do extra label verification. + + P2MP MPLS LSPs may have many egresses, and it is not necessarily the + intention of the initiator of the ping or traceroute operation to + collect information about the connectivity or path to all egresses. + Indeed, in the event of pinging all egresses of a large P2MP MPLS + LSP, it might be expected that a large number of echo replies would + arrive at the ingress independently but at approximately the same + time. Under some circumstances this might cause congestion at or + around the ingress LSR. The procedures described in this document + provide two mechanisms to control echo replies. + + The first procedure allows the responders to randomly delay (or + jitter) their replies so that the chances of swamping the ingress are + reduced. The second procedure allows the initiator to limit the + scope of an LSP ping echo request (ping or traceroute mode) to one + specific intended egress. + + LSP ping can be used to periodically ping a P2MP MPLS LSP to ensure + connectivity to any or all of the egresses. If the ping fails, the + operator or an automated process can then initiate a traceroute to + determine where the fault is located within the network. A + traceroute may also be used periodically to verify that data-plane + forwarding matches the control-plane state; however, this places an + increased burden on transit LSRs and should be used infrequently and + with caution. + +3. Packet Format + + The basic structure of the LSP ping packet remains the same as + described in [RFC4379]. Some new TLVs and sub-TLVs are required to + support the new functionality. They are described in the following + sections. + + + + + + + + + + + + + +Saxena, et al. Standards Track [Page 7] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + +3.1. Identifying the LSP Under Test + +3.1.1. Identifying a P2MP MPLS TE LSP + + [RFC4379] defines how an MPLS TE LSP under test may be identified in + an echo request. A Target FEC Stack TLV is used to carry either an + RSVP IPv4 Session or an RSVP IPv6 Session sub-TLV. + + In order to identify the P2MP MPLS TE LSP under test, the echo + request message MUST carry a Target FEC Stack TLV, and this MUST + carry exactly one of two new sub-TLVs: either an RSVP P2MP IPv4 + Session sub-TLV or an RSVP P2MP IPv6 Session sub-TLV. These sub-TLVs + carry fields from the RSVP-TE P2MP SESSION and SENDER_TEMPLATE + objects [RFC4875] and so provide sufficient information to uniquely + identify the LSP. + + The new sub-TLVs are assigned Sub-Type identifiers as follows, and + are described in the following sections. + + Sub-Type # Length Value Field + ---------- ------ ----------- + 17 20 RSVP P2MP IPv4 Session + 18 56 RSVP P2MP IPv6 Session + +3.1.1.1. RSVP P2MP IPv4 Session Sub-TLV + + The format of the RSVP P2MP IPv4 Session sub-TLV value field is + specified in the following figure. The value fields are taken from + the definitions of the P2MP IPv4 LSP SESSION Object and the P2MP IPv4 + SENDER_TEMPLATE Object in Sections 19.1.1 and 19.2.1 of [RFC4875]. + Note that the Sub-Group ID of the SENDER_TEMPLATE is not required. + + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | P2MP ID | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | MUST Be Zero | Tunnel ID | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Extended Tunnel ID | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | IPv4 Tunnel Sender Address | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | MUST Be Zero | LSP ID | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + + + + + +Saxena, et al. Standards Track [Page 8] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + +3.1.1.2. RSVP P2MP IPv6 Session Sub-TLV + + The format of the RSVP P2MP IPv6 Session sub-TLV value field is + specified in the following figure. The value fields are taken from + the definitions of the P2MP IPv6 LSP SESSION Object and the P2MP IPv6 + SENDER_TEMPLATE Object in Sections 19.1.2 and 19.2.2 of [RFC4875]. + Note that the Sub-Group ID of the SENDER_TEMPLATE is not required. + + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | P2MP ID | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | MUST Be Zero | Tunnel ID | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + | Extended Tunnel ID | + | | + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + | IPv6 Tunnel Sender Address | + | | + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | MUST Be Zero | LSP ID | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +3.1.2. Identifying a Multicast LDP LSP + + [RFC4379] defines how a P2P LDP LSP under test may be identified in + an echo request. A Target FEC Stack TLV is used to carry one or more + sub-TLVs (for example, an IPv4 Prefix FEC sub-TLV) that identify the + LSP. + + In order to identify a multicast LDP LSP under test, the echo request + message MUST carry a Target FEC Stack TLV, and this MUST carry + exactly one of two new sub-TLVs: either a Multicast P2MP LDP FEC + Stack sub-TLV or a Multicast MP2MP LDP FEC Stack sub-TLV. These sub- + TLVs use fields from the multicast LDP messages [RFC6388] and so + provide sufficient information to uniquely identify the LSP. + + The new sub-TLVs are assigned sub-type identifiers as follows and are + described in the following section. + + + + + + + +Saxena, et al. Standards Track [Page 9] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + Sub-Type # Length Value Field + ---------- ------ ----------- + 19 Variable Multicast P2MP LDP FEC Stack + 20 Variable Multicast MP2MP LDP FEC Stack + +3.1.2.1. Multicast LDP FEC Stack Sub-TLVs + + Both Multicast P2MP and MP2MP LDP FEC Stack have the same format, as + specified in the following figure. + + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Address Family | Address Length| Root LSR Addr | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + ~ Root LSR Address (Cont.) ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Opaque Length | Opaque Value ... | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + ~ ~ + | | + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Address Family + + Two-octet quantity containing a value from ADDRESS FAMILY NUMBERS + in [IANA-AF] that encodes the address family for the Root LSR + Address. + + Address Length + + Length of the Root LSR Address in octets. + + Root LSR Address + + Address of the LSR at the root of the P2MP LSP encoded according + to the Address Family field. + + Opaque Length + + The length of the opaque value, in octets. Depending on the + length of the Root LSR Address, this field may not be aligned to a + word boundary. + + + + +Saxena, et al. Standards Track [Page 10] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + Opaque Value + + An opaque value element that uniquely identifies the P2MP LSP in + the context of the Root LSR. + + If the Address Family is IPv4, the Address Length MUST be 4. If the + Address Family is IPv6, the Address Length MUST be 16. No other + Address Family values are defined at present. + +3.1.2.2. Applicability to Multipoint-to-Multipoint LSPs + + The mechanisms defined in this document can be extended to include + Multipoint-to-Multipoint (MP2MP) Multicast LSPs. In an MP2MP LSP + tree, any leaf node can be treated like a head node of a P2MP tree. + In other words, for MPLS OAM purposes, the MP2MP tree can be treated + like a collection of P2MP trees, with each MP2MP leaf node acting + like a P2MP head-end node. When a leaf node is acting like a P2MP + head-end node, the remaining leaf nodes act like egress or bud nodes. + +3.2. Limiting the Scope of Responses + + A new TLV is defined for inclusion in the echo request message. + + The P2MP Responder Identifier TLV is assigned the TLV type value 11 + and is encoded 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |Type = 11 (P2MP Responder ID)| Length = Variable | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + ~ Sub-TLVs ~ + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Sub-TLVs: + + Zero, one, or more sub-TLVs as defined below. + + If no sub-TLVs are present, the TLV MUST be processed as if it + were absent. If more than one sub-TLV is present, the first + TLV MUST be processed as described in this document, and + subsequent sub-TLVs SHOULD be ignored. Interpretation of + additional sub-TLVs may be defined in future documents. + + The P2MP Responder Identifier TLV only has meaning on an echo request + message. If present on an echo reply message, it MUST be ignored. + + + + + +Saxena, et al. Standards Track [Page 11] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + Four sub-TLVs are defined for inclusion in the P2MP Responder + Identifier TLV carried on the echo request message. These are: + + Sub-Type # Length Value Field + ---------- ------ ----------- + 1 4 IPv4 Egress Address P2MP Responder + 2 16 IPv6 Egress Address P2MP Responder + 3 4 IPv4 Node Address P2MP Responder + 4 16 IPv6 Node Address P2MP Responder + + The content of these sub-TLVs are defined in the following sections. + Also defined is the intended behavior of the responding node upon + receiving any of these sub-TLVs. + +3.2.1. Egress Address P2MP Responder Sub-TLVs + + The encoding of the IPv4 Egress Address P2MP Responder sub-TLV is 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sub-Type = 1 | Length = 4 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | 32-bit IPv4 Address | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + The encoding of the IPv6 Egress Address P2MP Responder sub-TLV is 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sub-Type = 2 | Length = 16 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + | 128-bit IPv6 Address | + | | + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + A node that receives an echo request with this sub-TLV present MUST + respond if the node lies on the path to the address in the sub-TLV + and MUST NOT respond if it does not lie on the path to the address in + the sub-TLV. For this to be possible, the address in the sub-TLV + must be known to the nodes that lie upstream in the LSP. This can be + the case if RSVP-TE is used to signal the P2MP LSP, in which case + this address will be the address used in the Destination Address + + + +Saxena, et al. Standards Track [Page 12] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + field of the S2L_SUB_LSP object, when corresponding egress or bud + node is signaled. Thus, the IPv4 or IPv6 Egress Address P2MP + Responder sub-TLV MAY be used in an echo request carrying RSVP P2MP + Session sub-TLV. + + However, in Multicast LDP, there is no way for upstream LSRs to know + the identity of the downstream leaf nodes. Hence, these TLVs cannot + be used to perform traceroute to a single node when Multicast LDP FEC + is used, and the IPv4 or IPv6 Egress Address P2MP Responder sub-TLV + SHOULD NOT be used with an echo request carrying a Multicast LDP FEC + Stack sub-TLV. If a node receives these TLVs in an echo request + carrying Multicast LDP, then it will not respond since it is unaware + of whether it lies on the path to the address in the sub-TLV. + +3.2.2. Node Address P2MP Responder Sub-TLVs + + The encoding of the IPv4 Node Address P2MP Responder sub-TLV is 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sub-Type = 3 | Length = 4 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | 32-bit IPv4 Address | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + The encoding of the IPv6 Node Address P2MP Responder sub-TLV is 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sub-Type = 4 | Length = 16 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + | 128-bit IPv6 Address | + | | + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + The IPv4 or IPv6 Node Address P2MP Responder sub-TLVs MAY be used in + an echo request carrying either RSVP P2MP Session or Multicast LDP + FEC Stack sub-TLVs. + + A node that receives an echo request with one of these sub-TLVs + present MUST respond if the address in the sub-TLV matches any + address that is local to the node and MUST NOT respond if the address + + + +Saxena, et al. Standards Track [Page 13] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + in the sub-TLV does not match any address that is local to the node. + The address in the sub-TLV may be of any physical interface or may be + the router ID of the node itself. + + The address in this sub-TLV SHOULD be of any transit, branch, bud, or + egress node for that P2MP LSP. The address of a node that is not on + the P2MP LSP MAY be used as a check for that no reply is received. + +3.3. Preventing Congestion of Echo Replies + + A new TLV is defined for inclusion in the Echo request message. + + The Echo Jitter TLV is assigned the TLV type value 12 and is encoded + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Type = 12 (Jitter TLV) | Length = 4 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Jitter Time | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Jitter Time: + + This field specifies the upper bound of the jitter period that + should be applied by a responding node to determine how long to + wait before sending an echo reply. A responding node MUST wait + a random amount of time between zero milliseconds and the value + specified in this field. + + Jitter time is specified in milliseconds. + + The Echo Jitter TLV only has meaning on an echo request message. If + present on an echo reply message, it MUST be ignored. + +3.4. Respond Only If TTL Expired Flag + + A new flag is being introduced in the Global Flags field defined in + [RFC4379]. The new format of the Global Flags field is: + + 0 1 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | MBZ |T|V| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + The V flag is described in [RFC4379]. + + + +Saxena, et al. Standards Track [Page 14] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + The T (Respond Only If TTL Expired) flag MUST be set only in the echo + request packet by the sender. This flag MUST NOT be set in the echo + reply packet. If this flag is set in an echo reply packet, then it + MUST be ignored. + + If the T flag is set to 0, then the receiving node MUST process the + incoming echo request. + + If the T flag is set to 1 and the TTL of the incoming MPLS label is + equal to 1, then the receiving node MUST process the incoming echo + request. + + If the T flag is set to 1 and the TTL of the incoming MPLS label is + more than 1, then the receiving node MUST drop the incoming echo + request and MUST NOT send any echo reply to the sender. + + If the T flag is set to 1 and there are no incoming MPLS labels in + the echo request packet, then a bud node with PHP configured MAY + choose to not respond to this echo request. All other nodes MUST + ignore this bit and respond as per regular processing. + +3.5. Downstream Detailed Mapping TLV + + The Downstream Detailed Mapping TLV is described in [RFC6424]. A + transit, branch or bud node can use the Downstream Detailed Mapping + TLV to return multiple Return Codes for different downstream paths. + This functionality can not be achieved via the Downstream Mapping + TLV. As per Section 3.4 of [RFC6424], the Downstream Mapping TLV as + described in [RFC4379] is being deprecated. + + Therefore, for P2MP, a node MUST support the Downstream Detailed + Mapping TLV. The Downstream Mapping TLV [RFC4379] is not appropriate + for P2MP traceroute functionality and MUST NOT be included in an Echo + Request message. When responding to an RSVP IPv4/IPv6 P2MP Session + FEC type or a Multicast P2MP/MP2MP LDP FEC type, a node MUST ignore + any Downstream Mapping TLV it receives in the echo request and MUST + continue processing as if the Downstream Mapping TLV is not present. + + The details of the Return Codes to be used in the Downstream Detailed + Mapping TLV are provided in Section 4. + +4. Operation of LSP Ping for a P2MP LSP + + This section describes how LSP ping is applied to P2MP MPLS LSPs. As + mentioned previously, an important design consideration has been to + extend the existing LSP ping mechanism in [RFC4379] rather than + invent new mechanisms. + + + + +Saxena, et al. Standards Track [Page 15] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + As specified in [RFC4379], MPLS LSPs can be tested via a "ping" mode + or a "traceroute" mode. The ping mode is also known as "connectivity + verification" and traceroute mode is also known as "fault isolation". + Further details can be obtained from [RFC4379]. + + This section specifies processing of echo requests for both ping and + traceroute mode at various nodes (ingress, transit, etc.) of the P2MP + LSP. + +4.1. Initiating LSR Operations + + The LSR initiating the echo request will follow the procedures in + [RFC4379]. The echo request will contain a Target FEC Stack TLV. To + identify the P2MP LSP under test, this TLV will contain one of the + new sub-TLVs defined in Section 3.1. Additionally, there may be + other optional TLVs present. + +4.1.1. Limiting Responses to Echo Requests + + As described in Section 2.2, it may be desirable to restrict the + operation of P2MP ping or traceroute to a single egress. Since echo + requests are forwarded through the data plane without interception by + the control plane, there is no facility to limit the propagation of + echo requests, and they will automatically be forwarded to all + reachable egresses. + + However, a single egress may be identified by the inclusion of a P2MP + Responder Identifier TLV. The details of this TLV and its sub-TLVs + are in Section 3.2. There are two main types of sub-TLVs in the P2MP + Responder Identifier TLV: Node Address sub-TLV and Egress Address + sub-TLV. + + These sub-TLVs limit the replies either to the specified LSR only or + to any LSR on the path to the specified LSR. The former capability + is generally useful for ping mode, while the latter is more suited to + traceroute mode. An initiating LSR may indicate that it wishes all + egresses to respond to an echo request by omitting the P2MP Responder + Identifier TLV. + +4.1.2. Jittered Responses to Echo Requests + + The initiating LSR MAY request that the responding LSRs introduce a + random delay (or jitter) before sending the reply. The randomness of + the delay allows the replies from multiple egresses to be spread over + a time period. Thus, this technique is particularly relevant when + the entire P2MP LSP is being pinged or traced since it helps prevent + the initiating (or nearby) LSRs from being swamped by replies, or + from discarding replies due to rate limits that have been applied. + + + +Saxena, et al. Standards Track [Page 16] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + It is desirable for the initiating LSR to be able to control the + bounds of the jitter. If the tree size is small, only a small amount + of jitter is required, but if the tree is large, greater jitter is + needed. + + The initiating LSR can supply the desired value of the jitter in the + Echo Jitter TLV as defined in Section 3.3. If this TLV is present, + the responding LSR MUST delay sending a reply for a random amount of + time between zero milliseconds and the value indicated in the TLV. + If the TLV is absent, the responding egress SHOULD NOT introduce any + additional delay in responding to the echo request, but MAY delay + according to local policy. + + LSP ping MUST NOT be used to attempt to measure the round-trip time + for data delivery. This is because the P2MP LSPs are unidirectional, + and the echo reply is often sent back through the control plane. The + timestamp fields in the echo request and echo reply packets MAY be + used to deduce some information about delivery times, for example the + variance in delivery times. + + The use of echo jittering does not change the processes for gaining + information, but note that the responding node MUST set the value in + the Timestamp Received fields before applying any delay. + + Echo reply jittering SHOULD be used for P2MP LSPs, although it MAY be + omitted for simple P2MP LSPs or when the Node Address P2MP Responder + sub-TLVs are used. If the Echo Jitter TLV is present in an echo + request for any other type of LSPs, the responding egress MAY apply + the jitter behavior as described here. + +4.2. Responding LSR Operations + + Usually the echo request packet will reach the egress and bud nodes. + In case of TTL Expiry, i.e., traceroute mode, the echo request packet + may stop at branch or transit nodes. In both scenarios, the echo + request will be passed on to the control plane for reply processing. + + The operations at the receiving node are an extension to the existing + processing as specified in [RFC4379]. As described in that document, + a responding LSR SHOULD rate-limit the receipt of echo request + messages. After rate-limiting, the responding LSR must verify the + general sanity of the packet. If the packet is malformed or certain + TLVs are not understood, the [RFC4379] procedures must be followed + for echo reply. Similarly, the Reply Mode field determines if the + reply is required or not (and the mechanism to send it back). + + + + + + +Saxena, et al. Standards Track [Page 17] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + For P2MP LSP ping and traceroute, i.e., if the echo request is + carrying an RSVP P2MP FEC or a Multicast LDP FEC, the responding LSR + MUST determine whether it is part of the P2MP LSP in question by + checking with the control plane. + + - If the node is not part of the P2MP LSP, it MUST respond + according to [RFC4379] processing rules. + + - If the node is part of the P2MP LSP, the node must check + whether or not the echo request is directed to it. + + - If a P2MP Responder Identifier TLV is present, then the node + must follow the procedures defined in Section 3.2 to + determine whether or not it should respond to the request. + The presence of a P2MP Responder Identifier TLV or a + Downstream Detailed Mapping TLV might affect the Return + Code. This is discussed in more detail later. + + - If the P2MP Responder Identifier TLV is not present (or, in + the error case, is present, but does not contain any sub- + TLVs), then the node MUST respond according to [RFC4379] + processing rules. + +4.2.1. Echo Reply Reporting + + Echo reply messages carry Return Codes and Subcodes to indicate the + result of the LSP ping (when the ping mode is being used) as + described in [RFC4379]. + + When the responding node reports that it is an egress, it is clear + that the echo reply applies only to that reporting node. Similarly, + when a node reports that it does not form part of the LSP described + by the FEC, then it is clear that the echo reply applies only to that + reporting node. However, an echo reply message that reports an error + from a transit node may apply to multiple egress nodes (i.e., leaves) + downstream of the reporting node. In the case of the ping mode of + operation, it is not possible to correlate the reporting node to the + affected egresses unless the topology of the P2MP tree is already + known, and it may be necessary to use the traceroute mode of + operation to further diagnose the LSP. + + Note that a transit node may discover an error, but it may also + determine that while it does lie on the path of the LSP under test, + it does not lie on the path to the specific egress being tested. In + this case, the node SHOULD NOT generate an echo reply unless there is + a specific error condition that needs to be communicated. + + + + + +Saxena, et al. Standards Track [Page 18] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + The following sections describe the expected values of Return Codes + for various nodes in a P2MP LSP. It is assumed that the sanity and + other checks have been performed and an echo reply is being sent + back. As mentioned in Section 4.2, the Return Code might change + based on the presence of a Responder Identifier TLV or Downstream + Detailed Mapping TLV. + +4.2.1.1. Responses from Transit and Branch Nodes + + The presence of a Responder Identifier TLV does not influence the + choice of the Return Code. For a success response, the Return Code + MAY be set to value 8 ('Label switched at stack-depth <RSC>'). The + notation <RSC> refers to the Return Subcode as defined in Section + 3.1. of [RFC4379]. For error conditions, use appropriate values + defined in [RFC4379]. + + The presence of a Downstream Detailed Mapping TLV will influence the + choice of Return Code. As per [RFC6424], the Return Code in the echo + reply header MAY be set to 'See DDM TLV for Return Code and Return + Subcode' as defined in [RFC6424]. The Return Code for each + Downstream Detailed Mapping TLV will depend on the downstream path as + described in [RFC6424]. + + There will be a Downstream Detailed Mapping TLV for each downstream + path being reported in the echo reply. Hence, for transit nodes, + there will be only one such TLV, and for branch nodes, there will be + more than one. If there is an Egress Address Responder sub-TLV, then + the branch node will include only one Downstream Detailed Mapping TLV + corresponding to the downstream path required to reach the address + specified in the Egress Address sub-TLV. + +4.2.1.2. Responses from Egress Nodes + + The presence of a Responder Identifier TLV does not influence the + choice of the Return Code. For a success response, the Return Code + MAY be set to value 3 ('Replying router is an egress for the FEC at + stack-depth <RSC>'). For error conditions, use appropriate values + defined in [RFC4379]. + + The presence of the Downstream Detailed Mapping TLV does not + influence the choice of Return Code. Egress nodes do not put in any + Downstream Detailed Mapping TLV in the echo reply [RFC6424]. + +4.2.1.3. Responses from Bud Nodes + + The case of bud nodes is more complex than other types of nodes. The + node might behave as either an egress node or a transit node, or a + combination of an egress and branch node. This behavior is + + + +Saxena, et al. Standards Track [Page 19] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + determined by the presence of any Responder Identifier TLV and the + type of sub-TLV in it. Similarly, the Downstream Detailed Mapping + TLV can influence the Return Code values. + + To determine the behavior of the bud node, use the following rules. + The intent of these rules is to figure out if the echo request is + meant for all nodes, or just this node, or for another node reachable + through this node or for a different section of the tree. In the + first case, the node will behave like a combination of egress and + branch node; in the second case, the node will behave like pure + egress node; in the third case, the node will behave like a transit + node; and in the last case, no reply will be sent back. + + Node behavior rules: + + - If the Responder Identifier TLV is not present, then the node + will behave as a combination of egress and branch node. + + - If the Responder Identifier TLV containing a Node Address sub- + TLV is present, and: + + - If the address specified in the sub-TLV matches to an + address in the node, then the node will behave like a + combination of egress and branch node. + + - If the address specified in the sub-TLV does not match any + address in the node, then no reply will be sent. + + - If the Responder Identifier TLV containing an Egress Address + sub-TLV is present, and: + + - If the address specified in the sub-TLV matches to an + address in the node, then the node will behave like an + egress node only. + + - If the node lies on the path to the address specified in the + sub-TLV, then the node will behave like a transit node. + + - If the node does not lie on the path to the address + specified in the sub-TLV, then no reply will be sent. + + Once the node behavior has been determined, the possible values for + Return Codes are as follows: + + - If the node is behaving as an egress node only, then for a + success response, the Return Code MAY be set to value 3 + ('Replying router is an egress for the FEC at stack-depth + <RSC>'). For error conditions, use appropriate values defined + + + +Saxena, et al. Standards Track [Page 20] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + in [RFC4379]. The echo reply MUST NOT contain any Downstream + Detailed Mapping TLV, even if one is present in the echo + request. + + - If the node is behaving as a transit node, and: + + - If a Downstream Detailed Mapping TLV is not present, then + for a success response, the Return Code MAY be set to value + 8 ('Label switched at stack-depth <RSC>'). For error + conditions, use appropriate values defined in [RFC4379]. + + - If a Downstream Detailed Mapping TLV is present, then the + Return Code MAY be set to 'See DDM TLV for Return Code and + Return Subcode' as defined in [RFC6424]. The Return Code + for the Downstream Detailed Mapping TLV will depend on the + downstream path as described in [RFC6424]. There will be + only one Downstream Detailed Mapping corresponding to the + downstream path to the address specified in the Egress + Address sub-TLV. + + - If the node is behaving as a combination of egress and branch + node, and: + + - If a Downstream Detailed Mapping TLV is not present, then + for a success response, the Return Code MAY be set to value + 3 ('Replying router is an egress for the FEC at stack-depth + <RSC>'). For error conditions, use appropriate values + defined in [RFC4379]. + + - If a Downstream Detailed Mapping TLV is present, then for a + success response, the Return Code MAY be set to value 3 + ('Replying router is an egress for the FEC at stack-depth + <RSC>'). For error conditions, use appropriate values + defined in [RFC4379]. The Return Code for the each + Downstream Detailed Mapping TLV will depend on the + downstream path as described in [RFC6424]. There will be a + Downstream Detailed Mapping for each downstream path from + the node. + +4.3. Special Considerations for Traceroute + +4.3.1. End of Processing for Traceroutes + + As specified in [RFC4379], the traceroute mode operates by sending a + series of echo requests with sequentially increasing TTL values. For + regular P2P targets, this processing stops when a valid reply is + received from the intended egress or when some errored return code is + received. + + + +Saxena, et al. Standards Track [Page 21] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + For P2MP targets, there may not be an easy way to figure out the end + of the traceroute processing, as there are multiple egress nodes. + Receiving a valid reply from an egress will not signal the end of + processing. + + For P2MP TE LSP, the initiating LSR has a priori knowledge about the + number of egress nodes and their addresses. Hence, it is possible to + continue processing until a valid reply has been received from each + end point, provided that the replies can be matched correctly to the + egress nodes. + + However, for Multicast LDP LSP, the initiating LSR might not always + know about all of the egress nodes. Hence, there might not be a + definitive way to estimate the end of processing for traceroute. + + Therefore, it is RECOMMENDED that traceroute operations provide for a + configurable upper limit on TTL values. Hence, the user can choose + the depth to which the tree will be probed. + +4.3.2. Multiple Responses from Bud and Egress Nodes + + The P2MP traceroute may continue even after it has received a valid + reply from a bud or egress node, as there may be more nodes at deeper + levels. Hence, for subsequent TTL values, a bud or egress node that + has previously replied would continue to get new echo requests. + Since each echo request is handled independently from previous + requests, these bud and egress nodes will keep on responding to the + traceroute echo requests. This can cause an extra processing burden + for the initiating LSR and these bud or egress LSRs. + + To prevent a bud or egress node from sending multiple replies in the + same traceroute operation, a new "Respond Only If TTL Expired" flag + is being introduced. This flag is described in Section 3.4. + + It is RECOMMENDED that this flag be used for P2MP traceroute mode + only. By using this flag, extraneous replies from bud and egress + nodes can be reduced. If PHP is being used in the P2MP tree, then + bud and egress nodes will not get any labels with the echo request + packet. Hence, this mechanism will not be effective for PHP + scenarios. + +4.3.3. Non-Response to Traceroute Echo Requests + + There are multiple reasons for which an ingress node may not receive + a reply to its echo request. For example, the transit node has + failed or the transit node does not support LSP ping. + + + + + +Saxena, et al. Standards Track [Page 22] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + When no reply to an echo request is received by the ingress, then (as + per [RFC4379]) the subsequent echo request with a larger TTL SHOULD + be sent in order to trace further toward the egress, although the + ingress MAY halt the procedure at this point. The time that an + ingress waits before sending the subsequent echo request is an + implementation choice. + +4.3.4. Use of Downstream Detailed Mapping TLV in Echo Requests + + As described in Section 4.6 of [RFC4379], an initiating LSR, during + traceroute, SHOULD copy the Downstream Mapping(s) into its next echo + request(s). However, for P2MP LSPs, the initiating LSR will receive + multiple sets of Downstream Detailed Mapping TLVs from different + nodes. It is not practical to copy all of them into the next echo + request. Hence, this behavior is being modified for P2MP LSPs. If + the echo request is destined for more than one node, then the + Downstream IP Address field of the Downstream Detailed Mapping TLV + MUST be set to the ALLROUTERS multicast address, and the Address Type + field MUST be set to either IPv4 Unnumbered or IPv6 Unnumbered + depending on the Target FEC Stack TLV. + + If an Egress Address Responder sub-TLV is being used, then the + traceroute is limited to only one egress. Therefore this traceroute + is effectively behaving like a P2P traceroute. In this scenario, as + per Section 4.2, the echo replies from intermediate nodes will + contain only one Downstream Detailed Mapping TLV corresponding to the + downstream path required to reach the address specified in the Egress + Address sub-TLV. For this case, the echo request packet MAY reuse a + received Downstream Detailed Mapping TLV. This will allow interface + validation to be performed as per [RFC4379]. + +4.3.5. Cross-Over Node Processing + + A cross-over node will require slightly different processing for + traceroute mode. The following definition of cross-over is taken + from [RFC4875]. + + The term "cross-over" refers to the case of an ingress or transit + node that creates a branch of a P2MP LSP, a cross-over branch, + that intersects the P2MP LSP at another node farther down the + tree. It is unlike re-merge in that, at the intersecting node, + the cross-over branch has a different outgoing interface as well + as a different incoming interface. + + During traceroute, a cross-over node will receive the echo requests + via each of its input interfaces. Therefore, the Downstream Detailed + Mapping TLV in the echo reply MUST carry information only about the + outgoing interface corresponding to the input interface. + + + +Saxena, et al. Standards Track [Page 23] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + If this restriction is applied, the cross-over node will not + duplicate the outgoing interface information in each of the echo + request it receives via the different input interfaces. This will + reflect the actual packet replication in the data plane. + +5. Non-Compliant Routers + + If a node for a P2MP LSP does not support MPLS LSP ping, then no + reply will be sent, causing an incorrect result on the initiating + LSR. There is no protection for this situation, and operators may + wish to ensure that all nodes for P2MP LSPs are all equally capable + of supporting this function. + + If the non-compliant node is an egress, then the traceroute mode can + be used to verify the LSP nearly all the way to the egress, leaving + the final hop to be verified manually. + + If the non-compliant node is a branch or transit node, then it should + not impact ping mode. However the node will not respond during + traceroute mode. + +6. OAM and Management Considerations + + The procedures in this document provide OAM functions for P2MP MPLS + LSPs and may be used to enable bootstrapping of other OAM procedures. + + In order to be fully operational, several considerations apply. + + - Scaling concerns dictate that only cautious use of LSP ping + should be made. In particular, sending an LSP ping to all + egresses of a P2MP MPLS LSP could result in congestion at or + near the ingress when the replies arrive. + + Further, incautious use of timers to generate LSP ping echo + requests either in ping mode or especially in traceroute may + lead to significant degradation of network performance. + + - Management interfaces should allow an operator full control + over the operation of LSP ping. In particular, such interfaces + should provide the ability to limit the scope of an LSP ping + echo request for a P2MP MPLS LSP to a single egress. + + Such interfaces should also provide the ability to disable all + active LSP ping operations, to provide a quick escape if the + network becomes congested. + + + + + + +Saxena, et al. Standards Track [Page 24] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + - A MIB module is required for the control and management of LSP + ping operations, and to enable the reported information to be + inspected. + + There is no reason to believe this should not be a simple + extension of the LSP ping MIB module used for P2P LSPs. + +7. IANA Considerations + +7.1. New Sub-TLV Types + + Four new sub-TLV types are defined for inclusion within the LSP ping + [RFC4379] Target FEC Stack TLV (TLV type 1). + + IANA has assigned sub-type values to the following sub-TLVs under TLV + type 1 (Target FEC Stack) from the "Multi-Protocol Label Switching + (MPLS) Label Switched Paths (LSPs) Ping Parameters" registry, "TLVs + and sub-TLVs" sub-registry. + + 17 RSVP P2MP IPv4 Session (Section 3.1.1) + 18 RSVP P2MP IPv6 Session (Section 3.1.1) + 19 Multicast P2MP LDP FEC Stack (Section 3.1.2) + 20 Multicast MP2MP LDP FEC Stack (Section 3.1.2) + +7.2. New TLVs + + Two new LSP ping TLV types are defined for inclusion in LSP ping + messages. + + IANA has assigned a new value from the "Multi-Protocol Label + Switching Architecture (MPLS) Label Switched Paths (LSPs) Ping + Parameters" registry, "TLVs and sub-TLVs" sub-registry as follows + using a Standards Action value. + + 11 P2MP Responder Identifier TLV (see Section 3.2) is a mandatory + TLV. + + Four sub-TLVs are defined. + - Sub-Type 1: IPv4 Egress Address P2MP Responder + - Sub-Type 2: IPv6 Egress Address P2MP Responder + - Sub-Type 3: IPv4 Node Address P2MP Responder + - Sub-Type 4: IPv6 Node Address P2MP Responder + + 12 Echo Jitter TLV (see Section 3.3) is a mandatory TLV. + + + + + + + +Saxena, et al. Standards Track [Page 25] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + +7.3. New Global Flags Registry + + IANA has created a new sub-registry of the "Multi-Protocol Label + Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" + registry. The sub-registry is called the "Global Flags" registry. + + This registry tracks the assignment of 16 flags in the Global Flags + field of the MPLS LSP ping echo request message. The flags are + numbered from 0 (most significant bit, transmitted first) to 15. + + New entries are assigned by Standards Action. + + Initial entries in the registry are as follows: + + Bit number | Name | Reference + ------------+----------------------------+-------------- + 15 | V Flag | [RFC4379] + 14 | T Flag | [RFC6425] + 13-0 | Unassigned | + +8. Security Considerations + + This document does not introduce security concerns over and above + those described in [RFC4379]. Note that because of the scalability + implications of many egresses to P2MP MPLS LSPs, there is a stronger + concern about regulating the LSP ping traffic passed to the control + plane by the use of a rate limiter applied to the LSP ping well-known + UDP port. This rate limiting might lead to false indications of LSP + failure. + +9. Acknowledgements + + The authors would like to acknowledge the authors of [RFC4379] for + their work, which is substantially re-used in this document. Also, + thanks to the members of the MBONED working group for their review of + this material, to Daniel King and Mustapha Aissaoui for their + reviews, and to Yakov Rekhter for useful discussions. + + The authors would like to thank Bill Fenner, Vanson Lim, Danny + Prairie, Reshad Rahman, Ben Niven-Jenkins, Hannes Gredler, Nitin + Bahadur, Tetsuya Murakami, Michael Hua, Michael Wildt, Dipa Thakkar, + Sam Aldrin, and IJsbrand Wijnands for their comments and suggestions. + + + + + + + + + +Saxena, et al. Standards Track [Page 26] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + +10. References + +10.1. Normative References + + [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 LSP-Ping over MPLS Tunnels", RFC 6424, + November 2011. + +10.2. Informative References + + [IANA-AF] IANA Assigned Port Numbers, + <http://www.iana.org/assignments/address-family-numbers>. + + [RFC792] Postel, J., "Internet Control Message Protocol", STD 5, + RFC 792, September 1981. + + [RFC4461] Yasukawa, S., Ed., "Signaling Requirements for Point-to- + Multipoint Traffic-Engineered MPLS Label Switched Paths + (LSPs)", RFC 4461, April 2006. + + [RFC4687] Yasukawa, S., Farrel, A., King, D., and T. Nadeau, + "Operations and Management (OAM) Requirements for Point- + to-Multipoint MPLS Networks", RFC 4687, September 2006. + + [RFC4875] Aggarwal, R., Ed., Papadimitriou, D., Ed., and S. + Yasukawa, Ed., "Extensions to Resource Reservation + Protocol - Traffic Engineering (RSVP-TE) for Point-to- + Multipoint TE Label Switched Paths (LSPs)", RFC 4875, May + 2007. + + [RFC5884] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow, + "Bidirectional Forwarding Detection (BFD) for MPLS Label + Switched Paths (LSPs)", RFC 5884, June 2010. + + [RFC6348] Le Roux, JL., Ed., and T. Morin, Ed., "Requirements for + Point-to-Multipoint Extensions to the Label Distribution + Protocol", RFC 6348, September 2011. + + + + + + + +Saxena, et al. Standards Track [Page 27] + +RFC 6425 P2MP MPLS Extensions to LSP PING November 2011 + + + [RFC6388] Wijnands, IJ., Ed., Minei, I., Ed., Kompella, K., and B. + Thomas, "Label Distribution Protocol Extensions for + Point-to-Multipoint and Multipoint-to-Multipoint Label + Switched Paths", RFC 6388, November 2011. + +Authors' Addresses + + Shaleen Saxena + Cisco Systems, Inc. + 1414 Massachusetts Ave + Boxborough, MA 01719 + EMail: ssaxena@cisco.com + + George Swallow + Cisco Systems, Inc. + 1414 Massachusetts Ave + Boxborough, MA 01719 + EMail: swallow@cisco.com + + Zafar Ali + Cisco Systems Inc. + 2000 Innovation Drive + Kanata, ON, K2K 3E8, Canada. + Phone: 613-889-6158 + EMail: zali@cisco.com + + Adrian Farrel + Juniper Networks + EMail: adrian@olddog.co.uk + + Seisho Yasukawa + NTT Corporation + 3-9-11, Midori-Cho Musashino-Shi + Tokyo 180-8585 Japan + Phone: +81 422 59 2684 + EMail: yasukawa.seisho@lab.ntt.co.jp + + Thomas D. Nadeau + CA Technologies, Inc. + 273 Corporate Drive + Portsmouth, NH 03801 + + EMail: thomas.nadeau@ca.com + + + + + + + + +Saxena, et al. Standards Track [Page 28] + |