RFC 7737

Label Switched Path (LSP) Ping and Traceroute Reply Mode Simplification

๐Ÿ“… published January 2016, from ietf

RFC 7737: Label Switched Path (LSP) Ping and Traceroute Reply Mode Simplification ๐Ÿฆ‹

Okay bestie, the title block tells us this is RFC 7737 from the IETF (Internet Engineering Task Force) ๐Ÿ’–. It was written by N. Akiya of Big Switch Networks, G. Swallow and C. Pignataro of Cisco Systems, and L. Andersson and M. Chen of Huawei. It's dated January 2016 and it's a Standards Track document (ISSN 2070-1721). It updates RFC 7110, and the header doesn't list anything it obsoletes โœจ.

Abstract ๐ŸŒธ

Okay so, MPLS LSP Ping and Traceroute use the Reply Mode field to signal which method gets used for the MPLS echo reply ๐Ÿงš. This doc updates the procedures for the "Reply via Specified Path" Reply Mode, which has the value 5. The update gives us a simple way to say that the reverse LSP should be used as the return path ๐Ÿ’…. It also adds an optional TLV that can carry an ordered list of Reply Mode values ๐Ÿซถ.

This document updates RFC 7110.

Status of This Memo ๐Ÿ“œ

This is an Internet Standards Track document.

It's a product of the Internet Engineering Task Force (IETF), so it represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). If you want more on Internet Standards, check out Section 2 of RFC 5741 ๐ŸŒˆ.

For the current status, any errata, and how to give feedback, go to http://www.rfc-editor.org/info/rfc7737 ๐Ÿ’œ.

Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, since 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 they are provided without warranty as described in the Simplified BSD License ๐ŸŽ€.

Table of Contents ๐Ÿ“

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   2.  Problem Statements  . . . . . . . . . . . . . . . . . . . . .   4
   3.  Solution  . . . . . . . . . . . . . . . . . . . . . . . . . .   5
     3.1.  "Reply via Specified Path" Reply Mode Update  . . . . . .   5
     3.2.  Reply Mode Order TLV  . . . . . . . . . . . . . . . . . .   6
   4.  Relationships to Other LSP Ping and Traceroute Features . . .   8
     4.1.  Backwards Compatibility with "Reply via Specified Path"
           Reply Mode  . . . . . . . . . . . . . . . . . . . . . . .   8
     4.2.  Reply Path TLV  . . . . . . . . . . . . . . . . . . . . .   8
       4.2.1.  Example 1: Reply Mode Order TLV Usage with Reply Path
               TLV . . . . . . . . . . . . . . . . . . . . . . . . .   9
       4.2.2.  Example 2: Reply Mode Order TLV Usage with Reply Path
               TLV . . . . . . . . . . . . . . . . . . . . . . . . .  10
     4.3.  Proxy LSP Ping  . . . . . . . . . . . . . . . . . . . . .  10
       4.3.1.  Proxy LSR Sending an MPLS Echo Request  . . . . . . .  10
       4.3.2.  Proxy LSR Sending an MPLS Proxy Ping Reply  . . . . .  11
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  11
   6.  Manageability Considerations  . . . . . . . . . . . . . . . .  11
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  12
     7.1.  New Reply Mode Order TLV  . . . . . . . . . . . . . . . .  12
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  12
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .  12
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  13
   Appendix A.  Reply Mode Order TLV Beneficial Scenarios  . . . . .  14
     A.1.  Incorrect Forwarding Scenario . . . . . . . . . . . . . .  14
     A.2.  Non-Co-Routed Bidirectional LSP Scenario  . . . . . . . .  15
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  16
   Contributors  . . . . . . . . . . . . . . . . . . . . . . . . . .  16
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  17

1. Introduction โœจ

MPLS LSP Ping, as described in [RFC4379], lets an initiator Label Switching Router (LSR) encode instructions, called the Reply Mode, that tell a responder LSR how to send the response back to the initiator LSR ๐Ÿฆ‹. [RFC7110] also lets the initiator LSR encode a TLV (the Reply Path TLV) that tells the responder LSR to use a specific LSP to send the response back. Both approaches are seriously powerful, since they let the initiator LSR control the return path ๐Ÿ‘‘.

