draft-ietf-mpls-proxy-lsp-ping-04.txt   draft-ietf-mpls-proxy-lsp-ping-05.txt 
Network Working Group G. Swallow Network Working Group G. Swallow
Internet-Draft V. Lim Internet-Draft V. Lim
Intended status: Standards Track Cisco Systems Intended status: Standards Track Cisco Systems
Expires: August 30, 2015 S. Aldrin Expires: September 26, 2015 S. Aldrin
Huawei Technologies Huawei Technologies
February 26, 2015 March 25, 2015
Proxy MPLS Echo Request Proxy MPLS Echo Request
draft-ietf-mpls-proxy-lsp-ping-04 draft-ietf-mpls-proxy-lsp-ping-05
Abstract Abstract
This document defines a means of remotely initiating Multiprotocol This document defines a means of remotely initiating Multiprotocol
Label Switched Protocol Pings on Label Switched Paths. An MPLS Proxy Label Switched Protocol Pings on Label Switched Paths. An MPLS Proxy
Ping Request is sent to any Label Switching Router along a Label Ping Request is sent to any Label Switching Router along a Label
Switched Path. The primary motivations for this facility are first to Switched Path. The primary motivations for this facility are first to
limit the number of messages and related processing when using LSP limit the number of messages and related processing when using LSP
Ping in large Point-to-Multipoint LSPs, and second to enable leaf to Ping in large Point-to-Multipoint LSPs, and second to enable leaf to
leaf/root tracing. leaf/root tracing.
skipping to change at page 1, line 44 skipping to change at page 1, line 44
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."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on August 30, 2015. This Internet-Draft will expire on September 26, 2015.
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 40 skipping to change at page 2, line 40
3.1. Procedures for the initiator . . . . . . . . . . . . . . . 7 3.1. Procedures for the initiator . . . . . . . . . . . . . . . 7
3.2. Procedures for the Proxy LSR . . . . . . . . . . . . . . . 8 3.2. Procedures for the Proxy LSR . . . . . . . . . . . . . . . 8
3.2.1. Proxy LSR Handling when it is egress for FEC . . . . . 10 3.2.1. Proxy LSR Handling when it is egress for FEC . . . . . 10
3.2.2. Downstream Detailed/Downstream Maps in Proxy Reply . . 11 3.2.2. Downstream Detailed/Downstream Maps in Proxy Reply . . 11
3.2.3. Sending an MPLS Proxy Ping Reply . . . . . . . . . . . 12 3.2.3. Sending an MPLS Proxy Ping Reply . . . . . . . . . . . 12
3.2.4. Sending the MPLS Echo Requests . . . . . . . . . . . . 12 3.2.4. Sending the MPLS Echo Requests . . . . . . . . . . . . 12
3.2.4.1. Forming the base MPLS Echo Request . . . . . . . . 12 3.2.4.1. Forming the base MPLS Echo Request . . . . . . . . 12
3.2.4.2. Per interface sending procedures . . . . . . . . . 14 3.2.4.2. Per interface sending procedures . . . . . . . . . 14
4. Proxy Ping Request / Reply Messages . . . . . . . . . . . . . 14 4. Proxy Ping Request / Reply Messages . . . . . . . . . . . . . 14
4.1. Proxy Ping Request / Reply Message formats . . . . . . . . 14 4.1. Proxy Ping Request / Reply Message formats . . . . . . . . 14
4.2. Proxy Ping Request Message contents . . . . . . . . . . . 14 4.2. Proxy Ping Request Message contents . . . . . . . . . . . 15
4.3. Proxy Ping Reply Message Contents . . . . . . . . . . . . 15 4.3. Proxy Ping Reply Message Contents . . . . . . . . . . . . 15
5. TLV formats . . . . . . . . . . . . . . . . . . . . . . . . . 15 5. TLV formats . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1. Proxy Echo Parameters TLV . . . . . . . . . . . . . . . . 15 5.1. Proxy Echo Parameters TLV . . . . . . . . . . . . . . . . 16
5.1.1. Next Hop sub-TLV . . . . . . . . . . . . . . . . . . . 19 5.1.1. Next Hop sub-TLV . . . . . . . . . . . . . . . . . . . 19
5.2. Reply-to Address TLV . . . . . . . . . . . . . . . . . . . 20 5.2. Reply-to Address TLV . . . . . . . . . . . . . . . . . . . 20
5.3. Upstream Neighbor Address TLV . . . . . . . . . . . . . . 20 5.3. Upstream Neighbor Address TLV . . . . . . . . . . . . . . 20
5.4. Downstream Neighbor Address TLV . . . . . . . . . . . . . 21 5.4. Downstream Neighbor Address TLV . . . . . . . . . . . . . 21
6. Security Considerations . . . . . . . . . . . . . . . . . . . 22 6. Security Considerations . . . . . . . . . . . . . . . . . . . 22
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 22 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 23
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23
8.1. Proxy Echo Parameters Sub-TLVs . . . . . . . . . . . . . . 23 8.1. Proxy Echo Parameters Sub-TLVs . . . . . . . . . . . . . . 23
8.2. Downstream Address Mapping Registry [pending IANA
assignment] . . . . . . . . . . . . . . . . . . . . . . . 24
8.3. Next Hop Sub-TLV Address Type Registry . . . . . . . . . . 24
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 24 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 24
9.1. Normative References . . . . . . . . . . . . . . . . . . . 24 9.1. Normative References . . . . . . . . . . . . . . . . . . . 25
9.2. Informative References . . . . . . . . . . . . . . . . . . 24 9.2. Informative References . . . . . . . . . . . . . . . . . . 25
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25
1. Introduction 1. Introduction
This document is motivated by two broad issues in connection with This document is motivated by two broad issues in connection with
diagnosing Point-to-Multipoint (P2MP) Label Switched Paths (LSPs). diagnosing Point-to-Multipoint (P2MP) Label Switched Paths (LSPs).
The first is scalability due to the automatic replication of The first is scalability due to the automatic replication of
Multiprotocol Label Switching (MPLS) Echo Request Messages as they Multiprotocol Label Switching (MPLS) Echo Request Messages as they
proceed down the tree. The second, which is primarily motivated by proceed down the tree. The second, which is primarily motivated by
Label Distribution Protocol based Point-to-Multipoint (P2MP) and Label Distribution Protocol based Point-to-Multipoint (P2MP) and
Multipoint-to-Multipoint (MP2MP) Label Switched Paths [RFC6388], is Multipoint-to-Multipoint (MP2MP) Label Switched Paths [RFC6388], is
the ability to trace a sub-LSP from leaf node to root node. the ability to trace a sub-LSP from leaf node to root node.
It is anticipated that very large Point-to-Multipoint and Multipoint- When tracing from a source to a particular leaf in a P2MP or MP2MP
to-Multipoint (MP2MP) Label Switched Paths will exist. Further it is tree, nodes not along that path will need to process MPLS Echo
anticipated that many of the applications for P2MP/MP2MP tunnels will Request messages that are received. The number of MPLS Echo Replies
require OAM that is both rigorous and scalable. sent in response to an MPLS Echo Request quickly multiplies, as the
Label Switching Routers (LSRs), which are part of the tree but not
along the path of the trace could be responding to the received MPLS
Echo Request as well. This could also overwhelm the source to process
all the MPLS Echo Reply messages it receives. It is anticipated that
many of the applications for P2MP/MP2MP tunnels will require OAM that
is both rigorous and scalable.
Suppose one wishes to trace a P2MP LSP to localize a fault which is Suppose one wishes to trace a P2MP LSP to localize a fault which is
affecting one egress or a set of egresses. Suppose one follows the affecting one egress or a set of egresses. Suppose one follows the
normal procedure for tracing - namely repeatedly pinging from the normal procedure for tracing - namely repeatedly pinging from the
root, incrementing the Time to Live (TTL) by one after each three or root, incrementing the Time to Live (TTL) by one after each three or
so pings. Such a procedure has the potential for producing a large so pings. Such a procedure has the potential for producing a large
amount of processing at the P2MP-LSP midpoints and egresses. It also amount of processing at the P2MP-LSP midpoints and egresses. It also
could produce an unwieldy number of replies back to the root. could produce an unwieldy number of replies back to the root.
One alternative would be to begin sending pings from points at or One alternative would be to begin sending pings from points at or
skipping to change at page 5, line 11 skipping to change at page 5, line 20
Based on context the terms leaf and egress are used interchangeably. Based on context the terms leaf and egress are used interchangeably.
Egress is used where consistency with[RFC4379] was deemed Egress is used where consistency with[RFC4379] was deemed
appropriate. Receiver is used in the context of receiving protocol appropriate. Receiver is used in the context of receiving protocol
messages. messages.
1.2. Terminology 1.2. Terminology
Term Definition Term Definition
----- ------------------------------------------- ----- -------------------------------------------
LSP Label Switched Paths LSP Label Switched Path
LSR Label Switching Router LSR Label Switching Router
mLDP Multipoint LDP mLDP Multipoint LDP
MP2MP Multipoint to Multipoint MP2MP Multipoint to Multipoint
MTU Maximum Transmission Unit MTU Maximum Transmission Unit
P2MP Point to Multipoint P2MP Point to Multipoint
TTL Time to Live TTL Time to Live
[Note (to be removed after assignments occur): <TBA> = to be assigned
by IANA]
2. Proxy Ping Overview 2. Proxy Ping Overview
This document defines a protocol interaction between a first node, a This document defines a protocol interaction between a first LSR, an
node which is part of an LSP, to allow the first node to request that LSR which is part of an LSP, to allow the first LSR to request that
the second node initiate an LSP ping for the LSP on the first node's the second LSR initiate an LSP ping for the LSP on the first LSR's
behalf. Since the second node sends the LSP Ping on behalf of the behalf. Since the second LSR sends the LSP Ping on behalf of the
first node, it does not maintain state to be able to handle the first LSR, it does not maintain state to be able to handle the
corresponding LSP Ping response. Instead the responder to the LSP corresponding LSP Ping response. Instead the responder to the LSP
ping sends the LSP Ping response to either the first node or another ping sends the LSP Ping response to either the first LSR or another
node configured to handle it. Two new LSP Ping messages are defined LSR configured to handle it. Two new LSP Ping messages are defined
for remote pinging: the MPLS Proxy Ping Request and the MPLS Proxy for remote pinging: the MPLS Proxy Ping Request and the MPLS Proxy
Ping Reply. Ping Reply.
A remote ping operation on a P2MP LSP generally involves at least A remote ping operation on a P2MP LSP generally involves at least
three LSRs; in some scenarios none of these are the ingress (root) or three LSRs; in some scenarios none of these are the ingress (root) or
an egress (leaf) of the LSP. an egress (leaf) of the LSP.
We refer to these nodes with the following terms: We refer to these LSRs with the following terms:
Initiator - the node which initiates the ping operation by sending Initiator - the LSR which initiates the ping operation by sending
an MPLS Proxy Ping Request message an MPLS Proxy Ping Request message
Proxy LSR - the node which is the destination of the MPLS Proxy Proxy LSR - the LSR which is the destination of the MPLS Proxy
Ping Request message and potential initiator of the MPLS Echo Ping Request message and potential initiator of the MPLS Echo
Request Request
Receiver(s) - the nodes which receive the MPLS Echo Request Receiver(s) - the LSR(s) which receive the MPLS Echo Request
message message
Responder - A receiver that responds to an MPLS Proxy Ping Request Responder - A receiver that responds to an MPLS Proxy Ping Request
or an MPLS Echo Request or an MPLS Echo Request
We note that in some scenarios, the initiator could also be the We note that in some scenarios, the initiator could also be the
responder, in which case the response would be internal to the node. responder, in which case the response would be internal to the LSR.
2.1. Initiating Proxy Ping 2.1. Initiating Proxy Ping
The initiator formats an MPLS Proxy Ping Request message and sends it The initiator formats an MPLS Proxy Ping Request message and sends it
to the Proxy LSR, a node it believes to be on the path of the LSP. to the Proxy LSR, an LSR it believes to be on the path of the LSP.
This message instructs the Proxy LSR to either Reply with Proxy This message instructs the Proxy LSR to either Reply with Proxy
information or to send an MPLS Echo Request inband of the LSP. The information or to send an MPLS Echo Request inband of the LSP. The
initiator requests Proxy information so that it can learn additional initiator requests Proxy information so that it can learn additional
information it needs to use to form a subsequent MPLS Proxy Ping information it needs to use to form a subsequent MPLS Proxy Ping
Request. For example, during LSP traceroute an initiator needs the Request. For example, during LSP traceroute an initiator needs the
downstream map information to form an MPLS Echo Request. An initiator downstream map information to form an MPLS Echo Request. An initiator
may also want to learn a Proxy LSR's FEC neighbor information so that may also want to learn a Proxy LSR's FEC neighbor information so that
it can form Proxy Ping Requests to various nodes along the LSP. it can form Proxy Ping Requests to various LSRs along the LSP.
2.2. Handling at Proxy LSR 2.2. Handling at Proxy LSR
The Proxy LSR either replies with the requested Proxy information or The Proxy LSR either replies with the requested Proxy information or
it validates that it has a label mapping for the specified FEC and it validates that it has a label mapping for the specified FEC and
that it is authorized to send the specified MPLS Echo Request on that it is authorized to send the specified MPLS Echo Request on
behalf of the initiator. behalf of the initiator.
If the Proxy LSR has a label mapping for the FEC and all If the Proxy LSR has a label mapping for the FEC and all
authorization checks have passed, the Proxy LSR formats an MPLS Echo authorization checks have passed, the Proxy LSR formats an MPLS Echo
skipping to change at page 7, line 24 skipping to change at page 7, line 29
The initiator creates an MPLS Proxy Ping request message. The initiator creates an MPLS Proxy Ping request message.
The message MUST contain a Target FEC Stack that describes the FEC The message MUST contain a Target FEC Stack that describes the FEC
being tested. The topmost FEC in the target FEC stack is used at the being tested. The topmost FEC in the target FEC stack is used at the
Proxy LSR to lookup the MPLS label stack that will be used to Proxy LSR to lookup the MPLS label stack that will be used to
encapsulate the MPLS Echo Request packet. encapsulate the MPLS Echo Request packet.
The MPLS Proxy Ping Request message MUST contain a Proxy Echo The MPLS Proxy Ping Request message MUST contain a Proxy Echo
Parameters TLV. In that TLV, the address type is set to either IPv4 Parameters TLV. In that TLV, the address type is set to either IPv4
or IPv6. The Destination IP Address is set to the value to be used in or IPv6. The Destination IP Address is set to the value to be used by
the MPLS Echo Request packet. If the Address Type is IPv4, an address the Proxy LSR to build the MPLS Echo Request packet. The MPLS Echo
is from the range 127/8. If the Address Type is IPv6, an address is Request IP header destination address as specified in [RFC4379], if
from the range ::FFFF:7F00:0/104. the Address Type is IPv4, MUST be an address is from the range 127/8;
If the Address Type is IPv6, MUST be an address from the range
::FFFF:7F00:0/104.
The Reply mode and Global Flags of the Proxy Echo Parameters TLV are The Reply mode and Global Flags of the Proxy Echo Parameters TLV are
set to the values to be used in the MPLS Echo Request message header. set to the values to be used in the MPLS Echo Request message header.
The Source UDP Port is set to the value to be used in the MPLS Echo The Source UDP Port is set to the value to be used in the MPLS Echo
Request (the source port is supplied by the Proxy Ping initiator Request (the source port is supplied by the Proxy Ping initiator
because it or a node known to it handles the LSP ping responses). The because it or an LSR known to it handles the LSP ping responses). The
TTL is set to the value to be used in the outgoing MPLS label stack. TTL is set to the value to be used in the outgoing MPLS label stack.
See Section 5.1 for further details. See Section 5.1 for further details.
If the FEC's Upstream/Downstream Neighbor address information is If the FEC's Upstream/Downstream Neighbor address information is
required, the initiator sets the "Request for FEC neighbor required, the initiator sets the "Request for FEC neighbor
information" Proxy Flags in the Proxy Echo Parameters TLV. information" Proxy Flags in the Proxy Echo Parameters TLV.
If a Downstream Detailed or Downstream Mapping TLV is required in an If a Downstream Detailed or Downstream Mapping TLV is required in an
MPLS Proxy Ping Reply, the initiator sets the "Request for Downstream MPLS Proxy Ping Reply, the initiator sets the "Request for Downstream
Detailed Mapping" or "Request for Downstream Mapping" Proxy Flags in Detailed Mapping" or "Request for Downstream Mapping" Proxy Flags in
skipping to change at page 9, line 15 skipping to change at page 9, line 20
Subcode is set to zero for both cases. Subcode is set to zero for both cases.
If the Reply Mode of the message header is not 1(Do not reply), an If the Reply Mode of the message header is not 1(Do not reply), an
MPLS Proxy Ping Reply message SHOULD be sent as described below. MPLS Proxy Ping Reply message SHOULD be sent as described below.
If the Return Code is "TLV not understood", no more processing of the If the Return Code is "TLV not understood", no more processing of the
MPLS Proxy Ping Request message is required. The Proxy LSR sends an MPLS Proxy Ping Request message is required. The Proxy LSR sends an
MPLS Proxy Ping Reply message with an Errored TLVs TLV containing all MPLS Proxy Ping Reply message with an Errored TLVs TLV containing all
the not understood TLVs (only). the not understood TLVs (only).
The Proxy LSR checks that the MPLS Proxy Ping Request message did not The MPLS Proxy Ping Request is expected to be transported to the
arrive via one of its exception processing paths. Packets arriving Proxy LSR via IP forwarding mechanisms instead of using the same
via IP TTL expiry, IP destination address set to a Martian address or techniques that are employed to inject an MPLS Echo Request packet
label ttl expiry MUST be treated as "Unauthorized" packets. An MPLS into an LSP and use IP TTL, MPLS TTL and or loopback addresses (IPv4
Proxy Ping Reply message MAY be sent with a Return Code of <TBA-7>, 127.x.x.x/IPv6::FFF:127/104) in the IP header destination address
"Proxy Ping not authorized". field to trigger the packet to be handled via an LSR's forwarding
exception processing path. To gaurd against this, the Proxy LSR
checks that the MPLS Proxy Ping Request message did not arrive via
one of its exception processing paths. Packets arriving via IP TTL
expiry, IP destination address set to a loopback address or label ttl
expiry MUST be treated as "Unauthorized" packets. An MPLS Proxy Ping
Reply message MAY be sent with a Return Code of <TBA-7>, "Proxy Ping
not authorized".
The header fields Sender's Handle and Sequence Number are not The header fields Sender's Handle and Sequence Number are not
examined, but they are included in the MPLS Proxy Ping Reply or MPLS examined, but they are included in the MPLS Proxy Ping Reply or MPLS
Echo Request message, if either is sent as a direct result of the Echo Request message, if either is sent as a direct result of the
received message. received message.
The Proxy LSR validates that it has a label mapping for the specified The Proxy LSR validates that it has a label mapping for the specified
FEC, it then determines if it is an ingress, egress, transit or bud FEC, it then determines if it is an ingress, egress, transit or bud
node and sets the Return Code as appropriate. A new Return Code of node and sets the Return Code as appropriate. A new Return Code of
<TBA-10>, "Replying router has FEC mapping for topmost FEC" has been <TBA-10>, "Replying router has FEC mapping for topmost FEC" has been
skipping to change at page 10, line 25 skipping to change at page 10, line 37
removing unrecognized Next Hop sub-TLVs. The updated Proxy Echo removing unrecognized Next Hop sub-TLVs. The updated Proxy Echo
Parameters TLV MUST be included in the MPLS Proxy Ping Reply. Parameters TLV MUST be included in the MPLS Proxy Ping Reply.
If the "Request for Downstream Detailed Mapping" or "Request for If the "Request for Downstream Detailed Mapping" or "Request for
Downstream Mapping" flag is set, the Proxy LSR formats (for inclusion Downstream Mapping" flag is set, the Proxy LSR formats (for inclusion
in the MPLS Proxy Ping Reply) a Downstream Detailed/Downstream in the MPLS Proxy Ping Reply) a Downstream Detailed/Downstream
Mapping (DD/DSMAP) TLV for each interface over which the MPLS Echo Mapping (DD/DSMAP) TLV for each interface over which the MPLS Echo
Request will be sent. Request will be sent.
If the Proxy LSR is the egress for the FEC, the behavior of the Proxy If the Proxy LSR is the egress for the FEC, the behavior of the Proxy
LSR varies depending on whether the node is an egress of a P2P LSP, a LSR varies depending on whether the LSR is an egress of a P2P LSP, a
P2MP LSP or MP2MP LSP. Additional details can be found in the section P2MP LSP or MP2MP LSP. Additional details can be found in the section
describing "Handling when Proxy LSR it is egress for FEC". describing "Handling when Proxy LSR it is egress for FEC".
If the Reply Mode of the MPLS Proxy Ping Request message header is "1 If the Reply Mode of the MPLS Proxy Ping Request message header is "1
- do not reply", no MPLS Proxy Ping Reply is sent. Otherwise an MPLS - do not reply", no MPLS Proxy Ping Reply is sent. Otherwise an MPLS
Proxy Ping Reply message or MPLS Echo Request SHOULD be sent as Proxy Ping Reply message or MPLS Echo Request SHOULD be sent as
described below. described below.
3.2.1. Proxy LSR Handling when it is egress for FEC 3.2.1. Proxy LSR Handling when it is egress for FEC
This section describes the different behaviors for the Proxy LSR when This section describes the different behaviors for the Proxy LSR when
it's the egress for the FEC. In the P2MP budnode and MP2MP budnode it's the egress for the FEC. In the P2MP bud node and MP2MP bud node
and egress cases, different behavior is required. and egress cases, different behavior is required.
In the case where an LSP ping is originated from P2MP/MP2MP bud In the case where an MLSP Echo Request is originated by an LSR which
node/egress, MPLS Echo Replies are returned from downstream/upstream is a bud or egress node of a P2MP/MP2MP, MPLS Echo Replies are
routers and won't include an MPLS Echo Reply from the node that returned from downstream/upstream LSRs and will not include an MPLS
originated the MPLS Echo Requests. This section describes the Echo Reply from the LSR that originated the MPLS Echo Request. This
behavior required at the bud/egress node to return information not section describes the behavior required at a bud or egress node to
returned by MPLS Echo Replies in the Proxy Echo Reply so that there return or not return information from MPLS Echo Replies in the Proxy
is no additional changes required in the [RFC4379] implementations. Echo Reply so that no changes are required in [RFC4379] compliant
The Proxy Initiator should receive the same MPLS Echo Replies as in implementations. The Proxy Initiator should receive the same MPLS
the case where of the originator of the LSP ping, any additional Echo Replies as in the case where of the originator of the LSP ping,
information such as the Proxy LSR being a bud node/egress is returned any additional information such as the Proxy LSR being a bud or
in the MPLS Proxy Ping Reply. egress node is returned in the MPLS Proxy Ping Reply.
When the Proxy LSR is the egress of a P2P FEC, an MPLS Proxy Ping When the Proxy LSR is the egress of a P2P FEC, an MPLS Proxy Ping
Reply SHOULD be sent to the initiator with the Return Code set to 3, Reply SHOULD be sent to the initiator with the Return Code set to 3,
"Reply router is egress for FEC", with Return Subcode set to 0. "Reply router is egress for FEC", with Return Subcode set to 0.
When the Proxy LSR is the egress of a P2MP FEC, it can be either a When the Proxy LSR is the egress of a P2MP FEC, it can be either a
budnode or just an egress. If the Proxy LSR is a budnode, an MPLS bud node or just an egress. If the Proxy LSR is a bud node, a MPLS
Proxy Ping Reply SHOULD be sent to the initiator with the Return Code Proxy Ping Reply SHOULD be sent to the initiator with the return code
set to 3, "Reply router is egress for FEC", with Return Subcode set set to 3 (Reply router is Egress for FEC) with return Subcode set to
to 0 and DS/DDMAPs only if the Proxy initiator requested information 0. DS/DDMAPs are included only if the Proxy initiator requested
to be returned in an MPLS Proxy Ping Reply. If the Proxy LSR is a information to be returned in a MPLS Proxy Ping Reply. If the Proxy
budnode but not requested to return an MPLS Proxy Ping Reply, the LSR is a bud node but not requested to return an MPLS Proxy Ping
Proxy LSR SHOULD send MPLS Echo Request packet(s) to the downstream Reply, the Proxy LSR SHOULD send MPLS Echo Request packet(s) to the
neighbors (no MPLS Echo Reply is sent to the Proxy Initiator to downstream neighbors (no MPLS Echo Reply is sent to the Proxy
indicate that the Proxy LSR is an egress). If the Proxy LSR is just Initiator to indicate that the Proxy LSR is an egress). If the Proxy
an egress, an MPLS Proxy Ping Reply SHOULD be sent to the initiator LSR is just an egress, an MPLS Proxy Ping Reply SHOULD be sent to the
with the Return Code set to 3, "Reply router is egress for FEC", and initiator with the Return Code set to 3, "Reply router is egress for
Return Subcode set to 0. FEC", and Return Subcode set to 0.
When the Proxy LSR is the egress of a MP2MP FEC, it can be either a When the Proxy LSR is the egress of a MP2MP FEC, it can be either a
budnode or just an egress. LSP pings sent from a leaf of a MP2MP have bud node or just an egress. LSP pings sent from a leaf of a MP2MP
different behavior in this case. MPLS Echo Requests are sent to all have different behavior in this case. MPLS Echo Requests are sent to
upstream/downstream neighbors. The Proxy LSRs need to be consistent all upstream/downstream neighbors. The Proxy LSRs need to be
with this variation in behavior. If the Proxy LSR is a budnode or consistent with this variation in behavior. If the Proxy LSR is a bud
just an egress, an MPLS proxy ping reply SHOULD be sent to the Proxy node or just an egress, an MPLS Proxy Ping Reply SHOULD be sent to
Initiator with the return code set to 3, "Reply router is Egress for the Proxy Initiator with the return code set to 3, "Reply router is
FEC", with Return Subcode set to 0 and DS/DDMAPs included only if the Egress for FEC", with Return Subcode set to 0 and DS/DDMAPs included
Proxy initiator requested information to be returned in a MPLS Proxy only if the Proxy initiator requested information to be returned in a
Ping Reply. If the Proxy LSR is not requested to return information MPLS Proxy Ping Reply. If the Proxy LSR is not requested to return
in an MPLS Proxy Ping Reply, the Proxy LSR SHOULD send MPLS Echo information in an MPLS Proxy Ping Reply, the Proxy LSR SHOULD send
Request packets to all upstream/downstream neighbors as would be done MPLS Echo Request packets to all upstream/downstream neighbors as
when sourcing an LSP ping from a MP2MP leaf (no MPLS Echo Reply is would be done when sourcing an LSP ping from a MP2MP leaf (no MPLS
sent to the Proxy initiator indicating that the Proxy LSR is an Echo Reply is sent to the Proxy initiator indicating that the Proxy
egress). LSR is an egress).
3.2.2. Downstream Detailed/Downstream Maps in Proxy Reply 3.2.2. Downstream Detailed/Downstream Maps in Proxy Reply
When the Proxy LSR is a transit or bud node, downstream maps When the Proxy LSR is a transit or bud node, downstream maps
corresponding to how the packet is transited cannot be supplied corresponding to how the packet is transited cannot be supplied
unless an ingress interface for the MPLS Echo Request is specified. unless an ingress interface for the MPLS Echo Request is specified.
Since this information is not available and all valid output paths Since this information is not available and all valid output paths
are of interest, the Proxy LSR SHOULD include DS/DDMAP(s) to describe are of interest, the Proxy LSR SHOULD include DS/DDMAP(s) to describe
the entire set of paths that the packet can be replicated. This is the entire set of paths that the packet can be replicated. This is
similar to the case in which an LSP ping is initiated at the Proxy similar to the case in which an LSP ping is initiated at the Proxy
LSR. For mLDP, there is a DSMAP/DDMAP per upstream/downstream LSR. For mLDP, there is a DSMAP/DDMAP per upstream/downstream
neighbor for MP2MP LSPs, or per downstream neighbor in the P2MP LSP neighbor for MP2MP LSPs, or per downstream neighbor in the P2MP LSP
case. case.
skipping to change at page 11, line 52 skipping to change at page 12, line 15
corresponding to how the packet is transited cannot be supplied corresponding to how the packet is transited cannot be supplied
unless an ingress interface for the MPLS Echo Request is specified. unless an ingress interface for the MPLS Echo Request is specified.
Since this information is not available and all valid output paths Since this information is not available and all valid output paths
are of interest, the Proxy LSR SHOULD include DS/DDMAP(s) to describe are of interest, the Proxy LSR SHOULD include DS/DDMAP(s) to describe
the entire set of paths that the packet can be replicated. This is the entire set of paths that the packet can be replicated. This is
similar to the case in which an LSP ping is initiated at the Proxy similar to the case in which an LSP ping is initiated at the Proxy
LSR. For mLDP, there is a DSMAP/DDMAP per upstream/downstream LSR. For mLDP, there is a DSMAP/DDMAP per upstream/downstream
neighbor for MP2MP LSPs, or per downstream neighbor in the P2MP LSP neighbor for MP2MP LSPs, or per downstream neighbor in the P2MP LSP
case. case.
When the Proxy LSR is a bud node or egress in an MP2MP LSP or a When the Proxy LSR is a bud node or egress in an MP2MP LSP or a bud
budnode in a P2MP LSP, an LSP ping initiated from the Proxy LSR would node in a P2MP LSP, an LSP ping initiated from the Proxy LSR would
source packets only to the neighbors but not itself, despite the fact source packets only to the neighbors but not itself, despite the fact
that the Proxy LSR is itself an egress for the FEC. In order to match that the Proxy LSR is itself an egress for the FEC. In order to match
the behavior as seen from LSP Ping initiated at the Proxy LSR, the the behavior as seen from LSP Ping initiated at the Proxy LSR, the
Proxy Reply SHOULD contain DSMAP/DDMAPs for only the paths to the Proxy Reply SHOULD contain DSMAP/DDMAPs for only the paths to the
upstream/downstream neighbors, but no DSMAP/DDMAP describing its own upstream/downstream neighbors, but no DSMAP/DDMAP describing its own
egress paths. The proxy LSR identifies that it's an egress for the egress paths. The proxy LSR identifies that it's an egress for the
FEC using a different Proxy Reply Return Code. The Proxy reply Return FEC using a different Proxy Reply Return Code. The Proxy reply Return
Code is either set to "Reply router has a mapping for the topmost Code is either set to "Reply router has a mapping for the topmost
FEC" or "Reply router is egress for the FEC". FEC" or "Reply router is egress for the FEC".
skipping to change at page 13, line 36 skipping to change at page 13, line 49
Proxy LSR introduces a Pad TLV such that size of the MPLS Echo Proxy LSR introduces a Pad TLV such that size of the MPLS Echo
Request (including any IP and UDP header) is zero padded to the Request (including any IP and UDP header) is zero padded to the
specified MPLS payload size. The First Octet in Value part of the specified MPLS payload size. The First Octet in Value part of the
Pad TLV is set to 1, "Drop Pad TLV from Reply", the remaining Octets Pad TLV is set to 1, "Drop Pad TLV from Reply", the remaining Octets
of the Value part of the Pad TLV is filled with zeros. If IP header of the Value part of the Pad TLV is filled with zeros. If IP header
is use to encapsulate in the MPLS Echo Request the DF bit MUST be set is use to encapsulate in the MPLS Echo Request the DF bit MUST be set
to one. to one.
The message is then encapsulated in a UDP packet. The source UDP port The message is then encapsulated in a UDP packet. The source UDP port
is copied from the Proxy Echo Parameters TLV. The destination port is is copied from the Proxy Echo Parameters TLV. The destination port is
copied from the proxy ping request message. copied from the MPLS Proxy Ping Request message.
The source IP address is set to a routable address specified in the The source IP address is set to a routable address specified in the
reply-to-address TLV or the source address of the received Proxy reply-to-address TLV or the source address of the received Proxy
Request. Per usual the TTL of the IP packet is set to 1. Request. Per usual the TTL of the IP packet is set to 1.
If the Explicit Differentiated Services Code Point (DSCP) flag is If the Explicit Differentiated Services Code Point (DSCP) flag is
set, the Requested DSCP byte is examined. If the setting is permitted set, the Requested DSCP byte is examined. If the setting is permitted
then the DSCP byte of the IP header of the MPLS Echo Request message then the DSCP byte of the IP header of the MPLS Echo Request message
is set to that value. If the Proxy LSR does not permit explicit is set to that value. If the Proxy LSR does not permit explicit
control for the DSCP byte, the MPLS Proxy Echo Parameters with the control for the DSCP byte, the MPLS Proxy Echo Parameters with the
skipping to change at page 17, line 15 skipping to change at page 17, line 30
to request actions at the Proxy LSR. to request actions at the Proxy LSR.
0x01 Request for FEC Neighbor Address info 0x01 Request for FEC Neighbor Address info
When set, this requests that the Proxy LSR supply the When set, this requests that the Proxy LSR supply the
Upstream and Downstream neighbor address information in the Upstream and Downstream neighbor address information in the
MPLS Proxy Ping Reply message. This flag is only applicable MPLS Proxy Ping Reply message. This flag is only applicable
for the topmost FEC in the FEC stack if the FEC type for the topmost FEC in the FEC stack if the FEC type
corresponds with a P2MP or MP2MP LSP. The Proxy LSR MUST corresponds with a P2MP or MP2MP LSP. The Proxy LSR MUST
respond as applicable with Upstream Neighbor Address and respond as applicable with Upstream Neighbor Address and
Downstream Neighbor Address TLV(s) in the MPLS proxy ping Downstream Neighbor Address TLV(s) in the MPLS Proxy Ping
reply message. The Upstream Neighbor Address TLV needs be Reply message. The Upstream Neighbor Address TLV needs be
included only if there is an upstream neighbor. Similarly, included only if there is an upstream neighbor. Similarly,
one Downstream Neighbor Address TLV needs to be included for one Downstream Neighbor Address TLV needs to be included for
each Downstream Neighbor from which the LSR learned each Downstream Neighbor from which the LSR learned
bindings. bindings.
Setting this flag will cause the Proxy LSR to cancel sending Setting this flag will cause the Proxy LSR to cancel sending
any MPLS Echo Request. The initiator may use information any MPLS Echo Request. The initiator may use information
learned from the MPLS proxy ping reply that is sent instead learned from the MPLS Proxy Ping Reply that is sent instead
to generate subsequent proxy requests. to generate subsequent proxy requests.
0x02 Request for Downstream Mapping 0x02 Request for Downstream Mapping
When set, this requests that the Proxy LSR supply a When set, this requests that the Proxy LSR supply a
Downstream Mapping TLV see [RFC4379] in the MPLS Proxy Ping Downstream Mapping TLV see [RFC4379] in the MPLS Proxy Ping
Reply message. Either this flag may be set or the Request Reply message. Either this flag may be set or the Request
for Downstream Detailed Mapping flag may be set, but not for Downstream Detailed Mapping flag may be set, but not
both. both.
skipping to change at page 17, line 48 skipping to change at page 18, line 14
Proxy Requests. Proxy Requests.
0x04 Request for Downstream Detailed Mapping 0x04 Request for Downstream Detailed Mapping
When set, this requests that the Proxy LSR supply a When set, this requests that the Proxy LSR supply a
Downstream Detailed Mapping TLV see [RFC6424] in the MPLS Downstream Detailed Mapping TLV see [RFC6424] in the MPLS
Proxy Ping Reply message. It's not valid to have Request for Proxy Ping Reply message. It's not valid to have Request for
Downstream Mapping flag set when this flag is set. Setting Downstream Mapping flag set when this flag is set. Setting
this flag will cause the Proxy LSR to cancel sending an Echo this flag will cause the Proxy LSR to cancel sending an Echo
request. The initiator may use information learned from the request. The initiator may use information learned from the
MPLS proxy ping reply that is sent instead to generate MPLS Proxy Ping Reply that is sent instead to generate
subsequent proxy requests. subsequent proxy requests.
0x08 Explicit DSCP Request 0x08 Explicit DSCP Request
When set, this requests that the Proxy LSR use the supplied When set, this requests that the Proxy LSR use the supplied
"Rqst'd DSCP" byte in the Echo Request message "Rqst'd DSCP" byte in the Echo Request message
TTL TTL
The TTL to be used in the label stack entry corresponding to The TTL to be used in the label stack entry corresponding to
the topmost FEC in the in the MPLS Echo Request packet. Valid the topmost FEC in the in the MPLS Echo Request packet. Valid
values are in the range [1,255]. A setting of 0 SHOULD be values are in the range [1,255]. A setting of 0 SHOULD be
ignored by the Proxy LSR. ignored by the Proxy LSR.
skipping to change at page 19, line 32 skipping to change at page 19, line 47
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address Type Address Type
Type Type of Next Hop Addr Length IF Length Type Type of Next Hop Addr Length IF Length
1 IPv4 Numbered 4 4 1 IPv4 Numbered 4 4
2 IPv4 Unnumbered 4 4 2 IPv4 Unnumbered 4 4
3 IPv6 Numbered 16 16 3 IPv6 Numbered 16 16
4 IPv6 Unnumbered 16 4 4 IPv6 Unnumbered 16 4
5 Reserved
TBA-11 IPv4 Protocol Adj 4 0 TBA-11 IPv4 Protocol Adj 4 0
TBA-12 IPv6 Protocol Adj 16 0 TBA-12 IPv6 Protocol Adj 16 0
Note: Types 1-4 correspond to the types in the DS Mapping TLV. Note: Types 1-4 correspond to the types in the DS Mapping TLV.
They are expected to populated with information obtained They are expected to populated with information obtained
through a previously returned DS Mapping TLV. Types through a previously returned DS Mapping TLV. Types
<TBA-11> and <TBA-12> are intended to be populated <TBA-11> and <TBA-12> are intended to be populated
from the local address information obtained from a from the local address information obtained from a
previously returned Downstream Neighbor Address previously returned Downstream Neighbor Address
TLV(s)/Upstream Neighbor Address TLV. TLV(s)/Upstream Neighbor Address TLV.
Next Hop IP Address Next Hop IP Address
A next hop address that the echo request message is to A next hop address that the echo request message is to
skipping to change at page 22, line 24 skipping to change at page 22, line 39
The local address used in the protocol adjacency exists by The local address used in the protocol adjacency exists by
which the label for this FEC was exchanged. which the label for this FEC was exchanged.
6. Security Considerations 6. Security Considerations
The mechanisms described in this document are intended to be used The mechanisms described in this document are intended to be used
within a Service Provider network and to be initiated only under the within a Service Provider network and to be initiated only under the
authority of that administration. authority of that administration.
If such a network also carries Internet traffic, or permits IP access If such a network also carries Internet traffic, or permits IP access
from other administrations, MPLS proxy ping message SHOULD be from other administrations, MPLS Proxy Ping message SHOULD be
discarded at the points that where the IP packet is received from the discarded at the points that where the IP packet is received from the
other administration. This can be accomplished by filtering on source other administrations. This can be accomplished by filtering on
address or by filtering all MPLS ping messages on UDP port. source address or by filtering all MPLS ping messages on UDP port.
Any node which acts as a Proxy node SHOULD validate requests against Any node which acts as a Proxy LSR SHOULD validate requests against a
a set of valid source addresses. An implementation MUST provide such set of valid source addresses. An implementation MUST provide such
filtering capabilities. filtering capabilities.
MPLS Proxy Ping Request messages are IP addressed directly to the MPLS Proxy Ping Request messages are IP addressed directly to the
Proxy node. If a node receives an MPLS Proxy Ping message via IP or Proxy LSR. If a Proxy LSR receives an MPLS Proxy Ping message via
Label TTL expiration, it MUST NOT be acted upon. expiration of the IP or Label Stack Entry TTL, it MUST NOT be acted
upon.
If an MPLS Proxy Ping Request IP source address is not IP reachable If an MPLS Proxy Ping Request IP source address is not IP reachable
by the Proxy LSR, the Proxy Request MUST NOT be acted upon. by the Proxy LSR, the Proxy Request MUST NOT be acted upon.
MPLS Proxy Ping Requests are limited to making their request via the MPLS Proxy Ping Requests are limited to making their request via the
specification of a FEC. This ensures that only valid MPLS Echo specification of a FEC. This ensures that only valid MPLS Echo
Request messages can be created. No label spoofing attacks are Request messages can be created. No label spoofing attacks are
possible. possible.
7. Acknowledgements 7. Acknowledgements
The authors would like to thank Nobo Akiya, Adrian Farrel, Tom Taylor The authors would like to thank Nobo Akiya, Adrian Farrel, Tom Yu,
and Warren Kumari for their detailed review and insightful comments. Tom Taylor and Warren Kumari for their detailed review and insightful
comments.
8. IANA Considerations 8. IANA Considerations
This document makes the following assignments (pending IANA action) This document makes the following assignments (pending IANA action)
MPLS LSP Ping Message Types MPLS LSP Ping Message Types
Type Value Field Type Value Field
---- ----------- ---- -----------
TBA-1 MPLS Proxy Ping Request TBA-1 MPLS Proxy Ping Request
TBA-2 MPLS Proxy Ping Reply TBA-2 MPLS Proxy Ping Reply
TLVs TLVs
skipping to change at page 23, line 31 skipping to change at page 23, line 48
Return Code [pending IANA assignment] Return Code [pending IANA assignment]
Value Meaning Value Meaning
----- ------- ----- -------
TBA-7 Proxy Ping not authorized. TBA-7 Proxy Ping not authorized.
TBA-8 Proxy Ping parameters need to be modified. TBA-8 Proxy Ping parameters need to be modified.
TBA-9 MPLS Echo Request Could not be sent. TBA-9 MPLS Echo Request Could not be sent.
TBA-10 Replying router has FEC mapping for topmost FEC. TBA-10 Replying router has FEC mapping for topmost FEC.
Downstream Address Mapping Registry [pending IANA assignment]
Value Meaning
----- -------
TBA-11 IPv4 Protocol Adj
TBA-12 IPv6 Protocol Adj
8.1. Proxy Echo Parameters Sub-TLVs 8.1. Proxy Echo Parameters Sub-TLVs
The IANA will create and maintain this new registry for Proxy Echo The IANA will create and maintain this new registry for Proxy Echo
Parameters Sub-TLV's. Assignments will use the same rules spelled out Parameters Sub-TLV's. Assignments will use the same rules spelled out
in sec 7.2 of [RFC4379]. in sec 7.2 of [RFC4379].
Sub-TLV Type Meaning Sub-TLV Type Meaning
----------- ------- ----------- -------
0 Reserved 0 Reserved
TBA-13 Next Hop TBA-13 Next Hop
9. References 8.2. Downstream Address Mapping Registry [pending IANA assignment]
This document makes the following assignments in the Downstream
Address Mapping Registry(pending IANA assignment). This document
updates the registry defined by [RFC6426], modifying the allocation
procedures.
The allocation procedures of Downstream Mapping Address Type Registry
is changed to read 'Standards action - each time a code point is
assigned from this registry, unless the same registration is made in
both registries, the corresponding Next Hop Address Type Registry
must be Marked "Reserved".
Value Meaning K Octets
----- ------- --------
TBA-11 Reserved N/A [this doc]
TBA-12 Reserved N/A [this doc]
8.3. Next Hop Sub-TLV Address Type Registry
IANA is requested to create a new registry called "Next Hop Address
Type Registry". The allocation policy for this registry is
"Standards action". Further, each time a code point is assigned from
this registry, unless the same registration is made in both
registries, the corresponding Downstream Address Mapping Registry
must be Marked "Reserved". The initial allocations are:
Type Type of Next Hop Addr Length IF Length Reference
1 IPv4 Numbered 4 4 [RFC4379]
2 IPv4 Unnumbered 4 4 [RFC4379]
3 IPv6 Numbered 16 16 [RFC4379]
4 IPv6 Unnumbered 16 4 [RFC4379]
5 Reserved [this doc]
TBA-11 IPv4 Protocol Adj 4 0 [this doc]
TBA-12 IPv6 Protocol Adj 16 0 [this doc]
x-255 Unassigned
9. References
9.1. Normative References 9.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, March 1997.
[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. February 2006.
[RFC6424] Bahadur, N., Kompella, K., and G. Swallow, "Mechanism for [RFC6424] Bahadur, N., Kompella, K., and G. Swallow, "Mechanism for
Performing Label Switched Path Ping (LSP Ping) over MPLS Performing Label Switched Path Ping (LSP Ping) over MPLS
Tunnels", RFC 6424, November 2011. Tunnels", RFC 6424, November 2011.
[RFC6425] Saxena, S., Swallow, G., Ali, Z., Farrel, A., Yasukawa, [RFC6425] Saxena, S., Swallow, G., Ali, Z., Farrel, A., Yasukawa,
S., and T. Nadeau, "Detecting Data-Plane Failures in S., and T. Nadeau, "Detecting Data-Plane Failures in
Point-to-Multipoint MPLS - Extensions to LSP Ping", RFC Point-to-Multipoint MPLS - Extensions to LSP Ping", RFC
6425, November 2011. 6425, November 2011.
[RFC6426] Gray, E., Bahadur, N., Boutros, S., and Aggarwal, R.,
"MPLS On-Demand Connectivity Verification and Route
Tracing", RFC 6426, November 2011.
[RFC7110] Chen, M., Cao, W., Ning, S., Jounay, F., and Delord, S., [RFC7110] Chen, M., Cao, W., Ning, S., Jounay, F., and Delord, S.,
"Return Path Specified Label Switched Path (LSP) Ping", "Return Path Specified Label Switched Path (LSP) Ping",
RFC 7110, January 2014. RFC 7110, January 2014.
9.2. Informative References 9.2. Informative References
[RFC4875] Aggarwal, R., Papadimitriou, D., and S. Yasukawa, [RFC4875] Aggarwal, R., Papadimitriou, D., and S. Yasukawa,
"Extensions to Resource Reservation Protocol - Traffic "Extensions to Resource Reservation Protocol - Traffic
Engineering (RSVP-TE) for Point-to-Multipoint TE Label Engineering (RSVP-TE) for Point-to-Multipoint TE Label
Switched Paths (LSPs)", RFC 4875, May 2007. Switched Paths (LSPs)", RFC 4875, May 2007.
 End of changes. 49 change blocks. 
110 lines changed or deleted 165 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/