MPLS-TP on-demand CV: MPLS On-Demand Connectivity Verification and Route Tracing
How to extend LSP ping so operators can test and trace MPLS Transport Profile paths, even without IP addresses.
Gray, E., Bahadur, N., Boutros, S., and R. Aggarwal, "MPLS On-Demand Connectivity Verification and Route Tracing", RFC 6426, DOI 10.17487/RFC6426, November 2011, <https://www.rfc-editor.org/info/rfc6426>.
@misc{rfc6426,
series = {Request for Comments},
number = 6426,
howpublished = {RFC 6426},
publisher = {RFC Editor},
doi = {10.17487/RFC6426},
url = {https://www.rfc-editor.org/info/rfc6426},
author = {E. Gray and N. Bahadur and S. Boutros and R. Aggarwal},
title = {{MPLS On-Demand Connectivity Verification and Route Tracing}},
pagetotal = 22,
year = 2011,
month = nov,
} RFC text
Contents
Internet Engineering Task Force (IETF) E. Gray
Request for Comments: 6426 Ericsson
Updates: 4379 N. Bahadur
Category: Standards Track Juniper Networks, Inc.
ISSN: 2070-1721 S. Boutros
Cisco Systems, Inc.
R. Aggarwal
November 2011
MPLS On-Demand Connectivity Verification and Route Tracing
Abstract
Label Switched Path Ping (LSP ping) is an existing and widely
deployed Operations, Administration, and Maintenance (OAM) mechanism
for Multi-Protocol Label Switching (MPLS) Label Switched Paths
(LSPs). This document describes extensions to LSP ping so that LSP
ping can be used for on-demand connectivity verification of MPLS
Transport Profile (MPLS-TP) LSPs and pseudowires. This document also
clarifies procedures to be used for processing the related OAM
packets. Further, it describes procedures for using LSP ping to
perform connectivity verification and route tracing functions in
MPLS-TP networks. Finally, this document updates RFC 4379 by adding
a new address type and creating an IANA registry.
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/rfc6426.
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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Conventions Used in This Document . . . . . . . . . . . . 3
1.2. On-Demand CV for MPLS-TP LSPs Using IP Encapsulation . . . 4
1.3. On-Demand CV for MPLS-TP LSPs Using Non-IP
Encapsulation . . . . . . . . . . . . . . . . . . . . . . 4
2. LSP Ping Extensions . . . . . . . . . . . . . . . . . . . . . 5
2.1. New Address Type for Downstream Mapping TLV . . . . . . . 5
2.1.1. DSMAP/DDMAP Non-IP Address Information . . . . . . . . 5
2.2. Source/Destination Identifier TLV . . . . . . . . . . . . 7
2.2.1. Source/Destination Identifier TLV Format . . . . . . . 7
2.2.2. Source Identifier TLV . . . . . . . . . . . . . . . . 7
2.2.3. Destination Identifier TLV . . . . . . . . . . . . . . 8
2.3. Identifying Statically Provisioned LSPs and PWs . . . . . 8
2.3.1. Static LSP Sub-TLV . . . . . . . . . . . . . . . . . . 9
2.3.2. Static Pseudowire Sub-TLV . . . . . . . . . . . . . . 10
3. Performing On-Demand CV over MPLS-TP LSPs . . . . . . . . . . 10
3.1. LSP Ping with IP Encapsulation . . . . . . . . . . . . . . 11
3.2. On-Demand CV with IP Encapsulation, over ACH . . . . . . . 11
3.3. Non-IP-Based On-Demand CV, Using ACH . . . . . . . . . . . 12
3.4. Reverse-Path Connectivity Verification . . . . . . . . . . 13
3.4.1. Requesting Reverse-Path Connectivity Verification . . 13
3.4.2. Responder Procedures . . . . . . . . . . . . . . . . . 13
3.4.3. Requester Procedures . . . . . . . . . . . . . . . . . 14
3.5. P2MP Considerations . . . . . . . . . . . . . . . . . . . 14
3.6. Management Considerations for Operation with Static
MPLS-TP . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.7. Generic Associated Channel Label (GAL) Processing . . . . 14
4. Performing On-Demand Route Tracing over MPLS-TP LSPs . . . . . 15
4.1. On-Demand LSP Route Tracing with IP Encapsulation . . . . 15
4.2. Non-IP-Based On-Demand LSP Route Tracing, Using ACH . . . 15
4.2.1. Requester Procedure for Sending Echo Request
Packets . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.2. Requester Procedure for Receiving Echo Response
Packets . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.3. Responder Procedure . . . . . . . . . . . . . . . . . 16
4.3. P2MP Considerations . . . . . . . . . . . . . . . . . . . 16
4.4. ECMP Considerations . . . . . . . . . . . . . . . . . . . 16
5. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 16
6. Security Considerations . . . . . . . . . . . . . . . . . . . 17
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
7.1. New Source and Destination Identifier TLVs . . . . . . . . 17
7.2. New Target FEC Stack Sub-TLVs . . . . . . . . . . . . . . 17
7.3. New Reverse-Path Target FEC Stack TLV . . . . . . . . . . 18
7.4. New Pseudowire Associated Channel Type . . . . . . . . . . 18
7.5. New Downstream Mapping Address Type Registry . . . . . . . 18
8. Contributing Authors and Acknowledgements . . . . . . . . . . 19
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9.1. Normative References . . . . . . . . . . . . . . . . . . . 20
9.2. Informative References . . . . . . . . . . . . . . . . . . 20
1. Introduction
Label Switched Path Ping (LSP ping) [RFC4379] is an Operations,
Administration, and Maintenance (OAM) mechanism for Multi-Protocol
Label Switching (MPLS) Label Switched Paths (LSPs). This document
describes extensions to LSP ping so that LSP ping can be used for
on-demand monitoring of MPLS Transport Profile (MPLS-TP) LSPs and
pseudowires. It also clarifies the procedures to be used for
processing the related OAM packets. This document describes how LSP
ping can be used for on-demand connectivity verification (Section 3)
and route tracing (Section 4) functions required in [RFC5860] and
specified in [RFC6371].
1.1. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
[RFC2119].
There is considerable opportunity for confusion in use of the terms
"on-demand connectivity verification" (CV), "on-demand route tracing"
and "LSP ping." In this document, we try to use the terms
consistently as follows:
o LSP ping: refers to the mechanism - particularly as defined and
used in referenced material;
o On-demand CV: refers to on-demand connectivity verification and --
where both apply equally -- on-demand route tracing, as
implemented using the LSP ping mechanism extended for support of
MPLS-TP;
o On-demand route tracing: used in those cases where the LSP ping
mechanism (as extended) is used exclusively for route tracing.
From the perspective of on-demand CV and route tracing, we use the
concepts of "Requester" and "Responder" as follows:
o Requester: Originator of an OAM Request message,
o Responder: Entity responding to an OAM Request message.
Since, in this document, all messages are assumed to be carried in an
LSP, all Request messages would be injected at the ingress to an LSP.
A Responder might or might not be at the egress of this same LSP,
given that it could receive Request messages as a result of time-to-
live (TTL) expiry. If a Reply is to be delivered via a reverse-path
LSP, the message would again be inserted at the ingress of that LSP.
1.2. On-Demand CV for MPLS-TP LSPs Using IP Encapsulation
LSP ping requires IP addressing on responding Label Switching Routers
(LSRs) for performing OAM on MPLS-signaled LSPs and pseudowires. In
particular, in these cases, LSP ping packets generated by a Requester
are encapsulated in an IP/UDP header with the destination address
from the 127/8 range and then encapsulated in the MPLS label stack
([RFC4379] , [RFC5884]). A Responder uses the presence of the 127/8
destination address to identify OAM packets and relies further on the
UDP port number to determine whether the packet is an LSP ping
packet. It is to be noted that this determination does not require
IP forwarding capabilities. It requires the presence of an IP host
stack, which enables responding LSRs to process packets with a
destination address from the 127/8 range. [RFC1122] allocates the
127/8 range as "Internal host loopback address" and [RFC1812] states
that "a router SHOULD NOT forward, except over a loopback interface,
any packet that has a destination address on network 127".
1.3. On-Demand CV for MPLS-TP LSPs Using Non-IP Encapsulation
In certain MPLS-TP deployment scenarios, IP addressing might not be
available or use some form of non-IP encapsulation might be preferred
for on-demand CV, route tracing, and BFD packets. In such scenarios,
on-demand CV and/or route tracing SHOULD be run without IP
addressing, using the Associated Channel (ACH) channel type specified
in Section 3.
Section 3.3 and Section 4.2 describe the theory of operation for
performing on-demand CV over MPLS-TP LSPs with any non-IP
encapsulation.
2. LSP Ping Extensions
2.1. New Address Type for Downstream Mapping TLV
[RFC4379] defines the Downstream Mapping (DSMAP) TLV. [RFC6424]
further defines the Downstream Detailed Mapping (DDMAP) TLV. This
document defines the following new address type, which MAY be used in
any DSMAP or DDMAP TLV included in an on-demand CV message:
Type # Address Type K Octets
------ -------------- --------
5 Non IP 12
Figure 1: New Downstream Mapping Address Type
The new address type indicates that no address is present in the
DSMAP or DDMAP TLV. However, IF_Num information (see definition of
"IF_Num" in [RFC6370]) for both ingress and egress interfaces, as
well as Multipath Information, is included in the format and MAY be
present.
IF_Num values of zero indicate that no IF_Num applies in the field in
which this value appears.
The Multipath Type SHOULD be set to zero (no multipath) when using
this address type.
When this address type is used, on receipt of an LSP ping echo
request, interface verification MUST be bypassed. Thus, the
receiving node SHOULD only perform MPLS label control-plane/
data-plane consistency checks. Note that these consistency checks
include checking the included identifier information.
The new address type is also applicable to the Detailed Downstream
Mapping (DDMAP) TLV defined in [RFC6424].
2.1.1. DSMAP/DDMAP Non-IP Address Information
If the DSMAP (or DDMAP) TLV is included when sending on-demand CV
packets using ACH, without IP encapsulation, the following
information MUST be included in any DSMAP or DDMAP TLV that is
included in the packet. This information forms the address portion
of the DSMAP TLV (as defined in [RFC4379]) or DDMAP TLV (as defined
in [RFC6424] using one of the address information fields defined in
[RFC4379] and extended to include non-IP identifier types in this
document).
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MTU | Address Type | DS Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress IF_Num (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Egress IF_Num (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Multipath Type| Depth Limit | Multipath Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: New DSMAP/DDMAP Address Format
Address Type will be 5 (as shown in Section 2.1 above).
Ingress IF_Num identifies the ingress interface on the target node.
A value of zero indicates that the interface is not part of the
identifier.
Egress IF_Num identifies the egress interface on the target node. A
value of zero indicates that the interface is not part of the
identifier.
The Multipath Type SHOULD be set to zero (no multipath) when using
this address type.
Including this TLV, with one or the other IF_Num (but not both) set
to a non-zero value, in a request message that also includes a
Destination Identifier TLV (as described in Section 2.2), is
sufficient to identify the "per-interface" MIP in Section 7.3 of
[RFC6370].
Inclusion of this TLV with both IF_Num fields set to zero would be
interpreted as specifying neither an ingress, nor an egress,
interface. Note that this is the same as not including the TLV;
hence, including this TLV with both IF_Num values set to zero is NOT
RECOMMENDED.
Including this TLV with both IF_NUM fields set to a non-zero value
will result in the responder sending a Return Code of 5 ("Downstream
Mapping Mis-match") if either IF_Num is incorrect for this LSP or PW.
2.2. Source/Destination Identifier TLV
2.2.1. Source/Destination Identifier TLV Format
The format for the identifier TLV is the same for both Source and
Destination Identifier TLVs (only the type is different). The format
is as specified in the figure below.
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 | Length = 8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Global_ID (4 Octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Node_ID (4 Octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: New Source/Destination Identifier Format
Type will be one of either 13 or 14, depending on whether the TLV in
question is a Source or Destination Identifier TLV.
Global_ID is as defined in [RFC6370].
Node_ID is as defined in [RFC6370].
2.2.2. Source Identifier TLV
When sending on-demand CV packets using ACH, without IP
encapsulation, there MAY be a need to identify the source of the
packet. This source identifier (Source ID) will be specified via the
Source Identifier TLV, using the Identifier TLV defined in
Section 2.2.1, containing the information specified above.
An on-demand CV packet MUST NOT include more than one Source
Identifier TLV. The Source Identifier TLV MUST specify the
identifier of the originator of the packet. If more than one such
TLV is present in an on-demand CV request packet, then error 1
(Malformed echo request received; see Section 3.1 of [RFC4379]) MUST
be returned, if it is possible to unambiguously identify the source
of the packet.
2.2.3. Destination Identifier TLV
When sending on-demand CV packets using ACH, without IP
encapsulation, there MAY be a need to identify the destination of the
packet. This destination identifier (Destination ID) will be
specified via the Destination Identifier TLV, using the Identifier
TLV defined in Section 2.2.1, containing the information specified
above.
An on-demand CV packet MUST NOT include more than one Destination
Identifier TLV. The Destination Identifier TLV MUST specify the
destination node for the packet. If more than 1 such TLV is present
in an on-demand CV Request packet, then error 1 (Malformed echo
request received; see Section 3.1 of [RFC4379]) MUST be returned, if
it is possible to unambiguously identify the source of the packet.
2.3. Identifying Statically Provisioned LSPs and PWs
[RFC4379] specifies how an MPLS LSP under test is identified in an
echo request. A Target FEC Stack TLV is used to identify the LSP.
In order to identify a statically provisioned LSP and PW, new target
FEC Stack sub-TLVs are being defined. The new sub-TLVs are assigned
sub-type identifiers as follows and are described in the following
sections.
Type # Sub-Type # Length Value Field
------ ---------- ------ -----------
1 22 24 Static LSP
1 23 32 Static Pseudowire
Figure 4: New Target FEC Sub-Types
2.3.1. Static LSP Sub-TLV
The format of the Static LSP sub-TLV value field is specified in the
following figure. The value fields are taken from the definitions in
[RFC6370].
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Global ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Node ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Tunnel Number | LSP Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Global ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Node ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Tunnel Number | Must be Zero |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Static LSP FEC Sub-TLV
The Source Global ID and Destination Global ID MAY be set to zero.
When set to zero, the field is not applicable.
2.3.2. Static Pseudowire Sub-TLV
The format of the Static PW sub-TLV value field is 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Service Identifier +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Global ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Node ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source AC-ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Global ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Node ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination AC-ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: Static PW FEC Sub-TLV
The Service Identifier is a 64-bit unsigned integer that is included
in the first two words, as shown. The Service Identifier identifies
the service associated with the transport path under test. The value
MAY, for example, be an Attachment Group Identifier (AGI), type 0x01,
as defined in [RFC4446].
The Source Global ID and Destination Global ID MAY be set to zero.
When either of these fields is set to zero, the corresponding Global
ID is not applicable. This might be done in a scenario where local
scope is sufficient for uniquely identifying services.
The Global ID and Node ID fields are defined in [RFC6370]. The AC-ID
fields are defined in [RFC5003].
3. Performing On-Demand CV over MPLS-TP LSPs
This section specifies how on-demand CV can be used in the context of
MPLS-TP LSPs. The on-demand CV function meets the on-demand
connectivity verification requirements specified in [RFC5860],
Section 2.2.3. This function SHOULD NOT be performed except in the
on-demand mode. This function SHOULD be performed between
Maintenance Entity Group End Points (MEPs) and Maintenance Entity
Group Intermediate Points (MIPs) of PWs and LSPs, and between End
Points of PWs, LSPs, and Sections. In order for the on-demand CV
packet to be processed at the desired MIP, the TTL of the MPLS label
MUST be set such that it expires at the MIP to be probed.
[RFC5586] defines an ACH mechanism for MPLS LSPs. The mechanism is a
generalization of the Associated Channel mechanism that [RFC4385]
defined for use with pseudowires. As a result, it is possible to use
a single Associated Channel Type for either an LSP or pseudowire.
A new Pseudowire Associated Channel Type (0x0025) is defined for use
in performing on-demand connectivity verification. Its use is
described in the following sections.
ACH TLVs SHALL NOT be associated with this channel type.
Except as specifically stated in the sections below, message and TLV
construction procedures for on-demand CV messages are as defined in
[RFC4379].
3.1. LSP Ping with IP Encapsulation
LSP ping packets, as specified in [RFC4379], are sent over the MPLS
LSP for which OAM is being performed and contain an IP/UDP packet
within them. The IP header is not used for forwarding (since LSP
forwarding is done using MPLS). The IP header is used mainly for
addressing and can be used in the context of MPLS-TP LSPs. This form
of on-demand CV OAM MUST be supported for MPLS-TP LSPs when IP
addressing is in use.
The on-demand CV echo response message MUST be sent on the reverse
path of the LSP. The reply MUST contain IP/UDP headers followed by
the on-demand CV payload. The destination address in the IP header
MUST be set to that of the sender of the echo request message. The
source address in the IP header MUST be set to a valid address of the
replying node.
3.2. On-Demand CV with IP Encapsulation, over ACH
IP encapsulated on-demand CV packets MAY be sent over the MPLS LSP
using the control channel (ACH). The IP ACH type specified in
[RFC4385] MUST be used in such a case. The IP header is used mainly
for addressing and can be used in the context of MPLS-TP LSPs.
Note that the application-level control channel in this case is the
reverse path of the LSP (or Pseudowire) using ACH.
The on-demand CV echo response message MUST be sent on the reverse
path of the LSP. The response in this case SHOULD use ACH and SHOULD
be IP encapsulated.
If IP encapsulated, the destination address in the IP header MUST be
set to that of the sender of the echo request message, and the source
address in the IP header MUST be set to a valid address of the
replying node.
3.3. Non-IP-Based On-Demand CV, Using ACH
The OAM procedures defined in [RFC4379] require the use of IP
addressing, and in some cases IP routing, to perform OAM functions.
When the ACH header is used, IP addressing and routing is not needed.
This section describes procedures for performing on-demand CV without
a dependency on IP addressing and routing.
In the non-IP case, when using on-demand CV via LSP ping with the ACH
header, the on-demand CV request payload MUST directly follow the ACH
header, and the LSP ping Reply mode [RFC4379] in the LSP ping echo
request SHOULD be set to 4 (Reply via application level control
channel).
Note that the application-level control channel in this case is the
reverse path of the LSP (or pseudowire) using ACH.
The requesting node MAY attach a Source Identifier TLV (Section 2.2)
to identify the node originating the request.
If the Reply mode indicated in an on-demand CV Request is 4 (Reply
via application level control channel), the on-demand CV reply
message MUST be sent on the reverse path of the LSP using ACH. The
on-demand CV payload MUST directly follow the ACH header, and IP
and/or UDP headers MUST NOT be attached. The responding node MAY
attach a Source Identifier TLV to identify the node sending the
response.
If a node receives an MPLS echo request packet over ACH, without IP/
UDP headers, with a reply mode of 4, and if that node does not have a
return MPLS LSP path to the echo request source, then the node SHOULD
drop the echo request packet and not attempt to send a response.
If a node receives an MPLS echo request with a reply mode other than
4 (Reply via application level control channel), and if the node
supports that reply mode, then it MAY respond using that reply mode.
If the node does not support the reply mode requested, or is unable
to reply using the requested reply mode in any specific instance, the
node MUST drop the echo request packet and not attempt to send a
response.
3.4. Reverse-Path Connectivity Verification
3.4.1. Requesting Reverse-Path Connectivity Verification
A new Global flag, Validate Reverse Path (R), is being defined in the
LSP ping packet header. When this flag is set in the echo request,
the Responder SHOULD return reverse-path FEC information, as
described in Section 3.4.2.
The R flag MUST NOT be set in the echo response.
The Global Flags field is now a bit vector with the following format:
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MBZ |R|T|V|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7: Global Flags Field
The V flag is defined in [RFC4379]. The T flag is defined in
[RFC6425]. The R flag is defined in this document.
The Validate FEC Stack (V) flag MAY be set in the echo response when
reverse-path connectivity verification is being performed.
3.4.2. Responder Procedures
When the R flag is set in the echo request, the responding node
SHOULD attach a Reverse-path Target FEC Stack TLV in the echo
response. The requesting node (on receipt of the response) can use
the Reverse-path Target FEC Stack TLV to perform reverse-path
connectivity verification. For co-routed bidirectional LSPs, the
Reverse-path Target FEC Stack used for the on-demand CV will be the
same in both the forward and reverse path of the LSP. For associated
bidirectional LSPs, the Target FEC Stack MAY be different for the
reverse path.
The format of the Reverse-path Target FEC Stack TLV is the same as
that of the Target FEC Stack TLV defined in [RFC4379]. The rules for
creating a Target FEC Stack TLV also apply to the Reverse-path Target
FEC Stack TLV.
Type Meaning
-------- ------------------------------------
16 Reverse-path Target FEC Stack
Figure 8: Reverse-Path Target FEC Stack TLV Type
3.4.3. Requester Procedures
On receipt of the echo response, the requesting node MUST perform the
following checks:
1. Perform interface and label-stack validation to ensure that the
packet is received on the reverse path of the bidirectional LSP.
2. If the Reverse-path Target FEC Stack TLV is present in the echo
response, then perform FEC validation.
The verification in this case is performed as described for the
Target FEC Stack in Section 3.6 of [RFC4379].
If any of the validations fail, then the requesting node MUST drop
the echo response and SHOULD log and/or report an error.
3.5. P2MP Considerations
[RFC6425] describes how LSP ping can be used for OAM on P2MP LSPs
with IP encapsulation. This MUST be supported for MPLS-TP P2MP LSPs
when IP addressing is used. When IP addressing is not used, then the
procedures described in Section 3.3 can be applied to P2MP MPLS-TP
LSPs as well.
3.6. Management Considerations for Operation with Static MPLS-TP
Support for on-demand CV on a static MPLS-TP LSP or pseudowire MAY
require manageable objects to allow, for instance, configuring
operating parameters such as identifiers associated with the
statically configured LSP or PW.
The specifics of this manageability requirement are out-of-scope in
this document and SHOULD be addressed in appropriate management
specifications.
3.7. Generic Associated Channel Label (GAL) Processing
At the Requester, when encapsulating the LSP echo request (LSP ping)
packet (with the IP ACH, or the Non IP ACH, codepoint), a GAL MUST be
added before adding the MPLS LSP label, and sending the LSP Ping echo
request packet in-band in the MPLS LSP.
The GAL MUST NOT be considered as part of the MPLS label stack that
requires verification by the Responder. For this reason, a Nil FEC
TLV MUST NOT be added or associated with the GAL.
The GAL MUST NOT be included in DSMAP or DDMAP TLVs.
Interface and Label Stack TLVs MUST include the whole label stack
including the GAL.
4. Performing On-Demand Route Tracing over MPLS-TP LSPs
This section specifies how on-demand CV route tracing can be used in
the context of MPLS-TP LSPs. The on-demand CV route tracing function
meets the route tracing requirement specified in [RFC5860], Section
2.2.3.
This function SHOULD be performed on-demand. This function SHOULD be
performed between End Points and Intermediate Points of PWs and LSPs,
and between End Points of PWs, LSPs and Sections.
When performing on-demand CV route tracing, the requesting node
inserts a Downstream Mapping TLV to get the downstream node
information and to enable LSP verification along the transit nodes.
The Downstream Mapping TLV can be used as is for performing route
tracing. If IP addressing is not in use, then the Address Type field
in the Downstream Mapping TLV can be set to "Non IP" (Section 2.1).
The Downstream Mapping TLV address type field can be extended to
include other address types as needed.
4.1. On-Demand LSP Route Tracing with IP Encapsulation
The mechanics of on-demand CV route tracing are similar to those
described for ping in Section 3.1. On-demand route tracing packets
sent by the Requester MUST follow procedures described in [RFC4379].
This form of on-demand CV OAM MUST be supported for MPLS-TP LSPs,
when IP addressing is used.
4.2. Non-IP-Based On-Demand LSP Route Tracing, Using ACH
This section describes procedures for performing LSP route tracing
when using LSP ping with the ACH header and without any dependency on
IP addressing. The procedures specified in Section 3.3 with regards
to the Source Identifier TLV apply to LSP route tracing as well.
4.2.1. Requester Procedure for Sending Echo Request Packets
On-demand route tracing packets sent by the Requester MUST adhere to
the format described in Section 3.3. MPLS-TTL expiry (as described
in [RFC4379]) will be used to direct the packets to specific nodes
along the LSP path.
4.2.2. Requester Procedure for Receiving Echo Response Packets
The on-demand CV route tracing responses will be received on the LSP
itself, and the presence of an ACH header with channel type of on-
demand CV is an indicator that the packet contains an on-demand CV
payload.
4.2.3. Responder Procedure
When an echo request reaches the Responder, the presence of the ACH
channel type of on-demand CV will indicate that the packet contains
on-demand CV data. The on-demand CV data, the label stack, and the
destination identifier are sufficient to identify the LSP associated
with the echo request packet. If there is an error and the node is
unable to identify the LSP on which the echo response would be sent,
the node MUST drop the echo request packet and not send any response
back. All responses MUST always be sent on an LSP path using the ACH
header and ACH channel type of on-demand CV.
4.3. P2MP Considerations
[RFC6425] describes how LSP ping can be used for OAM on P2MP LSPs.
This MUST be supported for MPLS-TP P2MP LSPs when IP addressing is
used. When IP addressing is not used, then the procedures described
in Section 4.2 can be applied to P2MP MPLS-TP LSPs as well.
4.4. ECMP Considerations
On-demand CV using ACH SHOULD NOT be used when there is ECMP (Equal
Cost Multi-Path) for a given LSP. The inclusion of the additional
ACH header can modify the hashing behavior for OAM packets that could
result in incorrect monitoring of the path taken by data traffic.
5. Applicability
The procedures specified in this document for non-IP encapsulation
apply to MPLS-TP transport paths. This includes LSPs and PWs when IP
encapsulation is not desired. However, when IP addressing is used,
as in non MPLS-TP LSPs, procedures specified in [RFC4379] MUST be
used.
6. Security Considerations
This document does not itself introduce any new security
considerations. Those discussed in [RFC4379] are applicable to this
document.
Unlike typical deployment scenarios identified in [RFC4379], however,
likely deployments of on-demand CV for transport paths involves a
strong possibility that the techniques in this document may be used
across MPLS administrative boundaries. Where this may occur, it is
RECOMMENDED that on-demand OAM is configured as necessary to ensure
that Source Identifier TLVs are included in on-demand CV messages.
This will allow implementations to filter OAM messages arriving from
an unexpected or unknown source.
7. IANA Considerations
7.1. New Source and Destination Identifier TLVs
IANA has assigned the following TLV types from the "Multi-Protocol
Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters"
registry, "TLVs and sub-TLVs" sub-registry (from the "Standards
Action" TLV type range):
Length
Type # TLV Name Octets Reference
------ ----------------- ------ ---------------------------
13 Source ID 8 this document (Section 2.2)
14 Destination ID 8 this document (Section 2.2)
Figure 9: New Source and Destination Identifier TLV Types
7.2. New Target FEC Stack Sub-TLVs
Section 2.3 defines 2 new sub-TLV types for inclusion within the LSP
ping [RFC4379] Target FEC Stack TLV (1).
IANA has assigned sub-type values to the following sub-TLVs from the
"Multi-Protocol Label Switching Architecture (MPLS) Label Switched
Paths (LSPs) Ping Parameters" registry, "TLVs and sub-TLVs" sub-
registry.
Value Meaning Reference
----- ------------------- -----------------------------
22 Static LSP this document (Section 2.4.1)
23 Static Pseudowire this document (Section 2.4.2)
7.3. New Reverse-Path Target FEC Stack TLV
Section 3.4.2 defines a new TLV type for inclusion in the LSP ping
packet.
IANA has assigned a type value to the TLV from the "Multi-Protocol
Label Switching Architecture (MPLS) Label Switched Paths (LSPs) Ping
Parameters" registry, "TLVs and sub-TLVs" sub-registry.
Type Meaning Reference
----- -------------------------- ---------------------------
16 Reverse-path Target FEC this document (Section 3.4)
Stack TLV
The sub-TLV space and assignments for this TLV will be the same as
that for the Target FEC Stack TLV. Sub-types for the Target FEC
Stack TLV and the Reverse-path Target FEC Stack TLV MUST be kept the
same. Any new sub-type added to the Target FEC Stack TLV MUST apply
to the Reverse-path Target FEC Stack TLV as well.
7.4. New Pseudowire Associated Channel Type
On-demand connectivity verification requires a unique Associated
Channel Type. IANA has assigned a PW ACH Type from the "Pseudowire
Associated Channel Types" registry as described below:
Value Description TLV Follows Reference
------ ------------- ----------- -------------------------
0x0025 On-Demand CV No this document (Section 3)
ACH TLVs SHALL NOT be associated with this channel type.
7.5. New Downstream Mapping Address Type Registry
[RFC4379] defined several registries. It also defined some value
assignments without explicitly asking for IANA to create a registry
to support additional value assignments. One such case is in
defining address types associated with the Downstream Mapping (DSMAP)
TLV.
This document extends RFC 4379 by defining a new address type for use
with the Downstream Mapping and Downstream Detailed Mapping TLVs.
Recognizing that the absence of a registry makes it possible to have
collisions of "address-type" usages, IANA has established a new
registry -- associated with both [RFC4379] and this document -- that
initially allocates the following assignments:
Type # Address Type K Octets Reference
------ ------------ -------- --------------------------
1 IPv4 Numbered 16 RFC 4379
2 IPv4 Unnumbered 16 RFC 4379
3 IPv6 Numbered 40 RFC 4379
4 IPv6 Unnumbered 28 RFC 4379
5 Non IP 12 this document (Sect. 2.1.1)
Downstream Mapping Address Type Registry
Because the field in this case is an 8-bit field, the allocation
policy for this registry is "Standards Action."
8. Contributing Authors and Acknowledgements
The following individuals contributed materially to this document:
o Thomas D. Nadeau, CA Technologies
o Nurit Sprecher, Nokia Siemens Networks
o Yaacov Weingarten, Nokia Siemens Networks
In addition, we would like to thank the following individuals for
their efforts in reviewing and commenting on the document:
o Adrian Farrel
o Alexander Vaishtein
o David Sinicrope (Routing Directorate)
o Greg Mirsky
o Hideki Endo
o Huub van Helvoort
o Joel Halpern (Routing Directorate)
o Loa Andersson
o Mach Chen
o Mahesh Akula
o Sam Aldrin
o Sandra Murphy (Security Directorate)
o Yaacov Weingarten
o Yoshinori Koike
o Zhenlong Cui
9. References
9.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.
[RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson,
"Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for
Use over an MPLS PSN", RFC 4385, February 2006.
[RFC5586] Bocci, M., Vigoureux, M., and S. Bryant, "MPLS Generic
Associated Channel", RFC 5586, June 2009.
[RFC6370] Bocci, M., Swallow, G., and E. Gray, "MPLS Transport
Profile (MPLS-TP) Identifiers", RFC 6370, September 2011.
[RFC6424] Bahadur, N., Kompella, K., and G. Swallow, "Mechanism for
Performing Label Switched Path Ping (LSP Ping) over MPLS
Tunnels", RFC 6424, November 2011.
[RFC6425] Saxena, S., Swallow, G., Ali, Z., Farrel, A., Yasukawa,
S., and T. Nadeau, "Detecting Data-Plane Failures in
Point-to-Multipoint MPLS - Extensions to LSP Ping",
RFC 6425, November 2011.
9.2. Informative References
[RFC1122] Braden, R., "Requirements for Internet Hosts -
Communication Layers", STD 3, RFC 1122, October 1989.
[RFC1812] Baker, F., "Requirements for IP Version 4 Routers",
RFC 1812, June 1995.
[RFC4446] Martini, L., "IANA Allocations for Pseudowire Edge to Edge
Emulation (PWE3)", BCP 116, RFC 4446, April 2006.
[RFC5003] Metz, C., Martini, L., Balus, F., and J. Sugimoto,
"Attachment Individual Identifier (AII) Types for
Aggregation", RFC 5003, September 2007.
[RFC5860] Vigoureux, M., Ward, D., and M. Betts, "Requirements for
Operations, Administration, and Maintenance (OAM) in MPLS
Transport Networks", RFC 5860, May 2010.
[RFC5884] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow,
"Bidirectional Forwarding Detection (BFD) for MPLS Label
Switched Paths (LSPs)", RFC 5884, June 2010.
[RFC6371] Busi, I. and D. Allan, "Operations, Administration, and
Maintenance Framework for MPLS-Based Transport Networks",
RFC 6371, September 2011.
Authors' Addresses
Eric Gray
Ericsson
900 Chelmsford Street
Lowell, MA 01851
US
Phone: +1 978 275 7470
EMail: eric.gray@ericsson.com
Nitin Bahadur
Juniper Networks, Inc.
1194 N. Mathilda Avenue
Sunnyvale, CA 94089
US
Phone: +1 408 745 2000
EMail: nitinb@juniper.net
URI: www.juniper.net
Sami Boutros
Cisco Systems, Inc.
3750 Cisco Way
San Jose, CA 95134
US
EMail: sboutros@cisco.com
Rahul Aggarwal
EMail: raggarwa_1@yahoo.com
ISO Plain Language
On this page
§1What LSP Ping Does and What MPLS-TP Needs
Label Switched Path ping (LSP ping), defined in RFC 4379, is an Operations, Administration, and Maintenance (OAM) mechanism for MPLS label switched paths (LSPs). This RFC describes extensions to it so that LSP ping can be used for on-demand monitoring of MPLS Transport Profile (MPLS-TP) LSPs and pseudowires, and it clarifies the procedures for processing the related OAM packets. It meets the on-demand connectivity verification and route tracing requirements of RFC 5860, as specified in RFC 6371, and it updates RFC 4379 by adding a new address type and creating an IANA registry.
The RFC is careful about its own vocabulary, because three terms are easily confused. LSP ping is the mechanism. On-demand CV means on-demand connectivity verification and, where both apply equally, on-demand route tracing, implemented with the LSP ping mechanism extended for MPLS-TP. On-demand route tracing is used where the extended mechanism is used exclusively for route tracing. Two roles appear throughout: the Requester originates an OAM request message, and the Responder answers it. All messages are carried in an LSP, so a request is injected at the ingress of an LSP, and a responder may or may not sit at the egress of that same LSP, because it can also receive requests when the time-to-live (TTL) expires along the way.
The gap the extensions close is that LSP ping normally requires IP addressing on the responding routers. The echo packets are encapsulated in an IP/UDP header with a destination address from the 127/8 range and then in the MPLS label stack, and a responder recognises OAM packets by that destination address and the UDP port number. This does not need IP forwarding, but it does need an IP host stack on the router. In MPLS-TP deployments where IP addressing is not available, or where a non-IP encapsulation is preferred, on-demand CV and route tracing SHOULD be run without IP addressing, using the associated channel (ACH) mechanism.
LSP ping checks an MPLS path on demand by sending a test packet along it and waiting for the answer. It assumes the routers have IP addresses and that the path was set up by a signalling protocol. MPLS Transport Profile paths often have neither, so the test could not be run on them at all.
This RFC makes the test work without IP addresses, and makes it possible to name a path that was configured by hand rather than by a protocol, and to check that the return path is the right one.
§2New Fields in the LSP Ping Message
The RFC adds four groups of fields to the LSP ping message.
The Downstream Mapping (DSMAP) TLV of RFC 4379, and the Downstream Detailed Mapping (DDMAP) TLV of RFC 6424, gain a new address type, number 5, named Non IP, with 12 octets. It means that no address is present in the TLV, but the ingress and egress interface numbers (IF_Num) and the multipath information may still be there. An IF_Num of zero means that no interface number applies in that field, and the multipath type SHOULD be set to zero. When this address type is used, interface verification MUST be bypassed on receipt of an echo request, so the receiving node SHOULD only perform MPLS label control plane and data plane consistency checks, which include checking the included identifier information.
A Source Identifier TLV and a Destination Identifier TLV are defined, of type 13 and 14, each eight octets long and each holding a four-octet Global ID and a four-octet Node ID as defined in RFC 6370. The Source Identifier TLV names the originator of the packet and the Destination Identifier TLV names the destination node. An on-demand CV packet MUST NOT carry more than one of either; if it does, and the source can still be identified unambiguously, the error for a malformed echo request MUST be returned.
To name a statically provisioned LSP or pseudowire in an echo request, two new Target FEC Stack sub-TLVs are defined: sub-type 22 for a static LSP, 24 octets long, and sub-type 23 for a static pseudowire, 32 octets long. The static LSP sub-TLV carries the source and destination Global ID and Node ID, the source tunnel number, the LSP number and a destination tunnel number that must be zero. The static pseudowire sub-TLV carries a 64-bit service identifier, the source and destination Global ID and Node ID, and the source and destination AC-ID fields defined in RFC 5003. Either Global ID may be set to zero, which means the field does not apply, for example where local scope is enough to identify the service.
The RFC adds four things to the test packet. A new address type for the field that records where the packet went, meaning there is no IP address to record, only interface numbers. Two small identifier fields, one naming the node that sent the packet and one naming the node it was sent to, so a receiver can tell whether the packet came from where it expected. Two new ways of naming the path under test, one for a path configured by hand and one for a pseudowire. And a way of saying that a statically configured path may be identified by local names alone, by leaving the global identifier zero.
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
TYPE | Type | 2 bytes | 13 or 14 | 13 for the Source Identifier TLV, 14 for the Destination Identifier TLV. |
LENGTH | Length | 2 bytes | 8 | Length of the TLV in octets. |
GLOBAL-ID | Global_ID | 4 bytes | Global identifier, as defined in RFC 6370. | |
NODE-ID | Node_ID | 4 bytes | Node identifier, as defined in RFC 6370. |
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
MTU | MTU | 2 bytes | Maximum transmission unit. | |
ADDRESS-TYPE | Address Type | 1 byte | 5 | Set to 5 for Non IP. |
DS-FLAGS | DS Flags | 1 byte | Downstream flags. | |
INGRESS-IF-NUM | Ingress IF_Num | 4 bytes | Ingress interface on the target node; zero means it does not apply. | |
EGRESS-IF-NUM | Egress IF_Num | 4 bytes | Egress interface on the target node; zero means it does not apply. | |
MULTIPATH-TYPE | Multipath Type | 1 byte | SHOULD be zero, meaning no multipath. | |
DEPTH-LIMIT | Depth Limit | 1 byte | Depth limit for the multipath search. | |
MULTIPATH-LENGTH | Multipath Length | 2 bytes | Length of the multipath information. |
§3Running the Check
The on-demand CV function meets the requirements of Section 2.2.3 of RFC 5860. It SHOULD NOT be performed except in the on-demand mode, and it SHOULD be performed between the end points and intermediate points of PWs and LSPs, and between the end points of PWs, LSPs and sections. For the packet to be processed at the intermediate point being probed, the TTL of the MPLS label MUST be set so that it expires there.
With IP encapsulation, the echo request travels along the LSP under test with an IP/UDP packet inside it. The IP header is not used for forwarding, since MPLS does the forwarding, but it is used for addressing. This form of on-demand CV MUST be supported for MPLS-TP LSPs when IP addressing is in use. The response MUST be sent on the reverse path of the LSP, with IP/UDP headers followed by the payload, the destination address set to that of the sender of the request and the source address set to a valid address of the replying node.
IP encapsulated packets MAY also be sent over the LSP's control channel, using the IP associated channel type of RFC 4385. A new pseudowire associated channel type, 0x0025, is defined for on-demand connectivity verification, and ACH TLVs SHALL NOT be associated with it.
Without IP encapsulation, the on-demand CV request payload MUST directly follow the ACH header, and the reply mode in the echo request SHOULD be set to 4, reply via application level control channel. The reply MUST then be sent on the reverse path of the LSP using ACH, with the payload directly following the ACH header and with no IP or UDP headers attached. A node that receives such a request but has no return MPLS LSP path to the source SHOULD drop it. A node that receives a request with a reply mode other than 4 MAY answer using that mode if it supports it, and MUST drop the request if it does not support the requested mode.
There are three ways to run the check. With IP addresses, the test packet is carried inside the path with an IP and UDP header, and the answer comes back along the reverse path. With IP addresses but over the path's control channel, the same thing happens with the packet wrapped differently. Without IP addresses at all, the payload follows the control channel header directly, and the request asks for the answer to come back that way too.
In every case the answer comes back along a path, and a node that has no way to send the answer back drops the request rather than guessing.
| Aspect | With IP encapsulation | Without IP encapsulation |
|---|---|---|
| What carries the request | IP and UDP headers inside the MPLS label stack | The payload directly after the associated channel header |
| Reply mode | The reply is sent on the reverse path of the LSP | SHOULD be set to 4, reply via application level control channel |
| Addressing needed on the routers | Yes, an IP host stack is required | No |
| Limitation | Not applicable to paths without IP addressing | SHOULD NOT be used when there is Equal Cost Multi-Path for the LSP |
§3.4Checking the Return Path Too
A new global flag, Validate Reverse Path (R), is defined in the LSP ping packet header. When it is set in an echo request, the responder SHOULD return reverse-path FEC information. The R flag MUST NOT be set in an echo response. The global flags field is now a bit vector holding the R flag alongside the V flag defined in RFC 4379 and the T flag defined in RFC 6425. The Validate FEC Stack (V) flag MAY be set in the echo response when reverse-path connectivity verification is being performed.
When the R flag is set, the responding node SHOULD attach a Reverse-path Target FEC Stack TLV to the echo response. Its format is the same as that of the Target FEC Stack TLV of RFC 4379, and the rules for creating a Target FEC Stack TLV also apply to it. Its type is 16. For a co-routed bidirectional LSP the reverse-path Target FEC Stack is the same in both directions; for an associated bidirectional LSP it MAY be different for the reverse path.
On receipt of the echo response, the requesting node MUST perform interface and label stack validation to confirm that the packet was received on the reverse path of the bidirectional LSP, and MUST perform FEC validation if the Reverse-path Target FEC Stack TLV is present, using the procedure of Section 3.6 of RFC 4379. If any of those validations fail, the requesting node MUST drop the echo response and SHOULD log and/or report an error.
One extra check is available: the requester can ask the far end to prove which path the answer came back on. The far end adds a field describing the reverse path, and the requester then checks that the packet arrived on the right interface with the right labels and that the path description matches. If any of that fails, the answer is thrown away and the error is recorded.
§4Tracing the Route
On-demand route tracing meets the route tracing requirement of Section 2.2.3 of RFC 5860. It SHOULD be performed on demand, between the end points and intermediate points of PWs and LSPs, and between the end points of PWs, LSPs and sections.
The requesting node inserts a Downstream Mapping TLV to get information about the downstream node and to enable LSP verification along the transit nodes. The TLV can be used as it is defined for route tracing, and where IP addressing is not in use the address type field can be set to Non IP. With IP encapsulation the mechanics are the same as for the check described earlier, and this form MUST be supported for MPLS-TP LSPs when IP addressing is in use. Without IP encapsulation, the request packets take the same form as in the non-IP case above, and MPLS TTL expiry is used to direct the packets to specific nodes along the path. The responses are received on the LSP itself, and the presence of an ACH header with the on-demand CV channel type indicates that the packet carries an on-demand CV payload. At the responder, the CV data, the label stack and the destination identifier together are enough to identify the LSP. If there is an error and the node cannot identify the LSP on which the response would be sent, it MUST drop the request and send nothing back. All responses MUST be sent on an LSP path using the ACH header and the on-demand CV channel type.
Point-to-multipoint LSPs are covered as well: the procedures of RFC 6425 MUST be supported for MPLS-TP P2MP LSPs when IP addressing is used, and the non-IP procedures can be applied to them as well. One limitation is stated: on-demand CV using ACH SHOULD NOT be used when there is Equal Cost Multi-Path for a given LSP, because the additional ACH header can modify the hashing behaviour for OAM packets and so give a wrong picture of the path taken by the data traffic.
Route tracing finds out which nodes the path actually goes through. The requester sends the test packet with a time-to-live set so that it expires at one hop, reads the answer, then repeats with a longer life to reach the next hop. The answer describes the node that answered, which is what lets the requester build the route.
There is one warning. If the network spreads traffic over several equal-cost paths, the extra header this method adds can change how packets are hashed, and the test would then follow a different path from the real traffic.
- Echo request, TTL 1MPLS TTL expiry directs the packet to this node.
- Echo responseThe response is received on the LSP itself.
- Echo request, TTL 2A longer time-to-live reaches the next node along the path.
- Echo responseThe Downstream Mapping TLV identifies the node that answered.
§5When These Procedures Apply
The procedures for non-IP encapsulation apply to MPLS-TP transport paths, which includes LSPs and PWs when IP encapsulation is not wanted. Where IP addressing is used, as in ordinary non MPLS-TP LSPs, the procedures of RFC 4379 MUST be used.
Two operational points appear elsewhere in the document. Support for on-demand CV on a static MPLS-TP LSP or pseudowire MAY require manageable objects, for instance to configure operating parameters such as the identifiers associated with a statically configured LSP or PW; the specifics of that requirement are out of scope and SHOULD be addressed in management specifications. And at the requester, when the echo request is encapsulated with the IP or the non-IP ACH codepoint, a Generic Associated Channel Label (GAL) MUST be added before the MPLS LSP label. The GAL MUST NOT be treated as part of the MPLS label stack that the responder verifies, so no Nil FEC TLV may be added or associated with it, and the GAL MUST NOT be included in DSMAP or DDMAP TLVs. Interface and Label Stack TLVs, on the other hand, MUST include the whole label stack including the GAL.
These procedures are for transport paths that do not use IP addresses. Ordinary MPLS paths that do use IP keep using the original procedure.
Two practical details are worth knowing. A statically configured path may need extra configuration objects so that its identifiers can be set. And the test packet carries one extra label, the generic associated channel label, in front of the path's own labels. That extra label is not part of what the far end checks, but it does have to appear in the interface and label stack fields.
§6Security Considerations
The RFC introduces no new security considerations of its own, and those discussed in RFC 4379 apply to it. It notes one difference from the typical deployments that document assumes: on-demand CV for transport paths is likely to be used across MPLS administrative boundaries. Where that may occur, it is RECOMMENDED that on-demand OAM is configured as necessary to ensure that Source Identifier TLVs are included in on-demand CV messages, which allows implementations to filter OAM messages arriving from an unexpected or unknown source.
The document adds no new security rules. It does point out that these checks are likely to run between networks with different owners, and recommends that every message then carries the identifier of the node that sent it, so that a receiver can drop messages from a source it does not expect.
§7IANA Considerations
IANA has assigned two TLV types from the MPLS LSPs Ping Parameters registry: 13 for the Source ID TLV and 14 for the Destination ID TLV, each eight octets long. Two sub-TLV types have been assigned for inclusion in the Target FEC Stack TLV, 22 for Static LSP and 23 for Static Pseudowire. A new TLV type, 16, has been assigned for the Reverse-path Target FEC Stack TLV; its sub-TLV space and assignments are the same as those of the Target FEC Stack TLV, and any new sub-type added to the Target FEC Stack TLV MUST apply to it as well.
A PW ACH Type of 0x0025 has been allocated for on-demand CV, with no TLV following it. Finally, a new Downstream Mapping Address Type registry has been established, covering both RFC 4379 and this document: type 1 IPv4 Numbered, 2 IPv4 Unnumbered, 3 IPv6 Numbered, 4 IPv6 Unnumbered and 5 Non IP. The field is 8 bits wide, so the allocation policy for the registry is Standards Action.
The RFC asks for seven new numbers to be reserved: two for the source and destination identifiers, two for naming a static path or pseudowire, one for the reverse path description, one for the new channel type, and one for the address type registry.
- 13Source ID TLV — Names the originator of the on-demand CV packet.
- 14Destination ID TLV — Names the destination node of the on-demand CV packet.
- 22Static LSP sub-TLV — Identifies a statically provisioned LSP in the Target FEC Stack TLV.
- 23Static Pseudowire sub-TLV — Identifies a statically provisioned pseudowire in the Target FEC Stack TLV.
- 16Reverse-path Target FEC Stack TLV — Carries the reverse-path FEC information in the echo response.
- 0x0025On-Demand CV PW ACH Type — The associated channel type used for on-demand connectivity verification.
- 5Non IP address type — Address type meaning that no address is present in the mapping TLV.