BUT here's the tea ๐Ÿซ . It's getting harder and harder for an initiator LSR to pick a valid return path to encode in the MPLS LSP echo request packets. If the initiator LSR picks a bad one, the MPLS LSP echo reply never makes it back, and that causes a false failure of MPLS LSP Ping and Traceroute operations ๐Ÿ’€. To cut down on those false failures, different implementations picked different default return path encodings for different LSP types and LSP operations. The problem is that the MPLS echo reply won't work in lots of cases, and the default might not be what operators actually want ๐Ÿ˜ญ.

This document covers the following:

  • In Section 2, more detail on the problems ๐ŸŒธ;
  • In Section 3, a solution that cuts down on false failures while still respecting operator preferences ๐Ÿ’–;
  • In Section 4, how this connects to other LSP Ping and Traceroute features ๐Ÿงš;
  • In Appendix A, examples of scenarios where the mechanism in this document is actually helpful ๐ŸŒˆ.

Quick recap: this document updates [RFC7110] by allowing the "Reply via Specified Path" (value=5) Reply Mode to be used without including the Reply Path TLV. That's a simple way to say the reverse LSP should be the return path ๐Ÿ’….

1.1. 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].

2. Problem Statements ๐Ÿ”ฅ

It's getting harder for implementations to automatically supply a workable return path encoding for all MPLS LSP Ping and Traceroute operations across all LSP types ๐Ÿ˜ฉ. A few things make this messy.

  • Some LSPs have a control channel and some don't. Some LSPs have a reverse LSP and some don't. Some LSPs have IP reachability in the reverse direction and some don't ๐Ÿ™ˆ.
  • LSRs on some LSPs can have different available return paths. Those can depend on whether the responder LSR is a transit LSR or an egress LSR. For a bidirectional LSP, the available return paths on transit LSRs can also depend on whether the LSP is completely co-routed, partially co-routed, or associated (meaning the LSPs in the two directions are not co-routed) ๐Ÿฆ‹.
  • MPLS echo request packets can incorrectly terminate on an unintended target, and that target might have different available return paths than the intended one ๐Ÿ’€.
  • The MPLS LSP Ping operation is expected to terminate on an egress LSR. But MPLS LSP Ping operations with specific TTL values, and MPLS LSP Traceroute operations, can terminate on both transit LSR(s) and the egress LSR ๐Ÿงš.

Except for the case where the responder LSR doesn't have an IP route back to the initiator LSR, you can use the "Reply via an IPv4/IPv6 UDP packet" (value=2) Reply Mode value in every case ๐Ÿ’…. Still, some operators prefer the control channel and a reverse LSP as the default return path when both are available, even though that isn't always the best choice ๐Ÿ‘‘.

When users or applications supply a specific return path encoding, there are no issues picking the return path encoding ๐Ÿซถ. When they don't, implementations use extra logic to compute, and sometimes guess, the default return path encodings ๐Ÿ˜ตโ€๐Ÿ’ซ. If a responder LSR gets an MPLS echo request with return path instructions it can't accommodate because they're unavailable, it often drops the packet ๐Ÿ’”. That failure mode means the initiator LSR never receives the intended MPLS LSP echo reply packets. This is kind of acceptable in some failure cases, like a broken LSP where the MPLS echo request ended up on an unintended target. But if the initiator LSR doesn't get an MPLS echo reply even though the responder LSR received the request and was able to verify it, information still gets sent back to the user(s), and that's considered a false failure ๐Ÿ™ƒ.

Lots of operators prefer particular return paths over others for specific LSP types ๐ŸŒธ. To handle that, implementations may default to operator-preferred return paths for particular operations, or let a default return path be configured. It wouldn't be beneficial to use a preferred return path for an intended target LSR if the initiator LSR already knows that return path isn't available, because the initiator LSR then wouldn't get the MPLS echo return packets ๐Ÿ˜ญ. It would be beneficial, for given operations, if the sender of the MPLS echo request could figure out whether a return path is available before starting the operation ๐Ÿ”ฎ.

