Label Switched Path (LSP) Ping/Trace Reply Mode Simplification
Cisco Systemsnobo@cisco.comCisco Systemsswallow@cisco.comCisco Systemscpignata@cisco.comHuaweiloa@mail01.huawei.comHuaweimach.chen@huawei.com
MPLS Working Group
Internet Engineering Task ForceMPLSLSP PingReply ModeThis document adds two reply modes to be used by Multiprotocol Label Switching (MPLS) Label Switched Path (LSP) Ping and Traceroute: one reply mode to indicate reverse LSP and one reply mode to allow responder to choose reply mode from pre-defined set. This document also adds an optional TLV which can carry ordered list of reply modes.This document updates .The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.MPLS LSP Ping, described in , allows initiator to encode instructions (Reply Mode) on how responder is to send response back to the initiator. also allows initiator to encode a TLV (Reply Path TLV) which can instruct responder to use specific LSP to send response back to the initiator. Both approaches are powerful as they provide ability for the initiator to control the return path.It is, however, becoming increasingly difficult for an initiator to select the "right" return path to encode in MPLS LSP echo request packets. Consequence of initiator not selecting the "right" return path encoding can result in false failure of MPLS LSP Ping and Traceroute operations, due to initiator not receiving back expected MPLS LSP echo reply. Resulting from an effort to minimize such false failures, implementations may result in having different "default" return path encoding per LSP type and per operational type. Deviating "default" return path encoding, potentially, per vendor per LSP type per operational type can drift this technology from consistency axle. Thus it is desirable to have a single return path encoding which works across wide range of LSP types and operational types.It is becoming increasingly difficult for implementations to automatically supply a workable return path encoding for all MPLS LSP Ping and Traceroute operations across all LSP types. There are several factors which are contributing to this complication.
Some LSPs have control-channel, and some do not. Some LSPs have reverse LSP, and some do not. Some LSPs have IP route in reverse direction, and some do not.LSRs on some LSPs can have different available return path(s). Available return path(s) can depend on whether responder is a transit LSR or an egress LSR. In case of bi-directional LSP, available return path(s) on transit LSRs can also depend on whether LSP is completely co-routed, partially co-routed or non-co-routed.MPLS LSP echo request packets may falsely terminate on an unintended target which can have different available return path(s) than intended target.MPLS LSP Ping operation is expected to terminate on egress LSR. However, MPLS LSP Ping operation with specific TTL values and MPLS LSP Traceroute operation can terminate on both transit LSR(s) and egress LSR.
Except for the case where responder node does not have an IP route back to the initiator, it is possible to use Reply Mode of value 2 (Reply via an IPv4/IPv6 UDP packet) in all cases. However, some operators are preferring control-channel and reverse LSP as "default" return path if they are available, which are not always available.When specific return path encoding is being supplied by users or applications, then there are no issues in choosing the return path encoding. When specific return path encoding is not being supplied by users or applications, then implementations require extended logic to compute, and sometimes "guess", the "default" return path encodings. If a responder received a MPLS LSP echo request containing return path instruction which cannot be accommodated due to unavailability, then responder implementations often drop such packets. This results in initiator to not receive back MPLS LSP echo reply packets. Consequence may be acceptable for failure cases (ex: broken LSP) where MPLS LSP echo request terminated on unintended target. However, initiator not receiving back MPLS LSP echo reply packets, even when intended target received and verified the requests, is not desirable as result will be conveyed as false failures to users.Some return path(s) are more preferred than others, but preferred cannot be used in all cases. Thus implementations are required to compute when preferred return path encoding can and cannot be used, and that computation is becoming more and more difficult.This document adds two Reply Modes to be used by MPLS LSP Ping and Traceroute. One of which is a Reply Mode which can be used as "default" for all LSP types and for all operational types. Thus eliminating the need for initiator to compute, or sometimes "guess", the "default" return path encoding. This will result in simplified implementations across vendors, and result in consistent behaviors across vendor products.This document adds two Reply Modes to be used by MPLS LSP Ping and Traceroute operations. Note: Reply Mode values specified in this document will be requested for IANA early allocation, but values may change as result of actual early allocation result.
Some LSP types are capable of having related LSP in reverse direction, through signaling or other association mechanisms. This document uses the term "Reverse LSP" to refer to the LSP in reverse direction of such LSP types. Note that this document isolates the scope of "Reverse LSP" applicability to those reverse LSPs which are capable of and permitted to carry the IP encapsulated MPLS LSP echo reply.MPLS LSP echo request with 6 (Reply via reverse LSP) in the Reply Mode field may be used to instruct responder to use reverse LSP to send MPLS LSP echo reply. Reverse LSP is in relation to the last FEC specified in the Target FEC Stack TLV.When responder is using this Reply Mode, transmitting MPLS LSP echo reply packet MUST use IP destination address of 127/8 for IPv4 and 0:0:0:0:0:FFFF:7F00/104 for IPv6.MPLS LSP echo request with 7 (Reply via pre-defined preference) in the Reply Mode field may be used to instruct responder to select the return path based on availability. Receiver of MPLS LSP echo request, upon reception of 7 (Reply via pre-defined preference) in the Reply Mode field, MUST choose return path by examining availability in following order.
Examine if Reply Mode 4 (Reply via application level control channel) is available.Examine if Reply Mode 6 (Reply via reverse LSP) is available.Examine if Reply Mode 2 (Reply via an IPv4/IPv6 UDP packet) is available.
First available return path is selected. Reply Mode value corresponding to selected return path MUST be set in Reply Mode field of MPLS LSP echo reply to communicate back to the initiator which return path was chosen.This document also introduces a new optional TLV to describe Reply Mode preference order. The new TLV will contain one or more Reply Mode value(s) in preferred order, first Reply Mode value appearing being most preferred. This TLV can be used if a different preference order than
"Reply via pre-defined preference" Reply Mode is desired. Following rules apply when using Reply Mode Order TLV.
Initiator, when supplying Reply Mode Order TLV in transmitting MPLS echo request, MUST set Reply Mode field of MPLS echo request header to value 7 (Reply via pre-defined preference).Responder MUST ignore Reply Mode Order TLV if received MPLS echo request header does not contain value 7 (Reply via pre-defined preference).Reply Mode Order TLV MUST contain at least one Reply Mode value, and SHOULD contain at least two Reply Mode values.Same Reply Mode value MUST NOT appear multiple times in the Reply Mode Order TLV.Reply Mode value 1 (Do not reply) SHOULD NOT be used in the Reply Mode Order TLV.Reply Mode value 7 (Reply via pre-defined preference) MUST NOT be used in the Reply Mode TLV.
The responding node is to select the first available return path in this TLV. Reply Mode value corresponding to selected return path MUST be set in Reply Mode field of MPLS LSP echo reply to communicate back to the initiator which return path was chosen.The format of the TLV is as follows:
This is a variable length optional TLV. Each Reply Mode field is 1 octet. If this TLV is present and valid, then the described preference order will override pre-defined preference order described in .Beyond those specified in , there are no further security measured required.IANA is requested to assign two new reply modes from the "Reply Mode" sub-registry within the "Multiprotocol Label Switching Architecture (MPLS)" registry.Following values appear to be next available MPLS LSP Ping/Traceroute Reply Mode values. Requesting IANA to allow specified values as early allocation.
IANA is requested to assign a new TLV type value from the "TLVs" sub-registry within the "Multiprotocol Label Switching Architecture (MPLS)" registry, for the "Reply Mode Order TLV".The new TLV Type value should be assigned from the range (32768-49161) specified in RFC 4379 [RFC4379] section 3 that allows the TLV type to be silently dropped if not recognized.
Authors would like to thank Santiago Alvarez and Faisal Iqbal for discussions which motivated creation of this document.Shaleen Saxena
Cisco Systems
Email: ssaxena@cisco.com