draft-ietf-mpls-lsp-ping-ttl-tlv-09.txt   draft-ietf-mpls-lsp-ping-ttl-tlv-10.txt 
skipping to change at page 1, line 15 skipping to change at page 1, line 15
Intended Status: Standards Track George Swallow Intended Status: Standards Track George Swallow
Shaleen Saxena Shaleen Saxena
Cisco Systems Cisco Systems
Vishwas Manral Vishwas Manral
Hewlett Packard Co. Hewlett Packard Co.
Sam Aldrin Sam Aldrin
Huawei Technologies, Inc. Huawei Technologies, Inc.
Expires: February 5, 2015 August 4, 2014 Expires: February 20, 2015 August 19, 2014
Definition of Time-to-Live TLV for LSP-Ping Mechanisms Definition of Time-to-Live TLV for LSP-Ping Mechanisms
draft-ietf-mpls-lsp-ping-ttl-tlv-09.txt draft-ietf-mpls-lsp-ping-ttl-tlv-10.txt
Abstract Abstract
LSP-Ping is a widely deployed Operation, Administration, and LSP-Ping is a widely deployed Operation, Administration, and
Maintenance (OAM) mechanism in MPLS networks. However, in the present Maintenance (OAM) mechanism in MPLS networks. However, in the present
form, this mechanism is inadequate to verify connectivity of a form, this mechanism is inadequate to verify connectivity of a
segment of a Multi-Segment PseudoWire (MS-PW) and/or bidirectional segment of a Multi-Segment PseudoWire (MS-PW) and/or bidirectional
co-routed LSP from any node on the path of the MS-PW and/or co-routed LSP from any node on the path of the MS-PW and/or
bidirectional co-routed LSP. This document defines a TLV to address bidirectional co-routed LSP. This document defines a TLV to address
this shortcoming. this shortcoming.
skipping to change at page 3, line 18 skipping to change at page 3, line 18
to allow Service Providers (SP) to verify segments of such MS-PW from to allow Service Providers (SP) to verify segments of such MS-PW from
any node on the path of the MS-PW, any node along the path of the MS- any node on the path of the MS-PW, any node along the path of the MS-
PW, should be able to originate an MPLS Echo Request packet to any PW, should be able to originate an MPLS Echo Request packet to any
other node along the path of the MS-PW and receive the corresponding other node along the path of the MS-PW and receive the corresponding
MPLS Echo Reply. If the originator of the MPLS Echo Request is at the MPLS Echo Reply. If the originator of the MPLS Echo Request is at the
end of a MS-PW, the receiver of the request can send the reply back end of a MS-PW, the receiver of the request can send the reply back
to the sender without knowing the hop-count distance of the to the sender without knowing the hop-count distance of the
originator. The reply will be intercepted by the originator originator. The reply will be intercepted by the originator
regardless of the TTL value on the reply packet. But, if the regardless of the TTL value on the reply packet. But, if the
originator is not at the end of the MS-PW, the receiver of the MPLS originator is not at the end of the MS-PW, the receiver of the MPLS
Echo Request MAY need to know how many hops away the originator of Echo Request may need to know how many hops away the originator of
the MPLS Echo Request is so that it can set the TTL value on the MPLS the MPLS Echo Request is so that it can set the TTL value on the MPLS
header for the MPLS Echo Reply to be intercepted at the originator header for the MPLS Echo Reply to be intercepted at the originator
node. node.
In MPLS networks, for bidirectional co-routed LSPs, if it is desired In MPLS networks, for bidirectional co-routed LSPs, if it is desired
to verify connectivity from any intermediate node (LSR) on the LSP to to verify connectivity from any intermediate node (LSR) on the LSP to
the any other LSR on the LSP the receiver may need to know the TTL to the any other LSR on the LSP the receiver may need to know the TTL to
send the MPLS Echo Reply with, so as the packet is intercepted by the send the MPLS Echo Reply with, so as the packet is intercepted by the
originator node. originator node.
skipping to change at page 4, line 39 skipping to change at page 4, line 39
Flags Flags
The Flags field is a bit vector with the following format: The Flags field is a bit vector with the following format:
0 1 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MBZ |R| | MBZ |R|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
One flag is defined for now, the R flag; the rest of the One flag is defined for now, the R flag. The rest of the
flags are currently undefined and MUST be zero (MBZ) when flags are Reserved - MUST be zero (MBZ) when sending and
sending and ignored on receipt. ignored on receipt.
The R flag (Reply TTL) is set signify that the value is The R flag (Reply TTL) is set signify that the value is
meant to be used as the TTL for the reply packet. Other bits meant to be used as the TTL for the reply packet. Other bits
may be defined later to enhance the scope of this TLV. may be defined later to enhance the scope of this TLV.
3.2. Usage 3.2. Usage
This TLV SHALL be included in the MPLS Echo Request by the originator The TTL TLV MAY be included in the MPLS Echo Request by the
of request. The use of this TLV is optional. If a receiver does not originator of the request.
understand the TTL TLV, it will simply ignore the TLV (Type value of
TLV is assumed to be in the range of optional TLV's which SHOULD be
ignored if an implementation does not support or understand them). In
the absence of TTL TLV or if TTL TLV is ignored by a receiver, the
determination of the TTL value used in the MPLS label on the LSP-Ping
echo reply is beyond the scope of this document.
If a receiver understands the TTL TLV, and the TTL TLV is present in If the TTL TLV is present and the receiver does not understand TTL
the MPLS Echo Request, and if the value field is zero, the LSP-Ping TLVs, it will simply ignore the TLV, as is the case for all optional
echo request packet SHOULD be dropped. TLVs. If the TTL TLV is not present or is not processed by the
receiver, any determination of the TTL value used in the MPLS label
on the LSP-Ping echo reply is beyond the scope of this document.
If a receiver understands the TTL TLV, and the TTL TLV is present in If the TTL TLV is present and the receiver understands TTL TLVs, one
the MPLS Echo Request, the receiver MUST use the TTL value specified of the following two conditions apply:
in TLV in the MPLS header of the MPLS Echo Reply. In other words, if
the value of the TTL provided by this TLV does not match the TTL o If the TTL TLV value field is zero, the LSP-Ping echo request
determined by other means, such as Switching Point TLV in MS-PW, then packet SHOULD be dropped.
TTL TLV MUST be used. This will aid the originator of the LSP-Ping
echo request in analyzing the return path. o Otherwise, the receiver MUST use the TTL value specified in the
TTL TLV when it creates the MPLS header of the MPLS Echo Reply.
The TTL value in the TTL TLV takes precedence over any TTL value
determined by other means, such as from the Switching Point TLV in
the MS-PW. This precedence will aid the originator of the LSP-
Ping echo request in analyzing the return path.
4. Operation 4. Operation
In this section, we explain a use case for the TTL TLV with an MPLS In this section, we explain a use case for the TTL TLV with an MPLS
MS-PW. MS-PW.
<------------------MS-PW ---------------------> <------------------MS-PW --------------------->
A B C D E A B C D E
o -------- o -------- o --------- o --------- o o -------- o -------- o --------- o --------- o
---MPLS Echo Request---> ---MPLS Echo Request--->
skipping to change at page 6, line 5 skipping to change at page 6, line 6
packet contains the FEC of the PW Segment between C and D. The value packet contains the FEC of the PW Segment between C and D. The value
field of the TTL TLV and the TTL field of the MPLS label are set to field of the TTL TLV and the TTL field of the MPLS label are set to
2, the choice of the value 2 will be based on the operator input 2, the choice of the value 2 will be based on the operator input
requesting the MPLS Echo Request or from the optional LDP switching requesting the MPLS Echo Request or from the optional LDP switching
point TLV. The MPLS Echo Request is intercepted at D because of TTL point TLV. The MPLS Echo Request is intercepted at D because of TTL
expiry. D detects the TTL TLV in the request, and use the TTL value expiry. D detects the TTL TLV in the request, and use the TTL value
(i.e., 2) specified in the TLV on the MPLS label of the MPLS Echo (i.e., 2) specified in the TLV on the MPLS label of the MPLS Echo
Reply. The MPLS Echo Reply will be intercepted by B because of TTL Reply. The MPLS Echo Reply will be intercepted by B because of TTL
expiry. expiry.
The same operation will apply in the case a co-routed bidirectional The same operation will apply when we have a co-routed bidirectional
LSP and we want to check connectivity from an intermediate LSR B to LSP, and we want to check connectivity from an intermediate LSR "B"
another LSR D, from B. to another LSR "D".
4.1. Traceroute mode 4.1. Traceroute mode
In the traceroute mode TTL value in the TLV is successively set to 1, In traceroute mode, the TTL value in the TLV is set to 1 for the
2, and so on. This is similar to the TTL values used for the label first Echo Request, then to 2 for the next, and so on. This is
set on the packet. similar to the TTL values used for the label set on the packet.
4.2. Error scenario 4.2. Error scenario
It is possible that the MPLS Echo Request packet was intercepted It is possible that the MPLS Echo Request packet was intercepted
before the intended destination for reason other than label TTL before the intended destination for reason other than label TTL
expiry. This could be due network faults, misconfiguration or other expiry. This could be due network faults, misconfiguration or other
reasons. In such cases, if the return TTL is set to the value reasons. In such cases, if the return TTL is set to the value
specified in the TTL TLV then the echo response packet will continue specified in the TTL TLV then the echo response packet will continue
beyond the originating node. This becomes a security issue. beyond the originating node. This becomes a security issue.
To prevent this, the label TTL value used in the MPLS Echo Reply To prevent this, the label TTL value used in the MPLS Echo Reply
packet MUST be modified by deducting the incoming label TTL on the packet MUST be modified by deducting the incoming label TTL on the
received packet from TTL TLV value. If the MPLS Echo Request packet received packet from TTL TLV value. If the MPLS Echo Request packet
is punted to the CPU before the incoming label TTL is deducted, then is punted to the CPU before the incoming label TTL is deducted, then
another 1 MUST be deducted. In other words: another 1 MUST be added. In other words:
Return TTL Value on the MPLS Echo Reply packet = (TTL TLV Value)- Return TTL Value on the MPLS Echo Reply packet = (TTL TLV Value)-
(Incoming Label TTL) + 1 (Incoming Label TTL) + 1
5. Security Considerations 5. Security Considerations
This draft allows the setting of the TTL value in the MPLS Label of This draft allows the setting of the TTL value in the MPLS Label of
an MPLS Echo Reply, so that it can be intercepted by an intermediate an MPLS Echo Reply, so that it can be intercepted by an intermediate
device. This can cause a device to get a lot of LSP Ping packets device. This can cause a device to get a lot of LSP Ping packets
which get redirected to the CPU. which get redirected to the CPU.
 End of changes. 10 change blocks. 
31 lines changed or deleted 32 lines changed or added

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