This document does two things: (1) it updates the procedures for the "Reply via Specified Path" Reply Mode so you can easily indicate the reverse LSP, and (2) it adds one optional TLV that describes an ordered list of Reply Modes โœจ. Depending on what operators need, the TLV can list multiple Reply Mode values in preferred order, so the responder LSR can use the first available Reply Mode from the list ๐ŸŽ€. That means the initiator LSR doesn't have to compute, or sometimes guess, the default return path encoding anymore ๐Ÿ’–. This new mode of operation makes implementations simpler across the different vendors and improves both usability and operational needs ๐ŸŒˆ.

3. Solution ๐Ÿฆ‹

This document updates the procedures for the "Reply via Specified Path" Reply Mode so you can easily indicate the reverse LSP ๐Ÿ’…. It also adds an optional TLV that can carry an ordered list of Reply Modes ๐Ÿงš.

3.1. "Reply via Specified Path" Reply Mode Update ๐Ÿฆ‹

Okay bestie, so some LSP types can have a buddy LSP going the other way ๐Ÿ’œ, linked up through signaling or other association stuff. Examples are bidirectional RSVP-TE LSPs [RFC3473] and MPLS-TP LSPs [RFC5960]. This doc calls that other-way buddy the "reverse LSP" ๐ŸŽ€. Quick note: we only mean reverse LSPs that are actually capable and allowed to carry the IP encapsulated MPLS echo reply โœจ.

[RFC7110] already gave us the Reply Mode "Reply via Specified Path" ๐Ÿ‘‘. It lets the initiator LSR tell the responder LSR to send the MPLS echo reply on the reverse LSP. The catch? The initiator also had to include a Reply Path TLV with the B bit (Bidirectional bit) set in the Flags field ๐Ÿ™ˆ. And [RFC7110] said that if you used "Reply via Specified Path", the Reply Path TLV MUST be present. Very strict, bestie ๐Ÿ’€.

This doc updates the procedures for that Reply Mode like so:

  • The "Reply via Specified Path" Reply Mode MAY be used without including a Reply Path TLV.
  • Using it without a Reply Path TLV implies the reverse LSP. In other words, it has the same semantics as using it with a Reply Path TLV that has the B bit set in the Flags field ๐ŸŒธ.

This document updates the first sentence of Section 5.1 of [RFC7110] as follows:

  • When sending an echo request, in addition to the rules and procedures defined in Section 4.3 of [RFC4379], the Reply Mode of the echo request MUST be set to "Reply via Specified Path", and a Reply Path TLV SHOULD be carried in the echo request message correspondingly. If the Reply Path TLV is not carried in the message, then it indicates the reverse LSP as the reply path ๐Ÿงš.

Note that the reverse LSP is in relation to the last Forwarding Equivalence Class (FEC) specified in the Target FEC Stack TLV. Keep that in your back pocket, it matters ๐Ÿ‘€.

3.2. Reply Mode Order TLV ๐ŸŒˆ

This document also introduces a brand new optional TLV ๐Ÿ“ to describe a list of Reply Mode values. The new TLV carries one or more Reply Mode values in preferred order. The first Reply Mode value is the most preferred, and the last one is the least preferred. These rules apply when using the Reply Mode Order TLV:

  1. The Reply Mode Order TLV MUST NOT be included in any MPLS echo reply. If the initiator LSR receives an MPLS echo reply with the Reply Mode Order TLV, the initiator LSR MUST ignore the whole Reply Mode Order TLV and MUST only use the value from the Reply Mode field of the received MPLS echo reply. It may be beneficial for implementations to provide counters and/or logs, with appropriate log dampening, to record this error case ๐Ÿ™…โ€โ™€๏ธ.
  2. The Reply Mode Order TLV MAY be included in MPLS echo requests ๐Ÿ’–.
  3. The Reply Mode field of an MPLS echo request MUST be set to a valid value even when supplying the Reply Mode Order TLV. The initiator LSR SHOULD set the Reply Mode field to a value that corresponds to a return path that is most likely to be available, in case the responder LSR does not understand the Reply Mode Order TLV ๐Ÿ›Ÿ.
  4. If a responder LSR understands the Reply Mode Order TLV but the TLV is not valid (due to the conditions described in items 6, 7, 8, and 9 below), then the responder LSR MUST ignore the whole Reply Mode Order TLV and MUST only use the value from the Reply Mode field of the received MPLS echo request. It may be beneficial for implementations to provide counters and/or logs, with appropriate log dampening, to record this error case ๐Ÿ“.
  5. If a responder LSR understands the Reply Mode Order TLV and the TLV is valid, then the responder LSR MUST consider the Reply Mode values specified in the TLV and MUST NOT use the value specified in the Reply Mode field of the received MPLS echo request. In other words, a valid Reply Mode Order TLV overrides the value in the Reply Mode field of the received MPLS echo request ๐Ÿ‘‘.
  6. The Reply Mode Order TLV MUST contain at least one Reply Mode value ๐Ÿซถ.
  7. A Reply Mode value, except for Reply Mode value 5 (Reply via Specified Path), MUST NOT be repeated (i.e., MUST NOT appear multiple times) in the Reply Mode Order TLV ๐Ÿšซ.
  8. Reply Mode value 5 (Reply via Specified Path) MAY be included more than once in the Reply Mode Order TLV. However, in such a case, a Reply Path TLV MUST be included for all instances of Reply Mode value 5 that are included in the Reply Mode Order TLV. In other words, three instances of Reply Mode value 5 in the Reply Mode Order TLV will each require a Reply Path TLV ๐Ÿงฎ.
  9. The Reply Mode value 1 (Do not reply) MUST NOT be used in the Reply Mode Order TLV ๐Ÿ™….

