draft-ietf-mpls-lsp-ping-04.txt | draft-ietf-mpls-lsp-ping-05.txt | |||
---|---|---|---|---|
Network Working Group K. Kompella (Juniper) | Network Working Group K. Kompella (Juniper) | |||
Internet Draft P. Pan (Ciena) | Internet Draft P. Pan (Ciena) | |||
draft-ietf-mpls-lsp-ping-04.txt N. Sheth (Juniper) | draft-ietf-mpls-lsp-ping-05.txt N. Sheth (Juniper) | |||
Category: Standards Track D. Cooper (Global Crossing) | Category: Standards Track D. Cooper (Global Crossing) | |||
Expires: April 2003 G. Swallow (Cisco) | Expires: August 2004 G. Swallow (Cisco) | |||
S. Wadhwa (Juniper) | S. Wadhwa (Juniper) | |||
R. Bonica (WorldCom) | R. Bonica (WorldCom) | |||
October 2003 | February 2004 | |||
Detecting MPLS Data Plane Failures | Detecting MPLS Data Plane Failures | |||
*** DRAFT *** | <draft-ietf-mpls-lsp-ping-05.txt> | |||
Status of this Memo | Status of this Memo | |||
This document is an Internet-Draft and is in full conformance with | This document is an Internet-Draft and is in full conformance with | |||
all provisions of Section 10 of RFC2026. | all provisions of Section 10 of RFC2026. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. | Drafts. | |||
skipping to change at page 1, line 38 | skipping to change at page 1, line 38 | |||
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/ietf/1id-abstracts.txt | http://www.ietf.org/ietf/1id-abstracts.txt | |||
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. | |||
Copyright Notice | Copyright Notice | |||
Copyright (C) The Internet Society (2003). All Rights Reserved. | Copyright (C) The Internet Society (2004). All Rights Reserved. | |||
Abstract | Abstract | |||
This document describes a simple and efficient mechanism that can be | This document describes a simple and efficient mechanism that can be | |||
used to detect data plane failures in Multi-Protocol Label Switching | used to detect data plane failures in Multi-Protocol Label Switching | |||
(MPLS) Label Switched Paths (LSPs). There are two parts to this | (MPLS) Label Switched Paths (LSPs). There are two parts to this | |||
document: information carried in an MPLS "echo request" and "echo | document: information carried in an MPLS "echo request" and "echo | |||
reply" for the purposes of fault detection and isolation; and | reply" for the purposes of fault detection and isolation; and | |||
mechanisms for reliably sending the echo reply. | mechanisms for reliably sending the echo reply. | |||
Changes since last revision | Changes since last revision | |||
(This section to be removed before publication.) | (This section to be removed before publication.) | |||
Clarified that an MPLS echo request/reply can be either an IPv4 or an | *** Changed the format of an L2 circuit ID FEC. Added a sender's PE | |||
IPv6 packet. | address field to uniquely identify the VC ID *** | |||
Expanded on Return Codes (section 3.1). | Further clarified that an MPLS echo request/reply can be either an | |||
IPv4 or an IPv6 packet. | ||||
Expanded and reformatted the section on Downstream Mapping. | Added format pictures for LDP IPv4/IPv6 prefixes. | |||
Expanded the section on Receiving an MPLS Echo Request | Clarified the section on Receiving an MPLS Echo Request. | |||
Issues | Issues | |||
(This section to be removed before publication.) | (This section to be removed before publication.) | |||
Need to fill out Downstream Verification. | ||||
Need to address issues with pinging L3VPN FECs. | Need to address issues with pinging L3VPN FECs. | |||
Need to add new FEC type for "type 129" L2 circuits. | ||||
1. Introduction | 1. Introduction | |||
This document describes a simple and efficient mechanism that can be | This document describes a simple and efficient mechanism that can be | |||
used to detect data plane failures in MPLS LSPs. There are two parts | used to detect data plane failures in MPLS LSPs. There are two parts | |||
to this document: information carried in an MPLS "echo request" and | to this document: information carried in an MPLS "echo request" and | |||
"echo reply"; and mechanisms for transporting the echo reply. The | "echo reply"; and mechanisms for transporting the echo reply. The | |||
first part aims at providing enough information to check correct | first part aims at providing enough information to check correct | |||
operation of the data plane, as well as a mechanism to verify the | operation of the data plane, as well as a mechanism to verify the | |||
data plane against the control plane, and thereby localize faults. | data plane against the control plane, and thereby localize faults. | |||
The second part suggests two methods of reliable reply channels for | The second part suggests two methods of reliable reply channels for | |||
skipping to change at page 5, line 27 | skipping to change at page 5, line 29 | |||
Value Meaning | Value Meaning | |||
----- ------- | ----- ------- | |||
1 MPLS Echo Request | 1 MPLS Echo Request | |||
2 MPLS Echo Reply | 2 MPLS Echo Reply | |||
The Reply Mode can take one of the following values: | The Reply Mode can take one of the following values: | |||
Value Meaning | Value Meaning | |||
----- ------- | ----- ------- | |||
1 Do not reply | 1 Do not reply | |||
2 Reply via an IPv4 UDP packet | 2 Reply via an IPv4/IPv6 UDP packet | |||
3 Reply via an IPv4 UDP packet with Router Alert | 3 Reply via an IPv4/IPv6 UDP packet with Router Alert | |||
4 Reply via application level control channel | 4 Reply via application level control channel | |||
An MPLS echo request with "Do not reply" may be used for one-way | An MPLS echo request with "Do not reply" may be used for one-way | |||
connectivity tests; the receiving router may log gaps in the sequence | connectivity tests; the receiving router may log gaps in the sequence | |||
numbers and/or maintain delay/jitter statistics. An MPLS echo | numbers and/or maintain delay/jitter statistics. An MPLS echo | |||
request would normally have "Reply via an IPv4 UDP packet"; if the | request would normally have "Reply via an IPv4/IPv6 UDP packet"; if | |||
normal IPv4 return path is deemed unreliable, one may use "Reply via | the normal IP return path is deemed unreliable, one may use "Reply | |||
an IPv4 UDP packet with Router Alert" (note that this requires that | via an IPv4/IPv6 UDP packet with Router Alert" (note that this | |||
all intermediate routers understand and know how to forward MPLS echo | requires that all intermediate routers understand and know how to | |||
replies). | forward MPLS echo replies). The echo reply uses the same IP version | |||
number as the received echo request, i.e., an IPv4 encapsulated echo | ||||
reply is sent in response to an IPv4 encapsulated echo request. | ||||
Any application which supports an IP control channel between its | Any application which supports an IP control channel between its | |||
control entities may set the Reply Mode to 4 to ensure that replies | control entities may set the Reply Mode to 4 to ensure that replies | |||
use that same channel. Further definition of this codepoint is | use that same channel. Further definition of this codepoint is | |||
application specific and thus beyond the scope of this docuemnt. | application specific and thus beyond the scope of this docuemnt. | |||
Return Codes and Subcodes are described in the next section. | Return Codes and Subcodes are described in the next section. | |||
The Sender's Handle is filled in by the sender, and returned | The Sender's Handle is filled in by the sender, and returned | |||
unchanged by the receiver in the echo reply (if any). There are no | unchanged by the receiver in the echo reply (if any). There are no | |||
skipping to change at page 8, line 36 | skipping to change at page 8, line 37 | |||
Route Distinguisher of RD-foo-Y. Alternatively, X can send a FEC | Route Distinguisher of RD-foo-Y. Alternatively, X can send a FEC | |||
Stack TLV with two FECs, the first of type LDP IPv4 with a prefix of | Stack TLV with two FECs, the first of type LDP IPv4 with a prefix of | |||
192.168.1.1/32 and the second of type of IP VPN with a prefix 10/8 | 192.168.1.1/32 and the second of type of IP VPN with a prefix 10/8 | |||
with Route Distinguisher of RD-foo-Y. In either case, the MPLS echo | with Route Distinguisher of RD-foo-Y. In either case, the MPLS echo | |||
request would have a label stack of <1001, 23456>. (Note: in this | request would have a label stack of <1001, 23456>. (Note: in this | |||
example, 1001 is the "outer" label and 23456 is the "inner" label.) | example, 1001 is the "outer" label and 23456 is the "inner" label.) | |||
3.2.1. LDP IPv4 Prefix | 3.2.1. LDP IPv4 Prefix | |||
The value consists of four octets of an IPv4 prefix followed by one | The value consists of four octets of an IPv4 prefix followed by one | |||
octet of prefix length in bits. The IPv4 prefix is in network byte | octet of prefix length in bits; the format is given below. The IPv4 | |||
order. See [LDP] for an example of a Mapping for an IPv4 FEC. | prefix is in network byte order; if the prefix is shorter than 32 | |||
bits, trailing bits SHOULD be set to zero. See [LDP] for an example | ||||
of a Mapping for an IPv4 FEC. | ||||
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 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| IPv4 prefix | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Prefix Length | Must Be Zero | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
3.2.2. LDP IPv6 Prefix | 3.2.2. LDP IPv6 Prefix | |||
The value consists of sixteen octets of an IPv6 prefix followed by | The value consists of sixteen octets of an IPv6 prefix followed by | |||
one octet of prefix length in bits. The IPv6 prefix is in network | one octet of prefix length in bits; the format is given below. The | |||
byte order. See [LDP] for an example of a Mapping for an IPv6 FEC. | IPv6 prefix is in network byte order; if the prefix is shorter than | |||
128 bits, the trailing bits SHOULD be set to zero. See [LDP] for an | ||||
example of a Mapping for an IPv6 FEC. | ||||
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 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| IPv6 prefix | | ||||
| (16 octets) | | ||||
| | | ||||
| | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Prefix Length | Must Be Zero | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
3.2.3. RSVP IPv4 Session | 3.2.3. RSVP IPv4 Session | |||
The value has the format below. The value fields are taken from | The value has the format below. The value fields are taken from | |||
[RFC3209, sections 4.6.1.1 and 4.6.2.1]. | [RFC3209, sections 4.6.1.1 and 4.6.2.1]. | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| IPv4 tunnel end point address | | | IPv4 tunnel end point address | | |||
skipping to change at page 11, line 7 | skipping to change at page 11, line 28 | |||
| Route Distinguisher | | | Route Distinguisher | | |||
| (8 octets) | | | (8 octets) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sender's CE ID | Receiver's CE ID | | | Sender's CE ID | Receiver's CE ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Encapsulation Type | Must Be Zero | | | Encapsulation Type | Must Be Zero | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
3.2.8. L2 Circuit ID | 3.2.8. L2 Circuit ID | |||
The value field consists of a remote PE address (the address of the | The value field consists of the sender's PE address (the source | |||
targetted LDP session), a VC ID and an encapsulation type, as | address of the targetted LDP session), the remote PE address (the | |||
follows: | destination address of the targetted LDP session), a VC ID and an | |||
encapsulation type, as follows: | ||||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sender's PE Address | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Remote PE Address | | | Remote PE Address | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| VC ID | | | VC ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Encapsulation Type | Must Be Zero | | | Encapsulation Type | Must Be Zero | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
3.3. Downstream Mapping | 3.3. Downstream Mapping | |||
The Downstream Mapping object is an optional TLV. Only one | The Downstream Mapping object is an optional TLV. Only one | |||
skipping to change at page 18, line 34 | skipping to change at page 19, line 6 | |||
An LSR X that receives an MPLS echo request first parses the packet | An LSR X that receives an MPLS echo request first parses the packet | |||
to ensure that it is a well-formed packet, and that the TLVs that are | to ensure that it is a well-formed packet, and that the TLVs that are | |||
not marked "Ignore" are understood. If not, X SHOULD send an MPLS | not marked "Ignore" are understood. If not, X SHOULD send an MPLS | |||
echo reply with the Return Code set to "Malformed echo request | echo reply with the Return Code set to "Malformed echo request | |||
received" or "TLV not understood" (as appropriate), and the Subcode | received" or "TLV not understood" (as appropriate), and the Subcode | |||
set to zero. In the latter case, the misunderstood TLVs (only) are | set to zero. In the latter case, the misunderstood TLVs (only) are | |||
included in the reply. | included in the reply. | |||
If the echo request is good, X notes the interface I over which the | If the echo request is good, X notes the interface I over which the | |||
echo was received, and the label stack with which it came. If the | echo was received, and the label stack with which it came. | |||
MPLS echo request contained a Downstream Verification object (TBD), | ||||
then X must format this information as a Downstream Verification | ||||
object and include it in its MPLS echo reply message. | ||||
X matches up the labels in the received label stack with the FECs | X matches up the labels in the received label stack with the FECs | |||
contained in the FEC stack. The matching is done beginning at the | contained in the FEC stack. The matching is done beginning at the | |||
bottom of both stacks and working up. For reporting purposes the | bottom of both stacks, and working up. For reporting purposes the | |||
bottom of stack is consided to be stack-depth of 1. This is to | bottom of stack is consided to be stack-depth of 1. This is to | |||
establish an absolute reference for the case where the stack may have | establish an absolute reference for the case where the stack may have | |||
more labels than are in the FEC stack and the sender of the ping has | more labels than are in the FEC stack. | |||
not requested that a Downstream Verification TLV be sent. If there | ||||
are more FECs than labels, the extra FECs are assumed to correspond | If there are more FECs than labels, the extra FECs are assumed to | |||
to Implicit Null Labels. | correspond to Implicit Null Labels. Thus for the processing below, | |||
there is never the case where there is a FEC with no corresponding | ||||
label. Further the label operation associated with an assumed Null | ||||
Label is 'pop and continue processing'. | ||||
Note: in all the error codes listed in this draft a stack-depth of 0 | Note: in all the error codes listed in this draft a stack-depth of 0 | |||
means "no value specified". This allows compatibility with existing | means "no value specified". This allows compatibility with existing | |||
implementations which do not use the Return Subcode field. | implementations which do not use the Return Subcode field. | |||
X sets a variable, call it current-stack-depth, to the number of | X sets a variable, call it current-stack-depth, to the number of | |||
labels in the received label stack. Processing now continues with | labels in the received label stack. Processing now continues with | |||
the following steps: | the following steps: | |||
1. Check if there is a FEC corresponding to the current-stack- | 1. Check if there is a FEC corresponding to the current-stack- | |||
depth. If there is, go to step 2. If not, check if the label is | depth. If there is, go to step 2. If not, check if the label is | |||
valid on interface I. If it is, continue with step 4. Otherwise | valid on interface I. If it is, continue with step 4. Otherwise | |||
X MUST send an MPLS echo reply with a Return Code 11, "No label | X MUST send an MPLS echo reply with a Return Code 11, "No label | |||
entry at stack-depth" and a Return Subcode set to current-stack- | entry at stack-depth" and a Return Subcode set to current-stack- | |||
depth. | depth. | |||
2. Check the FEC at the current-stack-depth to determine what | 2. Check the FEC at the current-stack-depth to determine what | |||
protocol was used to advertise it. If X can determine that no | protocol would be used to advertise it. If it can determine that | |||
protocol associated with interface I would have advertised a FEC | no protocol associated with interface I, would have advertised a | |||
of that FEC-Type, X MUST send an MPLS echo reply with a Return | FEC of that FEC-Type, X MUST send an MPLS echo reply with a | |||
Code 12, "Protocol not associated with interface at FEC stack- | Return Code 12, "Protocol not associated with interface at FEC | |||
depth" and a Return Subcode set to current-stack-depth. | stack-depth" and a Return Subcode set to current-stack-depth. | |||
3. Check that the mapping for the FEC at the current-stack-depth is | 3. Check that the mapping for the FEC at the current-stack-depth is | |||
the corresponding label. | the corresponding label. | |||
If no mapping for the FEC exists, X MUST send an MPLS echo reply | If no mapping for the FEC exists, X MUST send an MPLS echo reply | |||
with a Return Code 4, "Replying router has no mapping for the FEC | with a Return Code 4, "Replying router has no mapping for the FEC | |||
at stack-depth" and a Return Subcode set to current- stack-depth. | at stack-depth" and a Return Subcode set to current- stack-depth. | |||
If a mapping is found, but the mapping is not the corresponding | If a mapping is found, but the mapping is not the corresponding | |||
label, X MUST send an MPLS echo reply with a Return Code 10, | label, X MUST send an MPLS echo reply with a Return Code 10, | |||
"Mapping for this FEC is not the given label at stack-depth" and | "Mapping for this FEC is not the given label at stack-depth" and | |||
a Return Subcode set to current-stack-depth. | a Return Subcode set to current-stack-depth. | |||
4. X determines the label operation. If the operation is to pop and | 4. X determines the label operation. If the operation is to pop and | |||
continue processing, X checks the current-stack-depth. If it is | continue processing, X checks the current-stack-depth. If it is | |||
one, X MUST send an MPLS echo reply with a Return Code 3, | one, X MUST send an MPLS echo reply with a Return Code 3, | |||
"Replying router is an egress for the FEC at stack depth" and a | "Replying router is an egress for the FEC at stack depth" and a | |||
Return Subcode set to one. Otherwise, X decrements current- | Return Subcode set to one. Otherwise, X decrements current-stack- | |||
stack-depth and goes back to step 1. | depth and goes back to step 1. | |||
If the label operation is pop and switch based on the popped | If the label operation is pop and switch based on the popped | |||
label, X then checks if it is valid to forward a labelled packet. | label, X then checks if it is valid to forward a labelled packet. | |||
If it is not valid to forward a labelled packet, or the current- | If it is, X MUST send an MPLS echo reply with a Return Code 8, | |||
stack-depth is one, X MUST send an MPLS echo reply with a Return | "Label switched at stack-depth" and a Return Subcode set to | |||
Code 9, "Label switched but no MPLS forwarding at stack-depth" | current-stack-depth. If it is not valid to forward a labelled | |||
and a Return Subcode set to current-stack-depth. Otherwise, X | packet, X MUST send an MPLS echo reply with a Return Code 9, | |||
MUST send an MPLS echo reply with a Return Code 8, "Label | "Label switched but no MPLS forwarding at stack-depth" and a | |||
switched at stack-depth" and a Return Subcode set to current- | Return Subcode set to current-stack-depth. This return code is | |||
stack-depth. | sent even if current-stack-depth is one. | |||
If the label operation is swap, X MUST send an MPLS echo reply | If the label operation is swap, X MUST send an MPLS echo reply | |||
with a Return Code 8, "Label switched at stack-depth" and a | with a Return Code 8, "Label switched at stack-depth" and a | |||
Return Subcode set to current-stack-depth. | Return Subcode set to current-stack-depth. | |||
If the MPLS echo request contains a downstream mapping TLV, and the | If the MPLS echo request contains a downstream mapping TLV, and the | |||
MPLS echo reply has either a Return Code of 8, or a Return Code of 9 | MPLS echo reply has either a Return Code of 8, or a Return Code of 9 | |||
with a Return Subcode of 1 then Downstream mapping TLVs SHOULD be | with a Return Subcode of 1 then Downstream mapping TLVs SHOULD be | |||
included for each multipath. | included for each multipath. | |||
If the echo request has a Reply Mode that wants a reply, X uses the | X uses the procedure in the next subsection to send the echo reply. | |||
procedure in the next subsection to send the echo reply. | ||||
4.4. Sending an MPLS Echo Reply | 4.4. Sending an MPLS Echo Reply | |||
An MPLS echo reply is a UDP packet. It MUST ONLY be sent in response | An MPLS echo reply is a UDP packet. It MUST ONLY be sent in response | |||
to an MPLS echo request. The source IP address is a routable address | to an MPLS echo request. The source IP address is a routable address | |||
of the replier; the source port is the well-known UDP port for MPLS | of the replier; the source port is the well-known UDP port for MPLS | |||
ping. The destination IP address and UDP port are copied from the | ping. The destination IP address and UDP port are copied from the | |||
source IP address and UDP port of the echo request. The IP TTL is | source IP address and UDP port of the echo request. The IP TTL is | |||
set to 255. If the Reply Mode in the echo request is "Reply via an | set to 255. If the Reply Mode in the echo request is "Reply via an | |||
IPv4 UDP packet with Router Alert", then the IP header MUST contain | IPv4 UDP packet with Router Alert", then the IP header MUST contain | |||
skipping to change at page 24, line 11 | skipping to change at page 24, line 16 | |||
Private Use, the Length MUST be at least 4, and the first four octets | Private Use, the Length MUST be at least 4, and the first four octets | |||
MUST be that vendor's SMI Enterprise Code, in network octet order. | MUST be that vendor's SMI Enterprise Code, in network octet order. | |||
The rest of the Value field is private to the vendor. | The rest of the Value field is private to the vendor. | |||
Acknowledgments | Acknowledgments | |||
This document is the outcome of many discussions among many people, | This document is the outcome of many discussions among many people, | |||
that include Manoj Leelanivas, Paul Traina, Yakov Rekhter, Der-Hwa | that include Manoj Leelanivas, Paul Traina, Yakov Rekhter, Der-Hwa | |||
Gan, Brook Bailey, Eric Rosen and Ina Minei. | Gan, Brook Bailey, Eric Rosen and Ina Minei. | |||
The Multipath Information sub-field of the Downstream Mapping TLV was | The description of the Multipath Information sub-field of the | |||
adapted from text suggested by Curtis Villamizar. | Downstream Mapping TLV was adapted from text suggested by Curtis | |||
Villamizar. | ||||
Appendix | Appendix | |||
This appendix specifies non-normative aspects of detecting MPLS data | This appendix specifies non-normative aspects of detecting MPLS data | |||
plane liveness. | plane liveness. | |||
5.1. CR-LDP FEC | 5.1. CR-LDP FEC | |||
This section describes how a CR-LDP FEC can be included in an Echo | This section describes how a CR-LDP FEC can be included in an Echo | |||
Request using the following FEC subtype: | Request using the following FEC subtype: | |||
skipping to change at page 26, line 29 | skipping to change at page 26, line 35 | |||
be obtained from the IETF Secretariat. | be obtained from the IETF Secretariat. | |||
The IETF invites any interested party to bring to its attention any | The IETF invites any interested party to bring to its attention any | |||
copyrights, patents or patent applications, or other proprietary | copyrights, patents or patent applications, or other proprietary | |||
rights which may cover technology that may be required to practice | rights which may cover technology that may be required to practice | |||
this standard. Please address the information to the IETF Executive | this standard. Please address the information to the IETF Executive | |||
Director. | Director. | |||
Full Copyright Statement | Full Copyright Statement | |||
Copyright (C) The Internet Society (2003). All Rights Reserved. | Copyright (C) The Internet Society (2004). All Rights Reserved. | |||
This document and translations of it may be copied and furnished to | This document and translations of it may be copied and furnished to | |||
others, and derivative works that comment on or otherwise explain it | others, and derivative works that comment on or otherwise explain it | |||
or assist in its implmentation may be prepared, copied, published and | or assist in its implmentation may be prepared, copied, published and | |||
distributed, in whole or in part, without restriction of any kind, | distributed, in whole or in part, without restriction of any kind, | |||
provided that the above copyright notice and this paragraph are | provided that the above copyright notice and this paragraph are | |||
included on all such copies and derivative works. However, this | included on all such copies and derivative works. However, this | |||
document itself may not be modified in any way, such as by removing | document itself may not be modified in any way, such as by removing | |||
the copyright notice or references to the Internet Society or other | the copyright notice or references to the Internet Society or other | |||
Internet organizations, except as needed for the purpose of | Internet organizations, except as needed for the purpose of | |||
End of changes. | ||||
This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |