draft-ietf-mpls-lsp-ping-reply-mode-simple-03.txt   draft-ietf-mpls-lsp-ping-reply-mode-simple-04.txt 
Internet Engineering Task Force N. Akiya Internet Engineering Task Force N. Akiya
Internet-Draft Big Switch Networks Internet-Draft Big Switch Networks
Updates: 7110 (if approved) G. Swallow Updates: 7110 (if approved) G. Swallow
Intended status: Standards Track C. Pignataro Intended status: Standards Track C. Pignataro
Expires: November 2, 2015 Cisco Systems Expires: March 16, 2016 Cisco Systems
L. Andersson L. Andersson
M. Chen M. Chen
Huawei Huawei
May 1, 2015 September 13, 2015
Label Switched Path (LSP) Ping/Traceroute Reply Mode Simplification Label Switched Path (LSP) Ping/Traceroute Reply Mode Simplification
draft-ietf-mpls-lsp-ping-reply-mode-simple-03 draft-ietf-mpls-lsp-ping-reply-mode-simple-04
Abstract Abstract
The Multiprotocol Label Switching (MPLS) Label Switched Path (LSP) The Multiprotocol Label Switching (MPLS) Label Switched Path (LSP)
Ping and Traceroute use the Reply Mode field to signal the method to Ping and Traceroute use the Reply Mode field to signal the method to
be used in the MPLS echo reply. This document updates the "Reply via be used in the MPLS echo reply. This document updates the "Reply via
Specified Path (5)" Reply Mode value to easily indicate the reverse Specified Path (5)" Reply Mode value to easily indicate the reverse
LSP. This document also adds an optional TLV which can carry ordered LSP. This document also adds an optional TLV which can carry ordered
list of Reply Mode values. list of Reply Mode values.
skipping to change at page 1, line 48 skipping to change at page 1, line 48
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 2, 2015. This Internet-Draft will expire on March 16, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 27 skipping to change at page 2, line 27
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Problem Statements . . . . . . . . . . . . . . . . . . . . . 3 2. Problem Statements . . . . . . . . . . . . . . . . . . . . . 3
3. Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1. Reply via Specified Path Update . . . . . . . . . . . . . 5 3.1. Reply via Specified Path Update . . . . . . . . . . . . . 5
3.2. Reply Mode Order TLV . . . . . . . . . . . . . . . . . . 6 3.2. Reply Mode Order TLV . . . . . . . . . . . . . . . . . . 6
4. Relations to Other LSP Ping/Trace Features . . . . . . . . . 7 4. Relations to Other LSP Ping/Trace Features . . . . . . . . . 8
4.1. Reply Path TLV . . . . . . . . . . . . . . . . . . . . . 7 4.1. Backwards Compatibility with Reply via Specified Path (5)
4.1.1. Example 1: Reply Mode Order TLV Usage with Reply Path Reply Mode . . . . . . . . . . . . . . . . . . . . . . . 8
TLV . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2. Reply Path TLV . . . . . . . . . . . . . . . . . . . . . 8
4.1.2. Example 2: Reply Mode Order TLV Usage with Reply Path 4.2.1. Example 1: Reply Mode Order TLV Usage with Reply Path
TLV . . . . . . . . . . . . . . . . . . . . . . . . . 8 TLV . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2. Proxy LSP Ping . . . . . . . . . . . . . . . . . . . . . 9 4.2.2. Example 2: Reply Mode Order TLV Usage with Reply Path
4.2.1. Proxy LSR Sending an MPLS Echo Request . . . . . . . 9 TLV . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2.2. Proxy LSR Sending an MPLS Proxy Ping Reply . . . . . 9 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 . . . . . 10
5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 6. Manageability Considerations . . . . . . . . . . . . . . . . 10
6.1. New Reply Mode Order TLV . . . . . . . . . . . . . . . . 10 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 7.1. New Reply Mode Order TLV . . . . . . . . . . . . . . . . 11
8. Contributing Authors . . . . . . . . . . . . . . . . . . . . 10 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 9. Contributing Authors . . . . . . . . . . . . . . . . . . . . 12
9.1. Normative References . . . . . . . . . . . . . . . . . . 10 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
9.2. Informative References . . . . . . . . . . . . . . . . . 11 10.1. Normative References . . . . . . . . . . . . . . . . . . 12
Appendix A. Reply Mode Order TLV Beneficial Scenarios . . . . . 11 10.2. Informative References . . . . . . . . . . . . . . . . . 12
A.1. Incorrect Forwarding Scenario . . . . . . . . . . . . . . 11 Appendix A. Reply Mode Order TLV Beneficial Scenarios . . . . . 12
A.2. Non-Co-Routed Bidirectional LSP Scenario . . . . . . . . 12 A.1. Incorrect Forwarding Scenario . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 A.2. Non-Co-Routed Bidirectional LSP Scenario . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction 1. Introduction
The MPLS LSP Ping, described in [RFC4379], allows an initiator LSR to The Multiprotocol Label Switching (MPLS) Label Switched Path (LSP)
encode instructions (Reply Mode) on how a responder LSR should send Ping, described in [RFC4379], allows an initiator LSR to encode
the response back to the initiator LSR. [RFC7110] also allows the instructions (Reply Mode) on how a responder LSR should send the
response back to the initiator LSR. [RFC7110] also allows the
initiator LSR to encode a TLV (Reply Path TLV) which can instruct the initiator LSR to encode a TLV (Reply Path TLV) which can instruct the
responder LSR to use specific LSP to send the response back to the responder LSR to use a specific LSP to send the response back to the
initiator LSR. Both approaches are powerful as they provide the initiator LSR. Both approaches are powerful as they provide the
ability for the initiator LSR to control the return path. ability for the initiator LSR to control the return path.
However, it is becoming increasingly difficult for an initiator LSR However, it is becoming increasingly difficult for an initiator LSR
to select a valid return path to encode in the MPLS LSP echo request to select a valid return path to encode in the MPLS LSP echo request
packets. If the initiator LSR does not select a valid return path, packets. If the initiator LSR does not select a valid return path,
the MPLS LSP echo reply will not get back to the initiator LSR. This the MPLS LSP echo reply will not get back to the initiator LSR. This
results in a false failure of MPLS LSP Ping and Traceroute operation. results in a false failure of MPLS LSP Ping and Traceroute operation.
In an effort to minimize such false failures, different In an effort to minimize such false failures, different
implementations have chosen different default return path encoding implementations have chosen different default return path encoding
skipping to change at page 4, line 9 skipping to change at page 4, line 13
several factors which are contributing to this complication. several factors which are contributing to this complication.
o Some LSPs have a control-channel, and some do not. Some LSPs have o Some LSPs have a control-channel, and some do not. Some LSPs have
a reverse LSP, and some do not. Some LSPs have IP reachability in a reverse LSP, and some do not. Some LSPs have IP reachability in
the reverse direction, and some do not. the reverse direction, and some do not.
o LSRs on some LSPs can have different available return path(s). o LSRs on some LSPs can have different available return path(s).
Available return path(s) can depend on whether the responder LSR Available return path(s) can depend on whether the responder LSR
is a transit LSR or an egress LSR. In case of a bi-directional is a transit LSR or an egress LSR. In case of a bi-directional
LSP, available return path(s) on transit LSRs can also depend on LSP, available return path(s) on transit LSRs can also depend on
whether LSP is completely co-routed, partially co-routed or whether the LSP is completely co-routed, partially co-routed or
associated (i.e., LSPs in the two directions are not co-routed). associated (i.e., the LSPs in the two directions are not co-
routed).
o MPLS echo request packets may incorrectly terminate on an o MPLS echo request packets may incorrectly terminate on an
unintended target, which can have different available return unintended target, which can have different available return
path(s) than the intended target. path(s) than the intended target.
o The MPLS LSP Ping operation is expected to terminate on egress o The MPLS LSP Ping operation is expected to terminate on an egress
LSR. However, the MPLS LSP Ping operation with specific TTL LSR. However, the MPLS LSP Ping operation with specific TTL
values and MPLS LSP Traceroute operation can terminate on both values and MPLS LSP Traceroute operation can terminate on both
transit LSR(s) and the egress LSR. transit LSR(s) and the egress LSR.
Except for the case where the responder LSR does not have an IP route Except for the case where the responder LSR does not have an IP route
back to the initiator LSR, it is possible to use the "Reply via an back to the initiator LSR, it is possible to use the "Reply via an
IPv4/IPv6 UDP packet (2)" Reply Mode value in all cases. However, IPv4/IPv6 UDP packet (2)" Reply Mode value in all cases. However,
some operators are preferring control-channel and reverse LSP as some operators are preferring control-channel and reverse LSP as
default return path if they are available, which is not always the default return path if they are available, which is not always the
case. case.
When specific return path encoding is supplied by users or When specific return path encoding is supplied by users or
applications, then there are no issues in choosing the return path applications, then there are no issues in choosing the return path
encoding. When specific return path encoding is not supplied by encoding. When specific return path encoding is not supplied by
users or applications, then implementations use extra logic to users or applications, then implementations use extra logic to
compute, and sometimes guess, the default return path encodings. If compute, and sometimes guess, the default return path encodings. If
a responder LSR receives an MPLS echo request containing return path a responder LSR receives an MPLS echo request containing return path
instructions which cannot be accommodated due to unavailability, then instructions which cannot be accommodated due to unavailability, then
the responder LSR often drops such packets. This results in the the responder LSR often drops such packets. This failure mode
initiator LSR not receiving the MPLS LSP echo reply packets back. results in the initiator LSR not receiving the intended MPLS LSP echo
This consequence may be acceptable for failure cases (e.g., broken reply packets. The scenario described here is a potentially
LSPs) where the MPLS echo request terminated on unintended target. acceptable result in some failure cases, like a broken LSP, where the
However, the initiator LSR not receiving back MPLS echo reply MPLS echo request terminated on an unintended target. However, if
packets, even when the intended target received and verified the the initiator LSR does not receive an MPLS echo replay, even after
requests, is not desirable as false failures will be conveyed to the responder LSR receives the MPLS echo request and is able to
users. verify the request, information is sent back to the user(s) which is
considered a false failure.
Many operators prefer some return path(s) over others for specific Many operators prefer particular return path(s) over others return
LSP types. To accommodate this, implementations may default to path(s) for specific LSP types. To accommodate operator preferred
operator preferred return path (or allow default return path to be paths, implementations may default to operator preferred return paths
configured) for a specific operation. However, if the sender of MPLS for particular operations, or allow a default return path to be
echo request knew that preferred return path will not be available at configured. It would not be considered beneficial to use a preferred
the intended target node, then it is not very beneficial to use a return path for an intended target LSR if there is previous knowledge
Reply Mode corresponding to preferred return path (i.e., the sender at the initiator LSR that the return path is not available. Using a
of the MPLS echo request will not receive the MPLS echo reply in the unavailable preferred return path would undesirably result in the
successful case). What would be beneficial, for a given operation, initiator LSR not receiving the MPLS echo return packets. It would
is for the sender of the MPLS echo request to determine which return be considered beneficial, for given operations, if the sender of the
path(s) can and cannot be used ahead of time. MPLS echo request would be able to determined return path
availability before the operation is initiated.
This document adds one Reply Mode value to describe the reverse LSP, This document updates the "Reply via Specified Path (5)" Reply Mode
and one optional TLV to describe an ordered list of reply modes. to easily indicate the reverse the reverse LSP, and adds one optional
Based on operational needs, the TLV can describe multiple Reply Mode TLV to describe an ordered list of reply modes. Based on operational
values in a preferred order to allow the responder LSR to use the needs, the TLV can describe multiple Reply Mode values in a preferred
first available Reply Mode from the list. This eliminates the need order to allow the responder LSR to use the first available Reply
for the initiator LSR to compute, or sometimes guess, the default Mode from the list. This eliminates the need for the initiator LSR
return path encoding. And that will result in simplified to compute, or sometimes guess, the default return path encoding.
implementations across vendors, and result in improved usability to This new mode of operation would resulted in a simplification to
fit operational needs. implementations across the various vendors and improve both usability
and operational needs.
3. Solution 3. Solution
This document updates "Reply via Specified Path (5)" Reply Mode to This document updates the "Reply via Specified Path (5)" Reply Mode
easily indicate the reverse LSP. This document also adds an optional to easily indicate the reverse LSP. This document also adds an
TLV which can carry ordered list of reply modes. optional TLV which can carry an ordered list of reply modes.
3.1. Reply via Specified Path Update 3.1. Reply via Specified Path Update
Some LSP types are capable of having related LSP in reverse Some LSP types are capable of having a related LSP in reverse
direction, through signaling or other association mechanisms. direction, through signaling or other association mechanisms.
Examples of such LSP types are RSVP LSPs and TP LSPs. This document Examples of such LSP types are bidirectional Resource ReserVation
uses the term "Reverse LSP" to refer to the LSP in reverse direction Protocol-Traffic Engineering (RSVP-TE) LSPs [RFC3473] and MPLS
of such LSP types. Note that this document restricts the scope of Transport Profile (MPLS-TP) LSPs ([RFC5960]). This document uses the
term "Reverse LSP" to refer to the LSP in the reverse direction of
such LSP types. Note that this document restricts the scope of
"Reverse LSP" applicability to those reverse LSPs which are capable "Reverse LSP" applicability to those reverse LSPs which are capable
and allowed to carry the IP encapsulated MPLS echo reply. and allowed to carry the IP encapsulated MPLS echo reply.
[RFC7110] has defined the Reply Mode "Reply via Specified Path (5)" [RFC7110] has defined the Reply Mode "Reply via Specified Path (5)"
which allows the initiator LSR to instruct the responder LSR to send which allows the initiator LSR to instruct the responder LSR to send
the MPLS echo reply message on the reverse LSP. However, the the MPLS echo reply message on the reverse LSP. However, the
instruction also requires the initiator LSR to include the "Reply instruction also requires the initiator LSR to include the "Reply
Path TLV" with the B bit (Bidirectional bit) set in the Flags field. Path TLV" with the B bit (Bidirectional bit) set in the Flags field.
Additionally, [RFC7110] defines the usage of the "Reply via Specified Additionally, [RFC7110] defines the usage of the "Reply via Specified
Path (5)" Reply Mode without inclusion of the "Reply Path TLV" to be Path (5)" Reply Mode without inclusion of the "Reply Path TLV" to be
skipping to change at page 6, line 10 skipping to change at page 6, line 21
o The usage of the "Reply via Specified Path (5)" without inclusion o The usage of the "Reply via Specified Path (5)" without inclusion
of a "Reply Path TLV" implies the reverse LSP. In other words, of a "Reply Path TLV" implies the reverse LSP. In other words,
the usage of the "Reply via Specified Path (5)" without inclusion the usage of the "Reply via Specified Path (5)" without inclusion
of a "Reply Path TLV" has the same semantics as the usage of the of a "Reply Path TLV" has the same semantics as the usage of the
"Reply via Specified Path (5)" with inclusion of a "Reply Path "Reply via Specified Path (5)" with inclusion of a "Reply Path
TLV" with the B bit set in the Flags field. TLV" with the B bit set in the Flags field.
Note that the reverse LSP is in relation to the last FEC specified in Note that the reverse LSP is in relation to the last FEC specified in
the Target FEC Stack TLV. the Target FEC Stack TLV.
When a responder LSR is using this Reply Mode, transmitting MPLS echo
reply packet MUST use IP destination address of 127/8 for IPv4 and
0:0:0:0:0:FFFF:7F00/104 for IPv6.
3.2. Reply Mode Order TLV 3.2. Reply Mode Order TLV
This document also introduces a new optional TLV to describe list of This document also introduces a new optional TLV to describe a list
Reply Mode values. The new TLV will contain one or more Reply Mode of Reply Mode values. The new TLV will contain one or more Reply
value(s) in preferred order. The first Reply Mode value is the most Mode value(s) in preferred order. The first Reply Mode value is the
preferred and the last Reply Mode value is the least preferred. most preferred and the last Reply Mode value is the least preferred.
Following rules apply when using Reply Mode Order TLV. Following rules apply when using Reply Mode Order TLV.
1. The Reply Mode Order TLV MUST NOT be included in MPLS echo reply. 1. The Reply Mode Order TLV MUST NOT be included in any MPLS echo
If the initiator LSR receives an MPLS echo reply with the Reply reply. If the initiator LSR receives an MPLS echo reply with the
Mode Order TLV, the initiator LSR MUST ignore the whole Reply Reply Mode Order TLV, the initiator LSR MUST ignore the whole
Mode Order TLV and MUST only use the value from the Reply Mode Reply Mode Order TLV and MUST only use the value from the Reply
field of the received MPLS echo reply. It may be beneficial for Mode field of the received MPLS echo reply. It may be beneficial
implementations to provide counters and/or loggings, with for implementations to provide counters and/or loggings, with
appropriate log dampening, to record this error case. appropriate log dampening, to record this error case.
2. The Reply Mode Order TLV MAY be included in MPLS echo request. 2. The Reply Mode Order TLV MAY be included in MPLS echo request.
3. The Reply Mode field of an MPLS echo request MUST be set to a 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 valid value even when supplying the Reply Mode Order TLV. The
initiator LSR SHOULD set the Reply Mode field of MPLS echo initiator LSR SHOULD set the Reply Mode field of an MPLS echo
request to a value that corresponds to a return path which most request to a value that corresponds to a return path which most
likely to be available, in case the responder LSR does not likely to be available, in case the responder LSR does not
understand the Reply Mode Order TLV. understand the Reply Mode Order TLV.
4. If a responder LSR understands the Reply Mode Order TLV but the 4. If a responder LSR understands the Reply Mode Order TLV but the
TLV is not valid (due to conditions described in the items 6, 7, TLV is not valid (due to conditions described in the items 6, 7,
8 and 9 immediately below), then the responder LSR MUST ignore 8 and 9 immediately below), then the responder LSR MUST ignore
the whole Reply Mode Order TLV and MUST only use the value from 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 the Reply Mode field of the received MPLS echo request. It may
be beneficial for implementations to provide counters and/or be beneficial for implementations to provide counters and/or
loggings, with appropriate log dampening, to record this error loggings, with appropriate log dampening, to record this error
case. case.
5. If a responder LSR understands the Reply Mode Order TLV and the 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 TLV is valid, then the responder LSR MUST consider the Reply Mode
values described in the TLV and MUST NOT use the value described values described in the TLV and MUST NOT use the value described
in the Reply Mode field of received MPLS echo request. In other in the Reply Mode field of the received MPLS echo request. In
words, a valid Reply Mode Order TLV overrides the value specified other words, a valid Reply Mode Order TLV overrides the value
in the Reply Mode field of received MPLS echo request. specified in the Reply Mode field of the received MPLS echo
request.
6. Reply Mode Order TLV MUST contain at least one Reply Mode value. 6. 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 7. A Reply Mode value, except for Reply Mode value 5 (Reply via
Specified Path), MUST NOT be repeated (i.e., MUST NOT appear Specified Path), MUST NOT be repeated (i.e., MUST NOT appear
multiple times) in the Reply Mode Order TLV. multiple times) in the Reply Mode Order TLV.
8. The Reply Mode value 5 (Reply via Specified Path) MAY be included 8. The Reply Mode value 5 (Reply via Specified Path) MAY be included
more than once in the Reply Mode Order TLV. However, in such more than once in the Reply Mode Order TLV. However, in such
case a Reply Path TLV MUST be included for all instances of the case a Reply Path TLV MUST be included for all instances of the
Reply Mode value 5 included in the Reply Mode Order TLV. In Reply Mode value 5 included in the Reply Mode Order TLV. In
other words, 3 instances of the Reply Mode value 5 in the Reply other words, 3 instances of the Reply Mode value 5 in the Reply
Mode Order TLV will require 3 instances of the Reply Path TLVs. Mode Order TLV will require 3 instances of the Reply Path TLVs.
9. The Reply Mode value 1 (Do not reply) MUST NOT be used in the 9. The Reply Mode value 1 (Do not reply) MUST NOT be used in the
Reply Mode Order TLV. Reply Mode Order TLV.
The responder LSR is to select the first available return path in The responder LSR SHOULD select the first available return path in
this TLV. Reply Mode value corresponding to the selected return path this TLV. The Reply Mode value corresponding to the selected return
MUST be set in Reply Mode field of MPLS echo reply to communicate path MUST be set in Reply Mode field of the MPLS echo reply to
back to the initiator LSR which return path was chosen. communicate back to the initiator LSR which return path was chosen.
The format of the TLV is as follows: The format of the TLV is as follows:
0 1 2 3 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 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 Order TLV Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Reply mode 1 | Reply mode 2 | Reply mode 3 | Reply mode 4 ~ ~ Reply mode 1 | Reply mode 2 | Reply mode 3 | Reply mode 4 ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1 Reply Mode Order TLV Figure 1 Reply Mode Order TLV
This is a variable length optional TLV. Each Reply Mode field is 1 This is a variable length optional TLV. Each Reply Mode field is 1
octet. octet.
4. Relations to Other LSP Ping/Trace Features 4. Relations to Other LSP Ping/Trace Features
4.1. Reply Path TLV 4.1. Backwards Compatibility with Reply via Specified Path (5) Reply
Mode
[RFC7110] has defined that the "Reply Path TLV" can include Sub-TLVs [RFC7110] has introduced the "Reply via Specified path (5)" Reply
describing multiple FECs, from which the responder LSR can choose the Mode, and defined that usage of the "Reply via Specified path (5)"
FEC to send the MPLS echo reply message. [RFC7110] has also defined Reply Mode without also including the "Reply Path TLV" to be invalid.
that Sub-TLVs, within the "Reply Path TLV", describing FECs for This document relaxes this semantic by defining the use of the "Reply
return paths SHOULD be ignored when the B bit is set in the Flags via Specified path (5)" Reply Mode without the "Reply via Specified
field. Therefore, when the initiator LSR wants to use the Reply Mode path (5)" to indicate the reverse LSP. In other words, what was
Order TLV to describe the reverse LSP and other FECs for return considered invalid is now valid. If the initiator LSR, which sent an
paths, then the initiator SHOULD include two "Reply via Specified MPLS echo request message with the "Reply via Specified path (5)"
Path (5)" Reply Mode values and two "Reply Path TLV" objects (one Reply Mode but without including the "Reply Path TLV", receives back
"Reply Path TLV" corresponding to each "Reply via Specified Path an MPLS echo reply message with the return code being "Malformed echo
(5)"). request received", then the initiator LSR SHOULD assume that the
responder LSR does not support the mechanism defined in this
document.
o The reverse LSP is described by the "Reply via Specified Path (5)" 4.2. Reply Path TLV
Reply Mode value and the corresponding "Reply Path TLV" with the B
bit set in the Flags field. In this "Reply Path TLV", no Sub-TLVs
are present.
o Other return FECs are described by the "Reply via Specified Path A "Reply Path TLV" [RFC7110] is defined to identify a single return
(5)" Reply Mode value and the corresponding "Reply Path TLV" path. When the initiator LSR wants to use the Reply Mode Order TLV
describing the FECs for return paths. In this "Reply Path TLV", to describe multiple return paths, then the initiator SHOULD include
the B bit is cleared in the Flags field. multiple "Reply via Specified Path (5)" Reply mode values and
multiple corresponding "Reply Path TLV" objects (one "Reply Path TLV"
corresponding to a "Reply via Specified Path (5)" Reply mode, and one
"Reply Path TLV" identifies a return path).
4.1.1. Example 1: Reply Mode Order TLV Usage with Reply Path TLV As described in Section 3.1, it's valid to use the "Reply via
Specified Path (5)" Reply mode without inclusion a "Reply Path TLV".
For the Reply Mode Order TLV, it's also valid to include a "Reply via
Specified Path (5)" 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 (5)" Reply
mode values are included but less corresponding "Reply Path TLV"
objects exist, the responder LSR SHOULD think that the former "Reply
via Specified Path (5)" Reply mode values have corresponding "Reply
Path TLV", the latter "Reply via Specified Path (5)" Reply mode
values have no corresponding "Reply Path TLV". For example, if the
Reply Mode Order TLV carrying Reply Modes {5, 5, 5} and only two
Reply Path TLVs carrying FEC X and FEC Y respectively. 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 following return If the initiator LSR was interested in encoding following return
paths: paths:
1. Reply via application level control channel 1. Reply via application level control channel
2. FEC X 2. FEC X
3. FEC Y 3. FEC Y
4. Reply via an IPv4/IPv6 UDP packet 4. Reply via an IPv4/IPv6 UDP packet
Then the MPLS echo request message is to carry: Then the MPLS echo request message is to carry:
o The Reply Mode Order TLV carrying Reply Modes {4, 5, 2} o The Reply Mode Order TLV carrying Reply Modes {4, 5, 5, 2}
o The Reply Path TLV carrying {FEC X, FEC Y} o One Reply Path TLV carrying FEC X
o One Reply Path TLV carrying FEC Y
Described encoding of the Reply Mode Order TLV and the Reply Path TLV Described encoding of the Reply Mode Order TLV and the Reply Path TLV
in the MPLS echo request message will result in the responder LSR to in the MPLS echo request message will result in the responder LSR to
prefer "Reply via application level control channel (4)", followed by prefer "Reply via application level control channel (4)", followed by
FEC X, FEC Y and then "Reply via an IPv4/IPv6 UDP packet (2)". FEC X, FEC Y and then "Reply via an IPv4/IPv6 UDP packet (2)".
4.1.2. Example 2: Reply Mode Order TLV Usage with Reply Path TLV 4.2.2. Example 2: Reply Mode Order TLV Usage with Reply Path TLV
If the initiator LSR was interested in encoding following return If the initiator LSR was interested in encoding following return
paths: paths:
1. Reverse LSP 1. Reverse LSP
2. Reply via an IPv4/IPv6 UDP packet 2. Reply via an IPv4/IPv6 UDP packet
3. FEC X 3. FEC X
4. FEC Y 4. FEC Y
Then the MPLS echo request message is to carry: Then the MPLS echo request message is to carry:
o The Reply Mode Order TLV carrying Reply Modes {5, 2, 5} o The Reply Mode Order TLV carrying Reply Modes {5, 2, 5, 5}
o One Reply Path TLV with the B bit set. o One Reply Path TLV with the B bit set.
o One Reply Path TLV carrying {FEC X, FEC Y} o One Reply Path TLV carrying FEC X
o One Reply Path TLV carrying FEC Y
Described encoding of the Reply Mode Order TLV and the Reply Path TLV Described encoding of the Reply Mode Order TLV and the Reply Path TLV
in the MPLS echo request message will result in the responder LSR to in the MPLS echo request message will result in the responder LSR to
prefer the reverse LSP, followed by "Reply via an IPv4/IPv6 UDP prefer the reverse LSP, followed by "Reply via an IPv4/IPv6 UDP
packet (2)", FEC X and then FEC Y. packet (2)", FEC X and then FEC Y.
4.2. Proxy LSP Ping 4.3. Proxy LSP Ping
The mechanism defined in this document will work with Proxy LSP Ping The mechanism defined in this document will work with Proxy LSP Ping
defined by [I-D.ietf-mpls-proxy-lsp-ping]. The MPLS proxy ping defined by [RFC7555]. The MPLS proxy ping request message can carry
request message can carry a Reply Mode value in the header and one or a Reply Mode value in the header and one or more Reply Mode values in
more Reply Mode values in the Reply Mode Order TLV. It is the Reply Mode Order TLV. It is RECOMMENDED that the Reply Mode 2
RECOMMENDED that the Reply Mode 2 (Reply via an IPv4/IPv6 UDP packet) (Reply via an IPv4/IPv6 UDP packet) be used in the Reply Mode field
be used in the Reply Mode field of the MPLS proxy ping request of the MPLS proxy ping request message.
message.
4.2.1. Proxy LSR Sending an MPLS Echo Request 4.3.1. Proxy LSR Sending an MPLS Echo Request
If the proxy LSR is sending an MPLS echo request, then the proxy LSR If the proxy LSR is sending an MPLS echo request, then the proxy LSR
MUST copy following elements from the MPLS proxy ping request message MUST copy the following elements from the MPLS proxy ping request
to the MPLS echo request message. message to the MPLS echo request message.
o The Reply Mode field. o The Reply Mode field.
o The Reply Mode Order TLV. o The Reply Mode Order TLV.
o The Reply Path TLV(s). If there are more than one Reply Path o The Reply Path TLV(s). If there are more than one Reply Path
TLVs, then then order of them MUST be preserved when copying. TLVs, then order of them MUST be preserved when copying.
4.2.2. Proxy LSR Sending an MPLS Proxy Ping Reply 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 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 RECOMMENDED that the Reply Mode Order TLV is ignored and the Reply
Mode field in the MPLS proxy ping request message be used. Mode field in the MPLS proxy ping request message is used.
5. Security Considerations 5. Security Considerations
Beyond those specified in [RFC4379] and [RFC7110], there are no Beyond those specified in [RFC4379] and [RFC7110], there are no
further security measures required. further security measures required.
6. IANA Considerations 6. Manageability Considerations
6.1. New Reply Mode Order TLV Section 2 described the problems which increases the complexity with
respect to operations and implementations. In order to simplify
operations and to allow for the LSP Ping/Traceroute to function
efficiently whilst preserving the code simplicity, it is RECOMMENDED
that implementations allow devices to have configuration options to
set operator preferred Reply Modes. For example:
o For those operators who are more interested in MPLS echo reply
packets reaching back to 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)
o For those operators who are more interested in 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 is requested to assign a new TLV type value from the "TLVs" sub- IANA is requested to assign a new TLV type value from the "TLVs" sub-
registry within the "Multiprotocol Label Switching Architecture registry within the "Multiprotocol Label Switching Architecture
(MPLS)" registry, for the "Reply Mode Order TLV". (MPLS)" registry, for the "Reply Mode Order TLV".
The new TLV Type value should be assigned from the range The new TLV Type value should be assigned from the range
(32768-49161) specified in [RFC4379] section 3 that allows the TLV (32768-49161) specified in [RFC4379] section 3 that allows the TLV
type to be silently dropped if not recognized. type to be silently dropped if not recognized.
Type Meaning Reference Type Meaning Reference
---- ------- --------- ---- ------- ---------
TBD1 Reply Mode Order TLV this document TBD1 Reply Mode Order TLV this document
7. Acknowledgements 8. Acknowledgements
Authors would like to thank Santiago Alvarez and Faisal Iqbal for Authors would like to thank Santiago Alvarez and Faisal Iqbal for
discussions which motivated creation of this document. Authors would discussions which motivated creation of this document. Authors would
also like to thank Sam Aldrin, Curtis Villamizar, Ross Callon, also like to thank Sam Aldrin, Curtis Villamizar, Ross Callon,
Jeffrey Zhang, Jeremy Whittaker, Mustapha Alissaoui, Qin Wu, Jie Dong Jeffrey Zhang, Jeremy Whittaker, Mustapha Alissaoui, Qin Wu, Jie Dong
and Adrian Farrel for providing valuable comments to influence the and Adrian Farrel for providing valuable comments to influence the
contents of the draft. contents of the draft. Authors would also like to thank Dan Frost,
Tom Taylor, Victor Kuarsingh and Deborah Brungard for reviewing the
document and providing useful comments.
8. Contributing Authors 9. Contributing Authors
Shaleen Saxena Shaleen Saxena
Brocade Brocade
Email: ssaxena@brocade.com Email: ssaxena@brocade.com
9. References 10. References
9.1. Normative References 10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. 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 [RFC4379] Kompella, K. and G. Swallow, "Detecting Multi-Protocol
Label Switched (MPLS) Data Plane Failures", RFC 4379, Label Switched (MPLS) Data Plane Failures", RFC 4379,
February 2006. 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, [RFC7110] Chen, M., Cao, W., Ning, S., Jounay, F., and S. Delord,
"Return Path Specified Label Switched Path (LSP) Ping", "Return Path Specified Label Switched Path (LSP) Ping",
RFC 7110, January 2014. RFC 7110, DOI 10.17487/RFC7110, January 2014,
<http://www.rfc-editor.org/info/rfc7110>.
9.2. Informative References 10.2. Informative References
[I-D.ietf-mpls-proxy-lsp-ping] [RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label
Swallow, G., Lim, V., and S. Aldrin, "Proxy MPLS Echo Switching (GMPLS) Signaling Resource ReserVation Protocol-
Request", draft-ietf-mpls-proxy-lsp-ping-05 (work in Traffic Engineering (RSVP-TE) Extensions", RFC 3473,
progress), March 2015. 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 Appendix A. Reply Mode Order TLV Beneficial Scenarios
This section lists examples of how the Reply Mode Order TLV can This section lists examples of how the Reply Mode Order TLV can
benefit. benefit.
A.1. Incorrect Forwarding Scenario A.1. Incorrect Forwarding Scenario
A network has a following LSP, and the LSP has a control channel. 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 A------B------C------D------E
| |
| |
F F
Forward Paths: A-B-C-D-E Forward Paths: A-B-C-D-E
Figure 2: Incorrect Forwarding Figure 2: Incorrect Forwarding
Imagine that D is incorrectly label switching to F (instead of E). If D is incorrectly label switching to F (instead of E). In this
In this scenario, LSP Traceroute with "Reply via application level scenario, LSP Traceroute with "Reply via application level control
control channel (4)" will result in following result. channel (4)" will result in following result.
Success (Reply from B) Success (Reply from B)
Success (Reply from C) Success (Reply from C)
Success (Reply from D) Success (Reply from D)
Timeout... Timeout...
Complete Complete
This is because F does not have a control channel to send the MPLS This is because F does not have a control channel to send the MPLS
echo reply message. With the extension described in this document, echo reply message. With the extension described in this document,
same procedures can be performed with the Reply Mode Order TLV same procedures can be performed with the Reply Mode Order TLV
skipping to change at page 12, line 13 skipping to change at page 13, line 47
Success (Reply from D, Reply Mode: 4) Success (Reply from D, Reply Mode: 4)
FEC Mismatch (Reply from F, Reply Mode: 2) FEC Mismatch (Reply from F, Reply Mode: 2)
Complete Complete
The result provides more diagnostic information to the initiator LSR, The result provides more diagnostic information to the initiator LSR,
and without any delay (i.e. timeout from one or more downstream and without any delay (i.e. timeout from one or more downstream
LSRs). LSRs).
A.2. Non-Co-Routed Bidirectional LSP Scenario A.2. Non-Co-Routed Bidirectional LSP Scenario
A network has a following bidirectional LSP where the forward LSP and As shown in Figure 3, a network has a bidirectional LSP where the
the reverse LSP are not fully co-routed. forward LSP and the reverse LSP are not fully co-routed.
+----C------D----+ +----C------D----+
/ \ / \
A------B G------H A------B G------H
\ / \ /
+----E------F----+ +----E------F----+
Forward Paths: A-B-C-D-G-H (upper path) Forward Paths: A-B-C-D-G-H (upper path)
Reverse Paths: H-G-F-E-B-A (lower path) Reverse Paths: H-G-F-E-B-A (lower path)
Figure 3: Non-Co-Routed Bidirectional LSP Figure 3: Non-Co-Routed Bidirectional LSP
Some operators may prefer and configure the system to default the Some operators may prefer and configure the system to default the
Reply Mode to indicate the reverse LSP when MPLS echo request Reply Mode to indicate the reverse LSP when MPLS echo request
messages are sent on bidirectional LSPs. Without extensions messages are sent on bidirectional LSPs. Without extensions
described in this document, following behaviors will be seen: described in this document, following behaviors will be seen:
o When LSP Ping is issued from A, reply will come back on the o When LSP Ping is issued from A, the reply will come back on the
reverse LSP from H. reverse LSP from H.
o When LSP Traceroute is issued from A, reply will come back on the o When LSP Traceroute is issued from A, the replies will come back
reverse LSP from B, G and H, but will encounter a timeout from C on the reverse LSP from B, G and H, but will encounter a timeout
and D as there are no reverse LSP on those nodes. from C and D as there are no reverse LSP on those nodes.
o When LSP Ping with specific TTL value is issued from A, whether a o When LSP Ping with specific TTL value is issued from A, whether a
timeout will be encountered depends on the value of the TTL used timeout will be encountered depends on the value of the TTL used
(i.e. whether or not MPLS echo request terminates on a node that (i.e. whether or not the MPLS echo request terminates on a node
has reverse LSP). that has reverse LSP).
One can argue that the initiator LSR can automatically generate a One can argue that the initiator LSR can automatically generate the
same MPLS echo request with different Reply Mode value to those nodes same MPLS echo request with different Reply Mode value to those nodes
that timeout. However, such mechanism will result in extended time that timeout. However, such mechanism will result in extended time
for the entire operation to complete (i.e. multiple seconds to for the entire operation to complete (i.e. multiple seconds to
multiple minutes). This is undesirable, and perhaps unacceptable if multiple minutes). This is undesirable, and perhaps unacceptable if
the "user" is an application. the "user" is an application.
With the extension described in this document, same procedures can be With the extension described in this document, same procedures can be
performed with the Reply Mode Order TLV carrying {5, 2}. When LSP performed with the Reply Mode Order TLV carrying {5, 2}. When LSP
Traceroute is issued, then following output may be displayed without Traceroute is issued, then following output may be displayed without
any unnecessary timeout. any unnecessary timeout.
 End of changes. 59 change blocks. 
156 lines changed or deleted 233 lines changed or added

This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/