The responder LSR SHOULD select the first available return path in this TLV. The Reply Mode value corresponding to the selected return path MUST be set in the Reply Mode field of the MPLS echo reply, so the initiator LSR knows which return path was chosen ๐ŸŽฏ.

The format of the 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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Reply Mode Order TLV Type     |          Length               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~ Reply Mode 1  | Reply Mode 2  | Reply Mode 3  | Reply Mode 4  ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Figure 1: Reply Mode Order TLV

This is a variable-length optional TLV ๐ŸŒท. The Reply Mode Order TLV Type is 32770.

The Length field is 2 octets in length. It defines the length, in octets, of the list of Reply Mode values ๐Ÿ“.

Each Reply Mode field is 1 octet, and there is no padding โœจ.

4. Relationships to Other LSP Ping and Traceroute Features ๐Ÿฆ‹

4.1. Backwards Compatibility with "Reply via Specified Path" Reply Mode ๐Ÿค

[RFC7110] introduces the "Reply via Specified Path" (value=5) Reply Mode ๐Ÿ‘‘. [RFC7110] also specifies that if this Reply Mode is used, the Reply Path TLV MUST be included. This document relaxes that and specifies that this Reply Mode MAY be used without the Reply Path TLV. This MAY be done to indicate that the reverse LSP SHALL be used as the return path ๐Ÿชž.

If an initiator LSR that sent an MPLS echo request message with the "Reply via Specified Path" Reply Mode but without including the Reply Path TLV receives back an MPLS echo reply message with a return code of "Malformed echo request received", then the initiator LSR SHOULD assume that the responder LSR does not support the mechanism defined in this document ๐Ÿฅบ.

4.2. Reply Path TLV ๐Ÿงญ

A Reply Path TLV [RFC7110] is defined to identify a single return path. When the initiator LSR wants to use the Reply Mode Order TLV to specify multiple return paths, then the initiator LSR SHOULD include multiple "Reply via Specified Path" (value=5) Reply Mode values and multiple corresponding Reply Path TLV objects (one Reply Path TLV corresponding to a "Reply via Specified Path" Reply Mode and one Reply Path TLV identifying a return path) ๐Ÿงฉ.

As described in Section 3.1, it is valid to use the "Reply via Specified Path" Reply Mode without inclusion in a Reply Path TLV. For the Reply Mode Order TLV, it is also valid to include a "Reply via Specified Path" Reply Mode value without a corresponding Reply Path TLV. This implies that the reverse LSP is the preferred return path ๐Ÿ’…. When multiple consecutive "Reply via Specified Path" Reply Mode values are included but fewer corresponding Reply Path TLV objects exist, the responder LSR SHOULD think that the former "Reply via Specified Path" Reply Mode values have corresponding Reply Path TLVs. The latter "Reply via Specified Path" Reply Mode values have no corresponding Reply Path TLVs. For example, if the Reply Mode Order TLV carries Reply Modes {5, 5, 5} and only two Reply Path TLVs carry FEC X and FEC Y, respectively, then the reply path order is as follows:

  1. Reply via Specified Path (FEC X)
  2. Reply via Specified Path (FEC Y)
  3. Reply via Specified Path (reverse LSP) ๐ŸŽ€

4.2.1. Example 1: Reply Mode Order TLV Usage with Reply Path TLV ๐Ÿฐ

If the initiator LSR was interested in encoding the following return paths:

  1. Reply via application level control channel
  2. FEC X
  3. FEC Y
  4. Reply via an IPv4/IPv6 UDP packet

Then the MPLS echo request message is to carry:

  • The Reply Mode Order TLV carrying Reply Modes {4, 5, 5, 2}
  • One Reply Path TLV carrying FEC X
  • One Reply Path TLV carrying FEC Y

The encoding specified by the Reply Mode Order TLV and the Reply Path TLV in the MPLS echo request message will cause the responder LSR to prefer "Reply via application level control channel (4)", followed by FEC X, FEC Y, and then "Reply via an IPv4/IPv6 UDP packet (2)" ๐ŸŒŸ.

4.2.2. Example 2: Reply Mode Order TLV Usage with Reply Path TLV ๐ŸŒ™

If the initiator LSR was interested in encoding the following return paths:

  1. Reverse LSP
  2. Reply via an IPv4/IPv6 UDP packet
  3. FEC X
  4. FEC Y

Then the MPLS echo request message is to carry:

  • The Reply Mode Order TLV carrying Reply Modes {5, 2, 5, 5}
  • One Reply Path TLV with the B bit set
  • One Reply Path TLV carrying FEC X
  • One Reply Path TLV carrying FEC Y

The encoding specified by the Reply Mode Order TLV and the Reply Path TLV in the MPLS echo request message will cause the responder LSR to prefer the reverse LSP, followed by "Reply via an IPv4/IPv6 UDP packet (2)", FEC X, and then FEC Y ๐Ÿš€.

4.3. Proxy LSP Ping ๐Ÿ›ธ

The mechanism defined in this document will work with Proxy LSP Ping as defined by [RFC7555] ๐Ÿคฉ. The MPLS proxy ping request message can carry a Reply Mode value in the header and one or more Reply Mode values in the Reply Mode Order TLV. It is RECOMMENDED that Reply Mode 2 (Reply via an IPv4/IPv6 UDP packet) be used in the Reply Mode field of the MPLS proxy ping request message ๐Ÿ’œ.

4.3.1. Proxy LSR Sending an MPLS Echo Request ๐Ÿ“จ

If the proxy LSR is sending an MPLS echo request, then the proxy LSR MUST copy the following elements from the MPLS proxy ping request message to the MPLS echo request message:

  • The Reply Mode field.
  • The Reply Mode Order TLV.
  • The Reply Path TLV(s). If there is more than one Reply Path TLV, then the ordering of the TLVs MUST be preserved when copying ๐Ÿ”.

4.3.2. Proxy LSR Sending an MPLS Proxy Ping Reply ๐Ÿ“ฌ

If the proxy LSR is sending an MPLS proxy ping reply, then it is RECOMMENDED that the Reply Mode Order TLV be ignored and the Reply Mode field in the MPLS proxy ping request message be used ๐Ÿซง.

Okay, bestie, let's keep going. ๐Ÿ’…๐ŸŽ€

5. Security Considerations โœจ

The security considerations specified in [RFC4379] and [RFC7110] also apply for this document. ๐Ÿ”’

In addition, this document introduces the Reply Mode Order TLV. Okay, so this is lowkey a big deal ๐Ÿ‘€: it gives an unauthorized source a new way to gather more network information, especially about the potential return path(s) of an LSP. ๐Ÿ˜ญ To protect against unauthorized sources sending MPLS echo request messages with the Reply Mode Order TLV to dig up network info (same protection idea as in [RFC4379]), it is RECOMMENDED that implementations provide a means of checking the source addresses of MPLS echo request messages against an access list before accepting the message. Access lists are your bodyguards, periodt ๐Ÿ›ก๏ธ๐Ÿ’–

Another potential security issue: MPLS echo request and reply messages are not encrypted, so their contents may be potentially exposed. ๐Ÿ™ˆ Although the exposure is within the MPLS domain, if that's a concern, some encryption mechanisms [MPLS-OPP-ENCR] may be employed. ๐Ÿ”โœจ

6. Manageability Considerations ๐ŸŽ€

Section 2 described the problems that make operations and implementations more complicated. ๐Ÿงฉ To simplify operations and let LSP Ping and Traceroute work efficiently while keeping code simple, it is RECOMMENDED that implementations let devices have configuration options for operator-preferred Reply Modes. For example:

  • For operators who care more about MPLS echo reply packets reaching the initiator LSR: ๐Ÿ’Œ
    1. Reply via an IPv4/IPv6 UDP packet (2)
    2. Reply via application level control channel (4)
    3. Reply via Specified Path (5)
  • For operators who care more about MPLS echo reply packets testing the paths related to the forward LSP: ๐Ÿ”
    1. Reply via Specified Path (5)
    2. Reply via application level control channel (4)
    3. Reply via an IPv4/IPv6 UDP packet (2)

7. IANA Considerations ๐Ÿ“‹

7.1. New Reply Mode Order TLV ๐Ÿฆ‹

IANA has assigned a new TLV type value from the "TLVs" sub-registry within the "Multiprotocol Label Switching Architecture (MPLS) Label Switched Paths (LSPs) Ping Parameters" registry, for the Reply Mode Order TLV. ๐ŸŽ‰

The new TLV Type value has been assigned from the range 32768-49161, as specified in Sections 3 and 7.2 of [RFC4379]. This range is for optional TLVs that can be silently dropped if not recognized. ๐Ÿซถ

  Type    Meaning                            Reference
  -----   -------                            ---------
  32770   Reply Mode Order TLV               RFC 7737

8. References ๐Ÿ“š

8.1. Normative References

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119,
           DOI 10.17487/RFC2119, March 1997,
           <http://www.rfc-editor.org/info/rfc2119>.

[RFC4379]  Kompella, K. and G. Swallow, "Detecting Multi-Protocol
           Label Switched (MPLS) Data Plane Failures", RFC 4379,
           DOI 10.17487/RFC4379, February 2006,
           <http://www.rfc-editor.org/info/rfc4379>.

[RFC7110]  Chen, M., Cao, W., Ning, S., Jounay, F., and S. Delord,
           "Return Path Specified Label Switched Path (LSP) Ping",
           RFC 7110, DOI 10.17487/RFC7110, January 2014,
           <http://www.rfc-editor.org/info/rfc7110>.

8.2. Informative References

[MPLS-OPP-ENCR]
           Farrel, A. and S. Farrell, "Opportunistic Security in MPLS
           Networks", Work in Progress, draft-ietf-mpls-
           opportunistic-encrypt-00, July 2015.

[RFC3473]  Berger, L., Ed., "Generalized Multi-Protocol Label
           Switching (GMPLS) Signaling Resource ReserVation Protocol-
           Traffic Engineering (RSVP-TE) Extensions", RFC 3473,
           DOI 10.17487/RFC3473, January 2003,
           <http://www.rfc-editor.org/info/rfc3473>.

[RFC5960]  Frost, D., Ed., Bryant, S., Ed., and M. Bocci, Ed., "MPLS
           Transport Profile Data Plane Architecture", RFC 5960,
           DOI 10.17487/RFC5960, August 2010,
           <http://www.rfc-editor.org/info/rfc5960>.

[RFC7555]  Swallow, G., Lim, V., and S. Aldrin, "Proxy MPLS Echo
           Request", RFC 7555, DOI 10.17487/RFC7555, June 2015,
           <http://www.rfc-editor.org/info/rfc7555>.

Appendix A. Reply Mode Order TLV Beneficial Scenarios ๐ŸŒˆ

This section lists examples of how the Reply Mode Order TLV can be beneficial. โœจ

A.1. Incorrect Forwarding Scenario ๐Ÿ™€

As shown in Figure 2, a network has an LSP with the forwarding path A-B-C-D-E. The LSP has a control channel. ๐Ÿ›ค๏ธ

                    A------B------C------D------E
                                         |
                                         |
                                         F

                    Forward Path: A-B-C-D-E

                    Figure 2: Incorrect Forwarding

If D is incorrectly label switching to F (instead of E), then LSP Traceroute with "Reply via application level control channel (4)" will result in the following:

Success (Reply from B)
Success (Reply from C)
Success (Reply from D)
Timeout...
Complete

This is because F does not have a control channel on which to send the MPLS echo reply message. ๐Ÿ˜ฉ With the extensions described in this document, the same procedures can be performed with the Reply Mode Order TLV carrying {4, 2}. When LSP Traceroute is issued, the following output may be displayed without any unnecessary timeout:

Success (Reply from B, Reply Mode: 4)
Success (Reply from C, Reply Mode: 4)
Success (Reply from D, Reply Mode: 4)
FEC Mismatch (Reply from F, Reply Mode: 2)
Complete

The result provides more diagnostic information to the initiator LSR, and without any delay (i.e., timeout from one or more downstream LSRs). ๐Ÿง ๐Ÿ’…

A.2. Non-Co-Routed Bidirectional LSP Scenario ๐Ÿ”€

As shown in Figure 3, a network has a bidirectional LSP where the forward LSP and the reverse LSP are not fully co-routed. ๐Ÿชž

                       +----C------D----+
                      /                  \
              A------B                    G------H
                      \                  /
                       +----E------F----+

              Forward Path: A-B-C-D-G-H (upper path)
              Reverse Path: H-G-F-E-B-A (lower path)

             Figure 3: Non-Co-Routed Bidirectional LSP

Some operators may prefer and configure "Reply via Specified Path" as the default Reply Mode, but without including the Reply Path TLV. This indicates that the reverse LSP is used as the return path when MPLS echo request messages are sent on bidirectional LSPs. Without the extensions described in this document, the following behaviors will be seen:

  • When LSP Ping is issued from A, the reply will come back on the reverse LSP from H. ๐Ÿ“
  • When LSP Traceroute is issued from A, the replies will come back on the reverse LSP from B, G, and H, but will encounter a timeout from C and D, as there are no reverse LSPs on those nodes. ๐Ÿ˜ฌ
  • When LSP Ping with a specific TTL value is issued from A, whether a timeout will be encountered depends on the value of the TTL used (i.e., whether or not the MPLS echo request terminates on a node that has a reverse LSP). ๐Ÿค”

One can argue that the initiator LSR can automatically generate the same MPLS echo request with a different Reply Mode value to those nodes that time out. However, such a mechanism will result in an extended time for the entire operation to complete (i.e., multiple seconds to multiple minutes). This is undesirable, and perhaps unacceptable if the "user" is an application. โณ๐Ÿ’€

With the extensions described in this document, the same procedures can be performed with the Reply Mode Order TLV carrying {5, 2}. When LSP Traceroute is issued, the following output may be displayed without any unnecessary timeout:

Success (Reply Mode: 5)
Success (Reply Mode: 2)
Success (Reply Mode: 2)
Success (Reply Mode: 5)
Success (Reply Mode: 5)
Complete

Acknowledgements ๐Ÿซถ

The authors especially thank Tom Taylor, who passed away close to the time of publication of this RFC. Tom did a careful review of the document and provided useful comments. ๐Ÿ•Š๏ธ๐Ÿ’œ

The authors would also like to thank Santiago Alvarez and Faisal Iqbal for discussions that motivated the creation of this document. They also thank Sam Aldrin, Curtis Villamizar, Ross Callon, Jeffrey Zhang, Jeremy Whittaker, Mustapha Alissaoui, Qin Wu, Jie Dong, and Adrian Farrel for providing valuable comments that influenced the content of the document, and Dan Frost, Victor Kuarsingh, and Deborah Brungard for reviewing the document and providing useful comments. ๐Ÿ™Œ

Contributors ๐ŸŒธ

Shaleen Saxena Brocade

Email: ssaxena@brocade.com

Authors' Addresses ๐Ÿงš

Nobo Akiya Big Switch Networks

Email: nobo.akiya.dev@gmail.com

George Swallow Cisco Systems

Email: swallow@cisco.com

Carlos Pignataro Cisco Systems

Email: cpignata@cisco.com

Loa Andersson Huawei

Email: loa@mail01.huawei.com

Mach(Guoyi) Chen Huawei

Email: mach.chen@huawei.com

๐Ÿ“ฆ where this page comes from