draft-ietf-mpls-p2mp-lsp-ping-07.txt | draft-ietf-mpls-p2mp-lsp-ping-08.txt | |||
---|---|---|---|---|
Network Working Group A. Farrel (Editor) | Network Working Group A. Farrel (Editor) | |||
Internet-Draft Old Dog Consulting | Internet-Draft Old Dog Consulting | |||
Intended Status: Standards Track S. Yasukawa | Intended Status: Standards Track S. Yasukawa | |||
Updates: RFC4379 NTT | Updates: RFC4379 NTT | |||
Created: September 10, 2008 | Created: August 11, 2009 | |||
Expires: March 10, 2009 | Expires: February 11, 2010 | |||
Detecting Data Plane Failures in Point-to-Multipoint Multiprotocol | Detecting Data Plane Failures in Point-to-Multipoint Multiprotocol | |||
Label Switching (MPLS) - Extensions to LSP Ping | Label Switching (MPLS) - Extensions to LSP Ping | |||
draft-ietf-mpls-p2mp-lsp-ping-07.txt | draft-ietf-mpls-p2mp-lsp-ping-08.txt | |||
Status of this Memo | Status of this Memo | |||
By submitting this Internet-Draft, each author represents that any | This Internet-Draft is submitted to IETF in full conformance with the | |||
applicable patent or other IPR claims of which he or she is aware | provisions of BCP 78 and BCP 79. | |||
have been or will be disclosed, and any of which he or she becomes | ||||
aware will be disclosed, in accordance with Section 6 of BCP 79. | ||||
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 | other groups may also distribute working documents as | |||
Internet-Drafts. | Internet-Drafts. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
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." | |||
skipping to change at page 2, line 5 | skipping to change at page 1, line 52 | |||
used to detect data plane failures in point-to-point (P2P) MPLS LSPs | used to detect data plane failures in point-to-point (P2P) MPLS LSPs | |||
has been recognized and has led to the development of techniques | has been recognized and has led to the development of techniques | |||
for fault detection and isolation commonly referred to as "LSP Ping". | for fault detection and isolation commonly referred to as "LSP Ping". | |||
The scope of this document is fault detection and isolation for P2MP | The scope of this document is fault detection and isolation for P2MP | |||
MPLS LSPs. This documents does not replace any of the mechanisms of | MPLS LSPs. This documents does not replace any of the mechanisms of | |||
LSP Ping, but clarifies their applicability to MPLS P2MP LSPs, and | LSP Ping, but clarifies their applicability to MPLS P2MP LSPs, and | |||
extends the techniques and mechanisms of LSP Ping to the MPLS P2MP | extends the techniques and mechanisms of LSP Ping to the MPLS P2MP | |||
environment. | environment. | |||
Conventions used in this document | Copyright Notice | |||
Copyright (c) 2009 IETF Trust and the persons identified as the | ||||
document authors. All rights reserved. | ||||
Conventions used in this document | ||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
Contents | Contents | |||
1. Introduction ................................................... 4 | 1. Introduction.................................................... 4 | |||
1.1 Design Considerations ......................................... 5 | 1.1 Design Considerations.......................................... 5 | |||
2. Notes on Motivation ............................................ 6 | 2. Notes on Motivation............................................. 6 | |||
2.1. Basic Motivations for LSP Ping ............................... 6 | 2.1. Basic Motivations for LSP Ping................................ 6 | |||
2.2. Motivations for LSP Ping for P2MP LSPs ....................... 8 | 2.2. Motivations for LSP Ping for P2MP LSPs........................ 6 | |||
2.3 Bootstrapping Other OAM Procedures Using LSP Ping ............. 9 | 2.3 Bootstrapping Other OAM Procedures Using LSP Ping.............. 8 | |||
3. Operation of LSP Ping for a P2MP LSP ........................... 9 | 3. Operation of LSP Ping for a P2MP LSP............................ 8 | |||
3.1. Identifying the LSP Under Test ............................... 9 | 3.1. Identifying the LSP Under Test................................ 9 | |||
3.1.1. Identifying a P2MP MPLS TE LSP ............................. 9 | 3.1.1. Identifying a P2MP MPLS TE LSP.............................. 9 | |||
3.1.1.1. RSVP P2MP IPv4 Session Sub-TLV ........................... 9 | 3.1.1.1. RSVP P2MP IPv4 Session Sub-TLV............................ 9 | |||
3.1.1.2. RSVP P2MP IPv6 Session Sub-TLV .......................... 10 | 3.1.1.2. RSVP P2MP IPv6 Session Sub-TLV............................ 9 | |||
3.1.2. Identifying a Multicast LDP LSP ........................... 10 | 3.1.2. Identifying a Multicast LDP LSP............................ 10 | |||
3.1.2.1. Multicast LDP FEC Stack Sub-TLV ......................... 11 | 3.1.2.1. Multicast LDP FEC Stack Sub-TLVs......................... 10 | |||
3.2. Ping Mode Operation ......................................... 12 | 3.1.2.2. Applicability to Multipoint-to-Multipoint LSPs........... 11 | |||
3.2.1. Controlling Responses to LSP Pings ........................ 12 | 3.2. Ping Mode Operation.......................................... 12 | |||
3.2.2. Ping Mode Egress Procedures ............................... 12 | 3.2.1. Controlling Responses to LSP Pings......................... 12 | |||
3.2.3. Jittered Responses ........................................ 13 | 3.2.2. Ping Mode Egress Procedures................................ 12 | |||
3.2.4. P2MP Responder Identifier TLV and Sub-TLVs ................ 14 | 3.2.3. Jittered Responses......................................... 12 | |||
3.2.5. Echo Jitter TLV ........................................... 15 | 3.2.4. P2MP Responder Identifier TLV and Sub-TLVs................. 13 | |||
3.2.6. Echo Response Reporting ................................... 15 | 3.2.4.1. Egress Address P2MP Responder Identifier Sub-TLVs........ 14 | |||
3.3. Traceroute Mode Operation ................................... 16 | 3.2.4.2. Node Address P2MP Responder Identifier Sub-TLVs.......... 14 | |||
3.3.1. Traceroute Responses at Non-Branch Nodes .................. 17 | 3.2.5. Echo Jitter TLV............................................ 15 | |||
3.3.1.1. Correlating Traceroute Responses ........................ 17 | 3.2.6. Echo Response Reporting.................................... 15 | |||
3.3.2. Traceroute Responses at Branch Nodes ..................... 18 | 3.2.6.1 Ping Responses at Transit and Branch Nodes................ 16 | |||
3.3.2.1. Node Properties TLV ..................................... 18 | 3.2.6.2 Ping Responses at Egress and Bud Nodes.................... 16 | |||
3.3.2.2. Branching Properties Sub-TLV ............................ 19 | 3.3. Traceroute Mode Operation.................................... 16 | |||
3.3.2.3. Egress Address Sub-TLV .................................. 20 | 3.3.1. Correlating Traceroute Responses........................... 17 | |||
3.3.2.4. Correlating Traceroute Responses ........................ 21 | 3.3.2. Traceroute Responses at Transit Nodes...................... 18 | |||
3.3.3. Traceroute Responses at Bud Nodes ......................... 21 | 3.3.3. Traceroute Responses at Branch Nodes....................... 18 | |||
3.3.4. Non-Response to Traceroute Echo Requests .................. 22 | 3.3.4. Traceroute Responses at Egress Nodes....................... 19 | |||
3.3.5. Additions to Downstream Mapping Multipath Information ..... 22 | 3.3.5. Traceroute Responses at Bud Nodes.......................... 19 | |||
3.3.6. Echo Response Reporting ................................... 24 | 3.3.6. Non-Response to Traceroute Echo Requests................... 20 | |||
3.3.6.1. Reporting Multiple Conditions Using The DDM TLV ......... 24 | 3.3.7 Use of Downstream Detailed Mapping TLV in Echo Request...... 20 | |||
4. Operation of LSP Ping for Bootstrapping Other OAM Mechanisms .. 25 | 4. Non-compliant Routers.......................................... 20 | |||
5. Non-compliant Routers ......................................... 26 | 5. OAM Considerations............................................. 20 | |||
6. OAM Considerations ............................................ 26 | 6. IANA Considerations............................................ 21 | |||
7. IANA Considerations ........................................... 27 | 6.1. New Sub-TLV Types............................................ 21 | |||
7.1. New Sub-TLV Types ........................................... 27 | 6.2. New TLVs..................................................... 21 | |||
7.2. New Multipath Type .......................................... 27 | 7. Security Considerations........................................ 22 | |||
7.3. New TLVs .................................................... 28 | 8. Acknowledgements............................................... 22 | |||
7.4. New Return Code ............................................. 28 | 9. References..................................................... 23 | |||
7.5. New Sub-TLV Value for the Downstream Detailed Mapping TLV ... 28 | 9.1 Normative References.......................................... 23 | |||
8. Security Considerations ....................................... 29 | 9.2 Informative References........................................ 23 | |||
9. Acknowledgements .............................................. 29 | 10. Authors' Addresses............................................ 24 | |||
10. Intellectual Property Considerations ......................... 29 | 11. Full Copyright Statement...................................... 25 | |||
11. Normative References ......................................... 30 | ||||
12. Informative References ....................................... 30 | ||||
13. Authors' Addresses ........................................... 31 | ||||
14. Full Copyright Statement ..................................... 32 | ||||
0. Change Log | 0. Change Log | |||
This section to be removed before publication as an RFC. | This section to be removed before publication as an RFC. | |||
0.1 Changes from 00 to 01 | 0.1 Changes from 00 to 01 | |||
- Update references. | - Update references. | |||
- Fix boilerplate. | - Fix boilerplate. | |||
skipping to change at page 4, line 44 | skipping to change at page 4, line 33 | |||
Egress Address sub-TLVs. | Egress Address sub-TLVs. | |||
- Section 3.3.2.4: Clarify rules on presence of Multipath Information | - Section 3.3.2.4: Clarify rules on presence of Multipath Information | |||
in Downstream Mapping TLVs. | in Downstream Mapping TLVs. | |||
- Section 3.3.5: Clarify padding rules. | - Section 3.3.5: Clarify padding rules. | |||
- Section 3.3.6: Updated to use Downstream Detailed Mapping TLVs for | - Section 3.3.6: Updated to use Downstream Detailed Mapping TLVs for | |||
multiple return conditions reported by a single echo response. | multiple return conditions reported by a single echo response. | |||
- Section 7: Update IANA values and add new sub-sections. | - Section 7: Update IANA values and add new sub-sections. | |||
- Section 11: Add reference draft-ietf-mpls-lsp-ping-enhanced-dsmap. | - Section 11: Add reference draft-ietf-mpls-lsp-ping-enhanced-dsmap. | |||
- Section 13: Update Bill Fenner's coordinates. | - Section 13: Update Bill Fenner's coordinates. | |||
0.8 Changes from 07 to 08 | ||||
- Removed the Node Properties TLV (Section 3.3.2.1 of version 07). | ||||
- Removed the New Multipath Type from Multipath Sub-TLV (Section | ||||
3.3.5 of version 07). | ||||
- Removed the Return Code Sub-TLV from Downstream Detailed TLV | ||||
(Section 3.3.6.1 of version 07), as it is already included in | ||||
draft-ietf-mpls-lsp-ping-enhanced-dsmap-02. | ||||
- Clarified the behavior of Responder Identifier TLV (Section | ||||
3.2.4 of version 07). Two new Sub-TLVs are introduced. | ||||
- Downstream Detailed Mapping TLV is now mandatory for implementing | ||||
P2MP OAM functionality. | ||||
- Split Multicast LDP TLV into two TLVs, one for P2MP and other for | ||||
MP2MP. Also added description to allow MP2MP ping by using this | ||||
draft. | ||||
- Removed Section 4. as it was a duplicate of Section 2.3. | ||||
1. Introduction | 1. Introduction | |||
Simple and efficient mechanisms that can be used to detect data plane | Simple and efficient mechanisms that can be used to detect data plane | |||
failures in point-to-point (P2P) Multiprotocol Label Switching (MPLS) | failures in point-to-point (P2P) Multiprotocol Label Switching (MPLS) | |||
Label Switched Paths (LSP) are described in [RFC4379]. The techniques | Label Switched Paths (LSP) are described in [RFC4379]. The techniques | |||
involve information carried in an MPLS "echo request" and "echo | involve 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 echo | |||
request and reply messages provide sufficient information to check | request and reply messages provide sufficient information to check | |||
correct operation of the data plane, as well as a mechanism to verify | correct operation of the data plane, as well as a mechanism to verify | |||
the data plane against the control plane, and thereby localize | the data plane against the control plane, and thereby localize | |||
skipping to change at page 11, line 14 | skipping to change at page 10, line 46 | |||
message MUST carry a Target FEC Stack TLV, and this MUST carry | message MUST carry a Target FEC Stack TLV, and this MUST carry | |||
exactly one new sub-TLV: the Multicast LDP FEC Stack sub-TLV. This | exactly one new sub-TLV: the Multicast LDP FEC Stack sub-TLV. This | |||
sub-TLV uses fields from the multicast LDP messages [P2MP-LDP] and so | sub-TLV uses fields from the multicast LDP messages [P2MP-LDP] and so | |||
provides sufficient information to uniquely identify the LSP. | provides sufficient information to uniquely identify the LSP. | |||
The new sub-TLV is assigned a sub-type identifier as follows, and | The new sub-TLV is assigned a sub-type identifier as follows, and | |||
is described in the following section. | is described in the following section. | |||
Sub-Type # Length Value Field | Sub-Type # Length Value Field | |||
---------- ------ ----------- | ---------- ------ ----------- | |||
TBD Variable Multicast LDP FEC Stack | TBD Variable Multicast P2MP LDP FEC Stack | |||
TBD Variable Multicast MP2MP LDP FEC Stack | ||||
3.1.2.1. Multicast LDP FEC Stack Sub-TLV | 3.1.2.1. Multicast LDP FEC Stack Sub-TLVs | |||
The format of the Multicast LDP FEC Stack sub-TLV is shown below. | Both Multicast P2MP and MP2MP LDP FEC Stack have the same format, as | |||
specified in the following figure. | ||||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Address Family | Address Length| Root LSR Addr | | | Address Family | Address Length| Root LSR Addr | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
~ Root LSR Address (Cont.) ~ | ~ Root LSR Address (Cont.) ~ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Opaque Length | Opaque Value ... | | | Opaque Length | Opaque Value ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | |||
~ ~ | ~ ~ | |||
| | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Address Family | Address Family | |||
A two octet quantity containing a value from ADDRESS FAMILY | Two octet quantity containing a value from ADDRESS FAMILY NUMBERS | |||
NUMBERS in [IANA-PORT] that encodes the address family for the | in [IANA-PORT] that encodes the address family for the Root LSR | |||
Root LSR Address. | Address. | |||
Address Length | Address Length | |||
The length of the Root LSR Address in octets. | Length of the Root LSR Address in octets. | |||
Root LSR Address | Root LSR Address | |||
An address of the LSR at the root of the P2MP LSP encoded | Address of the LSR at the root of the P2MP LSP encoded according | |||
according to the Address Family field. | to the Address Family field. | |||
Opaque Length | Opaque Length | |||
The length of the Opaque Value, in octets. | The length of the Opaque Value, in octets. | |||
Opaque Value | Opaque Value | |||
An opaque value elements of which uniquely identifies the P2MP LSP | An opaque value element which uniquely identifies the P2MP LSP in | |||
in the context of the Root LSR. | the context of the Root LSR. | |||
If the Address Family is IPv4, the Address Length MUST be 4. If the | If the Address Family is IPv4, the Address Length MUST be 4. If the | |||
Address Family is IPv6, the Address Length MUST be 16. No other | Address Family is IPv6, the Address Length MUST be 16. No other | |||
Address Family values are defined at present. | Address Family values are defined at present. | |||
3.1.2.2. Applicability to Multipoint-to-Multipoint LSPs | ||||
The mechanisms defined in this document can be extended to include | ||||
Multipoint-to-Multipoint (MP2MP) Multicast LSPs. In an MP2MP LSP | ||||
tree, any leaf node can be treated like a head node of a P2MP | ||||
tree. In other words, for MPLS OAM purposes, the MP2MP tree can be | ||||
treated like a collection of P2MP trees, with each MP2MP leaf node | ||||
acting like a P2MP head-end node. When a leaf node is acting like a | ||||
P2MP head-end node, the remaining leaf nodes act like egress nodes. | ||||
3.2. Ping Mode Operation | 3.2. Ping Mode Operation | |||
3.2.1. Controlling Responses to LSP Pings | 3.2.1. Controlling Responses to LSP Pings | |||
As described in Section 2.2, it may be desirable to restrict the | As described in Section 2.2, it may be desirable to restrict the | |||
operation of LSP Ping to a single egress. Since echo requests are | operation of LSP Ping to a single egress. Since echo requests are | |||
forwarded through the data plane without interception by the control | forwarded through the data plane without interception by the control | |||
plane (compare with traceroute mode), there is no facility to limit | plane (compare with traceroute mode), there is no facility to limit | |||
the propagation of echo requests, and they will automatically be | the propagation of echo requests, and they will automatically be | |||
forwarded to all (reachable) egresses. | forwarded to all (reachable) egresses. | |||
However, the intended egress under test can be identified by the | However, the intended egress under test can be identified by the | |||
inclusion of a P2MP Responder Identifier TLV containing an IPv4 P2MP | inclusion of a P2MP Responder Identifier TLV. The details of this TLV | |||
Responder Identifier sub-TLV or an IPv6 P2MP Responder Identifier | and its Sub-TLVs are in section 3.2.4. The initiator may choose | |||
sub-TLV. The P2MP Responder Identifier TLV SHOULD contain precisely | whether only the node identified in the TLV responds or any node on | |||
one sub-TLV. If the TLV contains no sub-TLVs it SHOULD be processed | the path to the node identified in the TLV may respond. | |||
as if the whole TLV were absent (causing all egresses to respond as | ||||
described below). If the TLV contains more than one sub-TLV, the | ||||
first MUST be processed as described in this document, and subsequent | ||||
sub-TLVs SHOULD be ignored. | ||||
An initiator may indicate that it wishes all egresses to respond to | An initiator may indicate that it wishes all egresses to respond to | |||
an echo request by omitting the P2MP Responder Identifier TLV. | an echo request by omitting the P2MP Responder Identifier TLV. | |||
Note that the ingress of a multicast LDP LSP will not know the | Note that the ingress of a multicast LDP LSP will not know the | |||
identities of the egresses of the LSP except by some external means | identities of the egresses of the LSP except by some external means | |||
such as running P2MP LSP Ping to all egresses. | such as running P2MP LSP Ping to all egresses. | |||
3.2.2. Ping Mode Egress Procedures | 3.2.2. Ping Mode Egress Procedures | |||
An egress node is RECOMMENDED to rate limit its receipt of echo | An egress node is RECOMMENDED to rate limit its receipt of echo | |||
request messages as described in [RFC4379]. After rate limiting, an | request messages as described in [RFC4379]. After rate limiting, an | |||
egress node that receives an echo request carrying an RSVP P2MP IPv4 | egress node that receives an echo request carrying an RSVP P2MP IPv4 | |||
Session sub-TLV, an RSVP P2MP IPv6 Session sub-TLV, or a Multicast | Session sub-TLV, an RSVP P2MP IPv6 Session sub-TLV, or a Multicast | |||
LDP FEC Stack sub-TLV MUST determine whether it is an intended egress | LDP FEC Stack sub-TLV MUST determine whether it is an egress of the | |||
of the P2MP LSP in question by checking with the control plane. If it | P2MP LSP in question by checking with the control plane. | |||
is not supposed to be an egress, it MUST respond according to the | ||||
setting of the Response Type field in the echo message following the | ||||
rules defined in [RFC4379]. | ||||
If the egress node that receives an echo request and allows it | - If the node is not an egress, it MUST respond according to the | |||
through its rate limiting is an intended egress of the P2MP LSP, the | setting of the Response Type field in the echo message following | |||
node MUST check to see whether it is an intended Ping recipient. If a | the rules defined in [RFC4379]. | |||
P2MP Responder Identifier TLV is present and contains an address that | ||||
indicates any address that is local to the node, the node MUST | ||||
respond according to the setting of the Response Type field in the | ||||
echo message following the rules defined in [RFC4379]. If the P2MP | ||||
Responder Identifier TLV is present, but does not identify the egress | ||||
node, it MUST NOT respond to the echo request. If the P2MP Responder | ||||
Identifier TLV is not present (or, in the error case, is present, but | ||||
does not contain any sub-TLVs), but the egress node that received the | ||||
echo request is an intended egress of the LSP, the node MUST respond | ||||
according to the setting of the Response Type field in the echo | ||||
message following the rules defined in [RFC4379]. | ||||
3.2.3. Jittered Responses | - If the node is an egress of the P2MP LSP, the node must | |||
check whether it is a receipient of the echo request. | ||||
- If a P2MP Responder Identifier TLV is present, then the node | ||||
must follow the procedures defined in section 3.2.4 to determine | ||||
whether it should respond to the reqeust or not. | ||||
- If the P2MP Responder Identifier TLV is not present (or, in the | ||||
error case, is present, but does not contain any sub-TLVs), and | ||||
the egress node that received the echo request is an intended | ||||
egress of the LSP, the node MUST respond according to the setting | ||||
of the Response Type field in the echo message following the | ||||
rules defined in [RFC4379]. | ||||
3.2.3. Jittered Responses | ||||
The initiator (ingress) of a ping request MAY request the responding | The initiator (ingress) of a ping request MAY request the responding | |||
egress to introduce a random delay (or jitter) before sending the | egress to introduce a random delay (or jitter) before sending the | |||
response. The randomness of the delay allows the responses from | response. The randomness of the delay allows the responses from | |||
multiple egresses to be spread over a time period. Thus this | multiple egresses to be spread over a time period. Thus this | |||
technique is particularly relevant when the entire LSP tree is being | technique is particularly relevant when the entire LSP tree is being | |||
pinged since it helps prevent the ingress (or nearby routers) from | pinged since it helps prevent the ingress (or nearby routers) from | |||
being swamped by responses, or from discarding responses due to rate | being swamped by responses, or from discarding responses due to rate | |||
limits that have been applied. | limits that have been applied. | |||
It is desirable for the ingress to be able to control the bounds | It is desirable for the ingress to be able to control the bounds | |||
within which the egress delays the response. If the tree size is | within which the egress delays the response. If the tree size is | |||
small, only a small amount of jitter is required, but if the tree is | small, only a small amount of jitter is required, but if the tree is | |||
large, greater jitter is needed. The ingress informs the egresses of | large, greater jitter is needed. The ingress informs the egresses of | |||
the jitter bound by supplying a value in a new TLV (the Echo Jitter | the jitter bound by supplying a value in a new TLV (the Echo Jitter | |||
TLV) carried on the echo request message. If this TLV is present, | TLV) carried on the echo request message. If this TLV is present, the | |||
the responding egress MUST delay sending a response for a random | responding egress MUST delay sending a response for a random amount | |||
amount of time between zero seconds and the value indicated in the | of time between zero milliseconds and the value indicated in the | |||
TLV. If the TLV is absent, the responding egress SHOULD NOT introduce | TLV. If the TLV is absent, the responding egress SHOULD NOT introduce | |||
any additional delay in responding to the echo request. | any additional delay in responding to the echo request. | |||
LSP ping SHOULD NOT be used to attempt to measure the round-trip | LSP ping SHOULD NOT be used to attempt to measure the round-trip | |||
time for data delivery. This is because the LSPs are unidirectional, | time for data delivery. This is because the LSPs are unidirectional, | |||
and the echo response is often sent back through the control plane. | and the echo response is often sent back through the control plane. | |||
The timestamp fields in the echo request/response MAY be used to | The timestamp fields in the echo request/response MAY be used to | |||
deduce some information about delivery times and particularly the | deduce some information about delivery times and particularly the | |||
variance in delivery times. | variance in delivery times. | |||
skipping to change at page 14, line 38 | skipping to change at page 14, line 17 | |||
If no sub-TLVs are present, the TLV MUST be processed as if it | If no sub-TLVs are present, the TLV MUST be processed as if it | |||
were absent. If more than one sub-TLV is present the first MUST | were absent. If more than one sub-TLV is present the first MUST | |||
be processed as described in this document, and subsequent | be processed as described in this document, and subsequent | |||
sub-TLVs SHOULD be ignored. | sub-TLVs SHOULD be ignored. | |||
The P2MP Responder Identifier TLV only has meaning on an echo request | The P2MP Responder Identifier TLV only has meaning on an echo request | |||
message. If present on an echo response message, it SHOULD be | message. If present on an echo response message, it SHOULD be | |||
ignored. | ignored. | |||
Two sub-TLVs are defined for inclusion in the P2MP Responder | Four sub-TLVs are defined for inclusion in the P2MP Responder | |||
Identifier TLV carried on the echo request message. These are: | Identifier TLV carried on the echo request message. These are: | |||
Sub-Type # Length Value Field | Sub-Type # Length Value Field | |||
---------- ------ ----------- | ---------- ------ ----------- | |||
1 4 IPv4 P2MP Responder Identifier | 1 4 IPv4 Egress Address P2MP Responder Identifier | |||
2 16 IPv6 P2MP Responder Identifier | 2 16 IPv6 Egress Address P2MP Responder Identifier | |||
3 4 IPv4 Node Address P2MP Responder Identifier | ||||
4 16 IPv6 Node Address P2MP Responder Identifier | ||||
The value of an IPv4 P2MP Responder Identifier consists of four | The content of these Sub-TLVs are defined in the following | |||
octets of an IPv4 address. The IPv4 address is in network byte order. | sections. Also defined is the intended behavior of the responding | |||
node upon receiving any of these Sub-TLVs. Please note that the echo | ||||
response is always controlled by Response Type field in the echo | ||||
message as defined in [RFC4379] and whether or not the responding | ||||
node is part for the P2MP tree being identified in the Target FEC | ||||
Stack TLV. The Sub-TLVs defined in this section provide additional | ||||
constraints to those requirements and are not a replacement for those | ||||
requirements. | ||||
The value of an IPv6 P2MP Responder Identifier consists of sixteen | 3.2.4.1. Egress Address P2MP Responder Identifier Sub-TLVs | |||
octets of an IPv6 address. The IPv6 address is in network byte order. | ||||
The IPv4 or IPv6 Egress Address P2MP Responder Identifier Sub-TLVs | ||||
MAY be used in an echo request carrying RSVP P2MP Session | ||||
Sub-TLV. They SHOULD NOT be used with an echo request carrying | ||||
Multicast LDP FEC Stack Sub-TLV. | ||||
A node that receives an echo request with this Sub-TLV present MUST | ||||
respond only if the node lies on the path to the address in the | ||||
Sub-TLV. | ||||
The address in this Sub-TLV SHOULD be of an egress or bud node and | ||||
SHOULD NOT be of a transit or branch node. This address MUST be known | ||||
to the nodes upstream of the target node, possibly via control plane | ||||
signaling, such as RSVP. This Sub-TLV may be used to trace a specific | ||||
egress or bud node in the P2MP tree. | ||||
3.2.4.2. Node Address P2MP Responder Identifier Sub-TLVs | ||||
The IPv4 or IPv6 Node Address P2MP Responder Identifier Sub-TLVs MAY | ||||
be used in an echo request carrying either RSVP P2MP Session or | ||||
Multicast LDP FEC Stack Sub-TLV. | ||||
A node that receives an echo request with this Sub-TLV present MUST | ||||
respond only if the address in the Sub-TLV corresponds to any address | ||||
that is local to the node. This address in the Sub-TLV may be of any | ||||
physical interface or may be the router id of the node itself. | ||||
The address in this Sub-TLV SHOULD be of any transit, branch, bud or | ||||
egress node for that P2MP tree. This Sub-TLV may be used to ping any | ||||
specific node in the P2MP tree. | ||||
3.2.5. Echo Jitter TLV | 3.2.5. Echo Jitter TLV | |||
A new TLV is defined for inclusion in the Echo request message. | A new TLV is defined for inclusion in the Echo request message. | |||
The Echo Jitter TLV is assigned the TLV type value TBD and is encoded | The Echo Jitter TLV is assigned the TLV type value TBD and is encoded | |||
as follows. | 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 | |||
skipping to change at page 15, line 25 | skipping to change at page 15, line 37 | |||
| Type = TBD (Jitter TLV) | Length = 4 | | | Type = TBD (Jitter TLV) | Length = 4 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Jitter time | | | Jitter time | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Jitter time: | Jitter time: | |||
This field specifies the upper bound of the jitter period that | This field specifies the upper bound of the jitter period that | |||
should be applied by a responding node to determine how long to | should be applied by a responding node to determine how long to | |||
wait before sending an echo response. A responding node SHOULD | wait before sending an echo response. A responding node SHOULD | |||
wait a random amount of time between zero seconds and the value | wait a random amount of time between zero milliseconds and the | |||
specified in this field. | value specified in this field. | |||
Jitter time is specified in milliseconds. | Jitter time is specified in milliseconds. | |||
The Echo Jitter TLV only has meaning on an echo request message. If | The Echo Jitter TLV only has meaning on an echo request message. If | |||
present on an echo response message, it SHOULD be ignored. | present on an echo response message, it SHOULD be ignored. | |||
3.2.6. Echo Response Reporting | 3.2.6. Echo Response Reporting | |||
Echo response messages carry return codes and subcodes to indicate | Echo response messages carry return codes and subcodes to indicate | |||
the result of the LSP Ping (when the ping mode is being used) as | the result of the LSP Ping (when the ping mode is being used) as | |||
described in [RFC4379]. | described in [RFC4379]. | |||
When the responding node reports that it is an egress, it is clear | When the responding node reports that it is an egress, it is clear | |||
that the echo response applies only to the reporting node. Similarly, | that the echo response applies only to the reporting node. Similarly, | |||
when a node reports that it does not form part of the LSP described | when a node reports that it does not form part of the LSP described | |||
by the FEC (i.e. their is a misconnection) then the echo response | by the FEC (i.e. there is a misconnection) then the echo response | |||
applies to the reporting node. | applies to the reporting node. | |||
However, it should be noted that an echo response message that | However, it should be noted that an echo response message that | |||
reports an error from a transit node may apply to multiple egress | reports an error from a transit node may apply to multiple egress | |||
nodes (i.e. leaves) downstream of the reporting node. In the case of | nodes (i.e. leaves) downstream of the reporting node. In the case of | |||
the Ping mode of operation, it is not possible to correlate the | the Ping mode of operation, it is not possible to correlate the | |||
reporting node to the affected egresses unless the shape of the P2MP | reporting node to the affected egresses unless the shape of the P2MP | |||
tree is already known, and it may be necessary to use the Traceroute | tree is already known, and it may be necessary to use the Traceroute | |||
mode of operation (see Section 3.3) to further diagnose the LSP. | mode of operation (see Section 3.3) to further diagnose the LSP. | |||
Note also that a transit node may discover an error but also | Note also that a transit node may discover an error but also | |||
determine that while it does lie on the path of the LSP under test, | determine that while it does lie on the path of the LSP under test, | |||
it does not lie on the path to the specific egress being tested. In | it does not lie on the path to the specific egress being tested. In | |||
this case, the node SHOULD NOT generate an echo response. | this case, the node SHOULD NOT generate an echo response. | |||
A reporting node that is a branch node may need to report multiple | 3.2.6.1 Ping Responses at Transit and Branch Nodes | |||
different errors (for different downstream branches). This is | ||||
discussed further in Section 3.3.6. | If the TTL of the MPLS packet carrying an echo request expires at a | |||
transit or branch node, the packet MUST be passed to the control | ||||
plane as specified in [RFC4379]. | ||||
If the P2MP Responder Identifier is not present or does not contain | ||||
any Sub-TLV, then the node MUST respond. If the P2MP Responder | ||||
Identifier Sub-TLV is present, then the node MUST respond as per | ||||
section 3.2.4. | ||||
If the echo response being sent is not indicating an error condition, | ||||
such as Malformed request, then the Return Code in the echo response | ||||
header may be set to value 8 ('Label switched at stack-depth <RSC>') | ||||
or any other error value as needed. | ||||
3.2.6.2 Ping Responses at Egress and Bud Nodes | ||||
The echo request packet MUST be sent to the control plane at egress | ||||
and bud nodes. | ||||
If the P2MP Responder Identifier is not present or does not contain | ||||
any Sub-TLV, then the node MUST respond. If the P2MP Responder | ||||
Identifier Sub-TLV is present, then the node MUST respond as per | ||||
section 3.2.4. | ||||
If the echo response being sent is not indicating an error condition, | ||||
such as Malformed request, then the Return Code in the echo response | ||||
header may be set to value 3 ('Replying router is an egress for the | ||||
FEC at stack-depth <RSC>') or any other error value as needed. | ||||
3.3. Traceroute Mode Operation | 3.3. Traceroute Mode Operation | |||
The traceroute mode of operation is described in [RFC4379]. Like | The traceroute mode of operation is described in [RFC4379]. Like | |||
other traceroute operations, it relies on the expiration of the TTL | other traceroute operations, it relies on the expiration of the TTL | |||
of the packet that carries the echo request. Echo requests may | of the packet that carries the echo request. When the TTL expires the | |||
include a Downstream Mapping TLV, and when the TTL expires the echo | echo request is passed to the control plane on the transit node which | |||
request is passed to the control plane on the transit node which | responds according to the Response Type in the message (and any | |||
responds according to the Response Type in the message. A responding | Responder Identifier TLV that may be present). | |||
node fills in the fields of the Downstream Mapping TLV to indicate | ||||
the downstream interfaces and labels used by the reported LSP from | Echo requests MAY include a Downstream Detailed Mapping TLV, and a | |||
the responding node. In this way, by successively sending out echo | responding node fills in the fields of the Downstream Detailed | |||
requests with increasing TTLs, the ingress may gain a picture of the | Mapping TLV to indicate the downstream interfaces and labels used by | |||
path and resources used by an LSP up to the point of failure when no | the reported LSP from the responding node. In this way, by | |||
successively sending out echo requests with increasing TTLs, the | ||||
ingress may gain a picture of the path and resources used by an | ||||
LSP. This process continues either to the point of failure when no | ||||
response is received, or an error response is generated by a node | response is received, or an error response is generated by a node | |||
where the control plane does not expect to be handling the LSP. | where the control plane does not expect to be handling the LSP. | |||
This mode of operation is equally applicable to P2MP MPLS TE LSPs | For P2MP Traceroute, a node MUST support Downstream Detailed Mapping | |||
as described in the following sections. | TLV [DDMT]. Downstream Mapping TLV [RFC4379] SHOULD NOT be used for | |||
P2MP traceroute functionality. As per Section 4.3 of [DDMT], | ||||
Downstream Mapping TLV is being deprecated. A node MUST ignore any | ||||
Downstream Mapping TLV it receives in the echo request. | ||||
If there are nodes in the P2MP tree that do not support Downstream | ||||
Detailed Mapping TLV, they will send an echo reply with Return Code | ||||
set to 2. The ingress node upon receiving such a value SHOULD send | ||||
subsequent echo requests with a larger TTL. | ||||
The traceroute mode of operation is equally applicable to P2MP MPLS | ||||
TE LSP and P2MP Multicast LDP LSP and is described in the following | ||||
sections. | ||||
The traceroute mode can be applied to all destinations of the P2MP | The traceroute mode can be applied to all destinations of the P2MP | |||
tree just as in the ping mode. In the case of P2MP MPLS TE LSPs, the | tree just as in the ping mode. In the case of P2MP MPLS TE LSPs, the | |||
traceroute mode can also be applied to individual traceroute targets | traceroute mode can also be applied to individual traceroute targets | |||
identified by the presence of a P2MP Responder Identifier TLV. These | identified by the presence of a P2MP Responder Identifier TLV. In | |||
targets may be egresses or transit nodes. However, since a transit | this case, the responding node must follow the behavior specified in | |||
node of a multicast LDP LSP is unable to determine whether it lies on | 3.2.4. These targets SHOULD be egresses or bud nodes. However, since | |||
the path to any one destination or any other transit node, the | a transit node of a multicast LDP LSP is unable to determine whether | |||
traceroute mode limited to specific nodes of such an LSP MUST NOT be | it lies on the path to any one destination or any other transit node, | |||
used. | the traceroute mode limited to specific nodes of such an LSP MUST NOT | |||
be used. | ||||
Note that the addresses specified in the P2MP Responder Identifier | ||||
TLV need not be egresses: they could be transit nodes on the LSP. The | ||||
processing rules here and in the following sections apply equally to | ||||
egress and transit nodes. | ||||
In the absence of a P2MP Responder Identifier TLV, the echo request | In the absence of a P2MP Responder Identifier TLV, the echo request | |||
is asking for traceroute information applicable to all egresses. | is asking for traceroute information applicable to all egresses. | |||
The echo response jitter technique described for the ping mode is | The echo response jitter technique described for the ping mode is | |||
equally applicable to the traceroute mode and is not additionally | equally applicable to the traceroute mode and is not additionally | |||
described in the procedures below. | described in the procedures below. | |||
3.3.1. Traceroute Responses at Non-Branch Nodes | 3.3.1. Correlating Traceroute Responses | |||
When the TTL for the MPLS packet carrying an echo request expires the | ||||
packet MUST be passed to the control plane as specified in [RFC4379]. | ||||
If the LSP under test is a multicast LDP LSP and if the echo request | ||||
carries a P2MP Responder Identifier TLV the node MUST treat the echo | ||||
request as malformed and MUST process it according to the rules | ||||
specified in [RFC4379]. | ||||
Otherwise, the node MUST NOT return an echo response unless the | ||||
responding node lies on the path of the P2MP LSP to the node (egress | ||||
or transit) identified by the P2MP Responder Identifier TLV carried | ||||
on the request, or if no such sub-TLV is present. | ||||
If sent, the echo response MUST identify the next hop of the path of | ||||
the LSP in the data plane by including a Downstream Mapping TLV as | ||||
described in [RFC4379]. | ||||
3.3.1.1. Correlating Traceroute Responses | ||||
When traceroute is being simultaneously applied to multiple | ||||
responders (e.g., egresses), it is important that the ingress should | ||||
be able to correlate the echo responses with the branches in the P2MP | ||||
tree. Without this information the ingress will be unable to | ||||
determine the correct ordering of transit nodes. One possibility is | ||||
for the ingress to poll the path to each responder in turn, but this | ||||
may be inefficient, undesirable, or (in the case of multicast LDP | ||||
LSPs) illegal. | ||||
The Downstream Mapping TLV that MUST be included in the echo response | ||||
indicates the next hop from each responding node, and this | ||||
information supplied by a non-branch node can be pieced together by | ||||
the ingress to reconstruct the P2MP tree although it may be necessary | ||||
to refer to the routing information distributed by the IGP to | ||||
correlate next hop addresses and node reporting addresses in | ||||
subsequent echo responses. | ||||
In order to facilitate more easy correlation of echo responses, the | ||||
Downstream Mapping TLV can also contain Multipath Information as | ||||
described in [RFC4379] to identify to which responders (transit | ||||
nodes or egresses) the echo response applies. This information: | ||||
- Cannot be present when the information is not known by the | ||||
responding node. For example, for a multicast LDP LSP, the branch | ||||
node will not know through normal LDP signaling which leaf nodes | ||||
lie on which downstream branch. | ||||
- SHOULD be present when the information is known by the responding | ||||
node. That is for P2MP MPLS TE LSPs when the echo request applies | ||||
to all egresses or to a specific single transit node or egress. | ||||
The format of the information in the Downstream Mapping TLV for | ||||
P2MP MPLS LSPs is described in section 3.3.5. | ||||
3.3.2. Traceroute Responses at Branch Nodes | ||||
A branch node may need to identify more than one downstream interface | ||||
in a traceroute echo response if some of the nodes identified in the | ||||
P2MP Responder Identifier TLV that are being traced lie on different | ||||
branches. This will always be the case for any branch node if all | ||||
egresses are being traced. | ||||
[RFC4379] describes how multiple Downstream Mapping TLVs should be | ||||
included in an echo response, each identifying exactly one downstream | ||||
interface that is applicable to the LSP. | ||||
A branch node MUST follow the procedures described in Section 3.3.1 | ||||
to determine whether it should respond to an echo request. The branch | ||||
node MUST add a Downstream Mapping TLV (or Downstream Detailed | ||||
Mapping TLV - see Section 3.3.7) to the echo response for each | ||||
outgoing branch that it reports, but it MUST NOT report branches that | ||||
do not lie on the path to one of the destinations being traced. Thus | ||||
a branch node may sometimes only need to respond with a single | ||||
Downstream Mapping TLV; for example, consider the case where the | ||||
traceroute is directed to only a single egress node. Therefore, | ||||
the presence of only one Downstream Mapping TLV in an echo response | ||||
does not guarantee that the reporting node is not a branch node. | ||||
To report on its branching properties on a particular LSP, the | ||||
responding node MAY include an optional TLV called the Node | ||||
Properties TLV. This new TLV (see Section 3.3.2.1) can carry sub- | ||||
TLVs, one of which (the Branching Properties sub-TLV - see Section | ||||
3.3.2.2) allows the reporting node to describe the branching | ||||
characteristics of the LSP at the reporting node. | ||||
3.3.2.1. Node Properties TLV | ||||
A new TLV has been added to the set of optional TLVs that may be | ||||
carried on an echo response message. | ||||
Type # Value Field | ||||
------ ------------ | ||||
TBD Node properties | ||||
The Node Properties TLV MAY be included in an echo response message. | ||||
If more than one such TLV is present, the first MUST be processed and | ||||
subsequent instances SHOULD be ignored. | ||||
The Node Properties TLV is used to report characteristics of the | ||||
reporting node, and the LSP at that node. This distinguishes it from | ||||
the Downstream Mapping TLV [RFC4379] and the Downstream Detailed | ||||
Mapping TLV [DDMT] used to report characteristics of specific out- | ||||
segments an LSP. | ||||
The Node Properties TLV is a standard LSP Ping TLV as defined in | ||||
[RFC4379]. It has the following format. | ||||
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 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
: : | ||||
: First Sub-TLV : | ||||
: : | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
~ ~ | ||||
~ Further Sub-TLVs ~ | ||||
~ ~ | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
The content of the Node Properties TLV is a series of one or more | ||||
sub-TLVs. The Nore Properties TLV SHOULD contain one or more sub-TLVs | ||||
and MUST be ignored if there are no sub-TLVs present. | ||||
Each sub-TLV consists of the following fields as per [RFC4379]: | ||||
- Two octet Type field: A value indicating the sub-TLV type. | ||||
- Two octet Length field: A value indicating the total length of the | ||||
Value field. | ||||
- A Value field carrying the data of the sub-TLV. The content of the | ||||
Value field is padded to a four byte boundary with zero-filled | ||||
octets so that the Length field is always a multiple of 4. | ||||
3.3.2.2. Branching Properties Sub-TLV | ||||
This document defines the Branching Properties sub-TLV carried in the | ||||
Node Properties TLV. The Branching Properties sub-TLV is optional. If | ||||
more than one such sub-TLV is found in a Node Properties TLV, the | ||||
first MUST be processed and subsequent instances SHOULD be ignored. | ||||
The sub-TLV may be used for P2MP and P2P LSPs. | ||||
The Branching Properties sub-TLV is formed as described in Section | ||||
3.3.2.1. The Value field has the following format. | ||||
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 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Downstream Branch Count | Egress Count | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
Downstream Branch Count | ||||
This field reports the number of downstream branches from the | ||||
reporting node for this LSP. The number may be zero for an egress, | ||||
one for a non-branch node, and more than one for a branch node. | ||||
Note that the value reported here may be greater than the number | ||||
of Downstream Mapping TLVs present in the echo response message | ||||
since those TLVs only report on the specific egresses queried. This | ||||
value may be of use in detecting faults caused by delay introduced | ||||
by the data replication mechanism at branch nodes. | ||||
Egress Count | ||||
This field reports the number of egresses local to the reporting | ||||
node. Thus, for non-zero values the reporting node is either a leaf | ||||
or a bud. When the value reported is non-zero, the reporting node | ||||
MAY also include an Egress Address Sub-TLV for each local egress | ||||
(see Section 3.3.2.3). | ||||
For example, a branch node that has two downstream next hops on the | ||||
LSP and that also delivers payload data to one local egress would set | ||||
the two fields to 2 and 1 respectively. | ||||
3.3.2.3. Egress Address Sub-TLV | ||||
This document defines the IPv4 and IPv6 Egress Address sub-TLVs | ||||
carried in the Node Properties TLV. These TLVs are optional, and more | ||||
than one instance of the sub-TLVs may legitimately be present. | ||||
The Egress Address sub-TLVs are formed as described in Section | ||||
3.3.2.1. The Value field has the following formats. | ||||
IPv4 Egress Address Sub-TLV | ||||
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 Egress Address | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
IPv6 Egress Address Sub-TLV | ||||
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 Egress Address | | ||||
| (16 octets) | | ||||
| | | ||||
| | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
The Egress Address sub-TLVs are optional. They MAY be included in a | ||||
Node Properties TLV when reporting node is an egress (leaf or bud) | ||||
for the LSP being tested. The sub-TLV may be used for P2MP and P2P | ||||
LSPs. | ||||
When one or more Egress Address sub-TLVs are present and the Branch | ||||
Properties sub-TLV is also present, the value of the Egress Count | ||||
field in the Branch Properties sub-TLV SHOULD be the same as the | ||||
number of Egress Address sub-TLVs. | ||||
The address contained in an Egress Address sub-TLV is the egress | ||||
address to which the data is delivered. If there is just one egress | ||||
and if the egress address is the same as the local node address | ||||
carried in the main echo response message, both the Branching | ||||
Properties sub-TLV and the Egress Address sub-TLV MAY be omitted as | ||||
in legacy LSP Ping implementations. | ||||
3.3.2.4. Correlating Traceroute Responses | ||||
Just as with non-branches, it is important that the echo responses | ||||
from branch nodes provide correlation information that will allow the | ||||
ingress to work out to which branch of the LSP the response applies. | ||||
The P2MP tree can be determined by the ingress using the identity of | ||||
the reporting node and the next hop information from the previous | ||||
echo response, just as with echo responses from non-branch nodes. | ||||
As with non-branch nodes, in order to facilitate more easy | ||||
correlation of echo responses, the Downstream Mapping TLV can also | ||||
contain Multipath Information as described in [RFC4379] to identify | ||||
to which nodes the echo response applies. This information: | ||||
- Cannot be present when the information is not known by the | ||||
responding node. For example, for a multicast LDP LSP, the branch | ||||
node will not know through normal LDP signaling which leaf nodes | ||||
lie on which downstream branch. | ||||
- SHOULD be present when the information is known by the responding | ||||
node. That is for P2MP MPLS TE LSPs when the echo request applies | ||||
to all egresses or to a specific single transit node or egress. | ||||
The format of the information in the Downstream Mapping TLV for | ||||
P2MP MPLS LSPs is described in section 3.3.5. | ||||
3.3.3. Traceroute Responses at Bud Nodes | ||||
Some nodes on a P2MP MPLS LSP may be egresses, but also have | ||||
downstream node. Such nodes are known as bud nodes [RFC4461]. | ||||
A bud node MUST respond to a traceroute echo request just as a branch | ||||
node would, but it MUST also indicate to the ingress that it is an | ||||
egress in its own right. The issue to be resolved here is how to | ||||
indicate that the reporting node is an egress when it is also | ||||
providing one or more Downstream Mapping TLVs that indicate that it | ||||
has downstream neighbors. | ||||
This is achieved by the inclusion of a Node Properties TLV with a | ||||
Branch Properties sub-TLV indicating the number of local egresses and | ||||
the number of downstream branches. The bud node MAY also include one | ||||
or more Egress Address sub-TLVs in the Node Properties TLV to report | ||||
on the local egresses. | ||||
3.3.4. Non-Response to Traceroute Echo Requests | ||||
The nature of P2MP MPLS TE LSPs in the data plane means that | ||||
traceroute echo requests may be delivered to the control plane of | ||||
nodes that must not reply to the request because, although they lie | ||||
on the P2MP tree, they do not lie on the path to the node that is | ||||
being traced. | ||||
Thus, a node on a P2MP MPLS LSP MUST NOT respond to an echo request | ||||
when the TTL has expired if any of the following applies: | ||||
- The Reply Type indicates that no reply is required [RFC4379] | When traceroute is simultaneously applied to multiple responders | |||
(e.g. egresses), it is important that the ingress is able to | ||||
correlate the echo responses with the nodes in the P2MP tree. Without | ||||
this information the ingress will be unable to determine the correct | ||||
ordering of transit nodes. One possibility is for the ingress to poll | ||||
the path to each responder in turn, but this may be inefficient, | ||||
undesirable, or (in the case of multicast LDP LSPs) illegal. | ||||
- There is a P2MP Responder Identifier TLV present on the echo | The Downstream Detailed Mapping TLV MUST be included in the echo | |||
request (which means that the LSP is a P2MP MPLS TE LSP), but the | response from transit, bud, or branch nodes. The information from | |||
address does not identify a node that is reached through this node | Downstream Detailed Mapping TLV can be pieced together by the ingress | |||
for this particular P2MP MPLS LSP. | to reconstruct the P2MP tree although it may be necessary to refer to | |||
the routing information distributed by the IGP to correlate next hop | ||||
addresses and node reporting addresses in subsequent echo responses. | ||||
Note that when no response to an echo request is received by the | The following sections describe the Return Code used in the echo | |||
ingress (perhaps because the transit node has failed, or perhaps | response header and in the Downstream Detailed Mapping TLV. It is | |||
because the transit node does not support LSP Ping), then as per | possible to identify the type of node (transit, branch, bud and | |||
[RFC4379] the subsequent echo request (with a larger TTL) SHOULD be | egress) by using various values in the Return Code and presence of | |||
sent with Downstream Mapping TLV "Downstream IP Address" field set to | Downstream Detailed Mapping TLV. | |||
the ALLROUTERs multicast address until a reply is received with a | ||||
Downstream Mapping TLV. | ||||
3.3.5. Additions to Downstream Mapping Multipath Information | 3.3.2. Traceroute Responses at Transit Nodes | |||
A new value for the Multipath Type is defined to indicate that the | When the TTL of the MPLS packet carrying an echo request expires the | |||
reported Multipath Information applies to a P2MP MPLS TE LSP and may | packet MUST be passed to the control plane as specified in [RFC4379]. | |||
contain a list of node identifiers that indicate the egress nodes and | ||||
(in the case where the P2MP Responder Identifier TLV was used on the | ||||
echo request to identify non-egress nodes) transit nodes that can be | ||||
reached through the reported interface. This Multipath Type MUST NOT | ||||
be used for a multicast LDP LSP. | ||||
Type # Address Type Multipath Information | If the echo request packet contains an IPv4 or IPv6 Egress Address | |||
--- ---------------- ------------------------------ | P2MP Responder Identifier TLV, and the FEC is IPv4 or IPv6 P2MP TE | |||
TBD P2MP responders List of reachable P2MP nodes | LSP, then the node MUST respond only if the node lies on the path to | |||
the egress specified in the Sub-TLV. | ||||
Note that a list of nodes may include IPv4 and IPv6 identifiers since | If the LSP under test is a multicast LDP LSP and echo request has an | |||
these may be mixed in the P2MP MPLS TE LSP. | IPv4 or IPv6 Egress Address P2MP Responder Identifier TLV, then the | |||
node MUST treat the echo request as malformed and MUST process it | ||||
according to the rules specified in [RFC4379]. | ||||
The Multipath Length field continues to identify the length of the | If the echo response being sent is not indicating an error condition, | |||
Multipath Information just as in [RFC4379] (that is, not including | such as Malformed request, it MUST identify the next hop of the path | |||
the downstream labels), and the downstream label (or potential stack | of the LSP in the data plane by including a Downstream Detailed | |||
thereof) is also handled just as in [RFC4379]. The format of the | Mapping TLV as described in [DDMT]. | |||
Multipath Information for a Multipath Type of P2MP responders is as | ||||
follows. | ||||
0 1 2 3 | The Return Code in echo response header will be value TBD ('See DDM | |||
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 | TLV for Return Code and Return SubCode') as defined in [DDMT]. The | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Return Code for the Downstream Detailed Mapping TLV will depend on | |||
| Address Type | Responder Address (4 or 16 octets) | | the state of the output interface. | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| (continued) | : | ||||
+-+-+-+-+-+-+-+-+ : | ||||
: Further Address Types and Responder Addresses : | ||||
: : | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
Address Type | 3.3.3. Traceroute Responses at Branch Nodes | |||
This field indicates whether the address that follows is an IPv4 | A branch node MUST follow the procedures described in Section 3.3.2 | |||
or IPv6 address, and so implicitly encodes the length of the | to determine whether it should respond to an echo request. | |||
address. | ||||
Two values are defined and mirror the values used in the Address | If the P2MP Responder Identifier is not present or does not contain | |||
Type field of the Downstream Mapping TLV itself. | any Sub-TLV (that is, if all egresses are being traced), then the | |||
branch node MUST add a Downstream Detailed Mapping TLV to the echo | ||||
response for each outgoing branch that it reports. | ||||
Type # Address Type | If an IPv4 or IPv6 Egress Address P2MP Responder Identifier is | |||
------ ------------ | present, it MUST report only the branch that is on the path to the | |||
1 IPv4 | specified egress node and it MUST NOT report the other branches. | |||
3 IPv6 | ||||
Responder Address | The Return Code in echo response header will be value TBD ('See DDM | |||
TLV for Return Code and Return SubCode') as defined in [DDMT]. The | ||||
Return Code for each of the Downstream Detailed Mapping TLV will | ||||
depend on the state of the output interface being reported in this | ||||
TLV. | ||||
An egress or transit node of this P2MP MPLS TE LSP that is | 3.3.4. Traceroute Responses at Egress Nodes | |||
reached through the interface indicated by the Downstream | ||||
Mapping TLV and for which the traceroute echo request was | ||||
enquiring. | ||||
Note that padding to ensure that the whole Multipath information is | If P2MP Responder Identifier is not present or does not contain any | |||
aligned to a four-octet boundary is applied only after the last | Sub-TLV (that is, if all egresses are being traced), then the egress | |||
responder address in the list. That is, each successive Address Type | node MUST respond to the echo request. | |||
follows on immediately after the previous Responder Address. | ||||
3.3.6. Echo Response Reporting | If an IPv4 or IPv6 Egress Address P2MP Responder Identifier is | |||
present, it MUST respond only if the specified address belongs the | ||||
egress node. | ||||
Echo responses are generated in response to traceroute echo requests | Egress node MUST NOT return a Downstream Detailed Mapping TLV. | |||
at transit, branch, and bud nodes as described in Sections 3.3.1, | ||||
3.3.2, and 3.3.3, while egress responses are as described in | The Return Code in the echo response header will be value 3 ('Replying | |||
router is an egress for the FEC at stack-depth <RSC>') as defined in | ||||
[RFC4379]. | [RFC4379]. | |||
Note, however, that a branch or bud node may have multiple downstream | 3.3.5. Traceroute Responses at Bud Nodes | |||
branches, and a transit node may have multiple downstream egresses | ||||
(reached on the same branch). It may be the case that different | ||||
conditions need to be reported for different branches or egresses. | ||||
The echo response message defined in [RFC4379] has space for only a | ||||
single return code and subcode pair, so where more than one return | ||||
condition is reported by a single node it acts as follows. | ||||
- It SHOULD use the Downstream Detailed Mapping TLV [DDMT] in place | ||||
of the Downstream Mapping TLV, and encode the return code as | ||||
described in Section 3.3.6.1. | ||||
- It MAY report each condition in a separate echo response in which | ||||
case MUST limit the downstream mapping information on each echo | ||||
response to those branches/egresses to which the response applies. | ||||
The use of multiple echo response messages to report errors might | ||||
cause issues for an initiator that does not know how many responses | ||||
it should wait for. For that reason, multiple messages should be | ||||
used with care. | ||||
3.3.6.1. Reporting Multiple Conditions Using The DDM TLV | ||||
When multiple different return codes are indicated on a single echo | ||||
response message they MUST be carried in separate instances on the | ||||
Downstream Detailed Mapping (DDM) TLV [DDMT]. That is, each instance | ||||
of a DDM TLV carries one return code, and all information carried in | ||||
that TLV MUST be limited to branches/egresses to which that return | ||||
code applies. However, more than one DDM TLV on the same echo | ||||
response MAY carry the same return code. | ||||
The echo response message still carries a Return Code and a Return | ||||
Subcode field. In order to clearly indicate that the relevant return | ||||
codes are carried in the DDM TLV, a new return code is defined to be | ||||
carried in the Return Code field of the echo response message as | ||||
follows: | ||||
Value Meaning | ||||
----- ------- | ||||
TBD See DDM TLV for more details | ||||
The Return Subcode for this Return Code MUST be set to zero and | ||||
MUST be ignored. | ||||
The DDM TLV is defined as carrying a set of sub-TLVs. A new sub-TLV, | ||||
the Return Code sub-TLV, is defined here to carry a return code and | ||||
return subcode. | ||||
0 1 2 3 | Some nodes on a P2MP MPLS LSP may be an egress as well as a branch | |||
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 | (i.e. have one or more downstream nodes). Such nodes are known as bud | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | nodes [RFC4461]. A bud node's response is a combination of branch | |||
| Return Code | Return Subcode| Reserved | | node and egress node behavior. | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
The length of the Return Code sub-TLV is 8. | If P2MP Responder Identifier is not present or does not contain any | |||
Sub-TLV (that is, if all egresses are being traced), then the bud | ||||
node MUST respond to the echo request. It MUST add a Downstream | ||||
Detailed Mapping TLV to the echo response for each outgoing branch | ||||
that it reports. The Return Code in the echo response header will be | ||||
value 3 ('Replying router is an egress for the FEC at stack-depth | ||||
<RSC>') as defined in [RFC4379]. The Return Code for each of the | ||||
Downstream Detailed Mapping TLV will depend on the state of the | ||||
output interface being reported in this TLV. | ||||
Return Code | If an IPv4 or IPv6 Egress Address P2MP Responder Identifier is | |||
As defined for inclusion in the echo response message in [RFC4379]. | present, and the specified address belongs the bud node, then it MUST | |||
respond as if it were an egress node. The Return Code in the echo | ||||
response header will be value 3 ('Replying router is an egress for | ||||
the FEC at stack-depth <RSC>') as defined in [RFC4379]. It MUST NOT | ||||
report any Downstream Detailed Mapping TLV. | ||||
Return Subcode | If an IPv4 or IPv6 Egress Address P2MP Responder Identifier is | |||
As defined for inclusion in the echo response message in [RFC4379]. | present, and the bud node lies on the path to the specified egress | |||
address, then it MUST respond as if it was a branch node. The Return | ||||
Code in the echo response header will be value TBD ('See DDM TLV for | ||||
Return Code and Return SubCode') as defined in [DDMT]. The Return | ||||
Code for each of the Downstream Detailed Mapping TLV will depend on | ||||
the state of the output interface being reported in this TLV. | ||||
Reserved | 3.3.6. Non-Response to Traceroute Echo Requests | |||
SHOULD be set to zero on transmission and MUST be ignored on | ||||
receipt. | ||||
If the Return Code of the echo response message is not set to "See | There are multiple reasons for which an ingress node may not receive | |||
DDM TLV for more details" then any Return Code sub-TLV present in a | a response to its echo request. For example, perhaps because the | |||
DDM TLV SHOULD be ignored. | transit node has failed, or perhaps because the transit node does not | |||
support LSP Ping, or the Responder Identifier TLV failed to match a | ||||
valid node. | ||||
If the Return Code of the echo response message is set to "See DDM | When no response to an echo request is received by the ingress, then | |||
TLV for more details" then a Return Code sub-TLV MUST be present in | as per [RFC4379] the subsequent echo request with a larger TTL SHOULD | |||
each DDM TLV. Subsequent Return Code sub-TLVs present in the same DDM | be sent. | |||
TLV SHOULD be ignored. | ||||
4. Operation of LSP Ping for Bootstrapping Other OAM Mechanisms | 3.3.7 Use of Downstream Detailed Mapping TLV in Echo Request | |||
Bootstrapping of other OAM procedures can be achieved using the | If no Responder Identifier TLV is being used, then in the Echo | |||
MPLS Echo Request/Response messages. The LSP(s) under test are | Request packet, the "Downstream IP Address" field, of the Downstream | |||
identified using the RSVP P2MP IPv4 or IPv6 Session sub-TLVs | Detailed Mapping TLV, MUST be set to the ALLROUTERs multicast | |||
(see Section 3.1.1) or the Multicast LDP FEC Stack sub-TLV | address. | |||
(see Section 3.1.2). | ||||
Other sub-TLVs may be defined in other specifications to indicate | If a Responder Identifier TLV is being used, then the Echo Request | |||
the OAM procedures being bootstrapped, and to describe the bootstrap | packet MAY reuse a received Downstream Detailed Mapping TLV. | |||
parameters. Further details of the bootstrapping processes and the | ||||
bootstrapped OAM processes are described in other documents. For | ||||
example, see [MPLS-BFD] and [MCAST-CV]. | ||||
5. Non-compliant Routers | 4. Non-compliant Routers | |||
If an egress for a P2MP LSP does not support MPLS LSP ping, then no | If an egress for a P2MP LSP does not support MPLS LSP ping, then no | |||
reply will be sent, resulting in a "false negative" result. There is | reply will be sent, resulting in a "false negative" result. There is | |||
no protection for this situation, and operators may wish to ensure | no protection for this situation, and operators may wish to ensure | |||
that end points for P2MP LSPs are all equally capable of supporting | that end points for P2MP LSPs are all equally capable of supporting | |||
this function. Alternatively, the traceroute option can be used to | this function. Alternatively, the traceroute option can be used to | |||
verify the LSP nearly all the way to the egress, leaving the final | verify the LSP nearly all the way to the egress, leaving the final | |||
hop to be verified manually. | hop to be verified manually. | |||
If, in "traceroute" mode, a transit node does not support LSP ping, | If, in "traceroute" mode, a transit node does not support LSP ping, | |||
then no reply will be forthcoming from that node for some TTL, say n. | then no reply will be forthcoming from that node for some TTL, say n. | |||
The node originating the echo request SHOULD continue to send echo | The node originating the echo request SHOULD continue to send echo | |||
request with TTL=n+1, n+2, ..., n+k to probe nodes further down the | request with TTL=n+1, n+2, ..., n+k to probe nodes further down the | |||
path. In such a case, the echo request for TTL > n SHOULD be sent | path. In such a case, the echo request for TTL > n SHOULD be sent | |||
with Downstream Mapping TLV "Downstream IP Address" field set to the | with Downstream Detailed Mapping TLV "Downstream IP Address" field | |||
ALLROUTERs multicast address as described in Section 3.3.4 until a | set to the ALLROUTERs multicast address as described in Section 3.3.4 | |||
reply is received with a Downstream Mapping TLV. | until a reply is received with a Downstream Detailed Mapping TLV. | |||
6. OAM Considerations | ||||
5. OAM Considerations | ||||
The procedures in this document provide OAM functions for P2MP MPLS | The procedures in this document provide OAM functions for P2MP MPLS | |||
LSPs and may be used to enable bootstrapping of other OAM procedures. | LSPs and may be used to enable bootstrapping of other OAM procedures. | |||
In order to be fully operational several considerations must be made. | In order to be fully operational several considerations must be made. | |||
- Scaling concerns dictate that only cautious use of LSP Ping should | - Scaling concerns dictate that only cautious use of LSP Ping should | |||
be made. In particular, sending an LSP Ping to all egresses of a | be made. In particular, sending an LSP Ping to all egresses of a | |||
P2MP MPLS LSP could result in congestion at or near the ingress | P2MP MPLS LSP could result in congestion at or near the ingress | |||
when the responses arrive. | when the responses arrive. | |||
skipping to change at page 27, line 5 | skipping to change at page 21, line 33 | |||
Such an interface SHOULD also provide the ability to disable all | Such an interface SHOULD also provide the ability to disable all | |||
active LSP Ping operations to provide a quick escape if the network | active LSP Ping operations to provide a quick escape if the network | |||
becomes congested. | becomes congested. | |||
- A MIB module is required for the control and management of LSP Ping | - A MIB module is required for the control and management of LSP Ping | |||
operations, and to enable the reported information to be inspected. | operations, and to enable the reported information to be inspected. | |||
There is no reason to believe this should not be a simple extension | There is no reason to believe this should not be a simple extension | |||
of the LSP Ping MIB module used for P2P LSPs. | of the LSP Ping MIB module used for P2P LSPs. | |||
7. IANA Considerations | 6. IANA Considerations | |||
7.1. New Sub-TLV Types | 6.1. New Sub-TLV Types | |||
Three new sub-TLV types are defined for inclusion within the LSP Ping | Three new sub-TLV types are defined for inclusion within the LSP Ping | |||
[RFC4379] Target FEC Stack TLV (TLV type 1). | [RFC4379] Target FEC Stack TLV (TLV type 1). | |||
IANA is requested to assign sub-type values to the following | IANA is requested to assign sub-type values to the following | |||
sub-TLVs from the "Multiprotocol Label Switching Architecture (MPLS) | sub-TLVs from the "Multiprotocol Label Switching Architecture (MPLS) | |||
Label Switched Paths (LSPs) Parameters - TLVs" registry, "TLVs and | Label Switched Paths (LSPs) Parameters - TLVs" registry, "TLVs and | |||
sub-TLVs" sub-registry. | sub-TLVs" sub-registry. | |||
RSVP P2MP IPv4 Session (see Section 3.1.1). Suggested value 17. | RSVP P2MP IPv4 Session (see Section 3.1.1). Suggested value 17. | |||
RSVP P2MP IPv6 Session (see Section 3.1.1). Suggested value 18. | RSVP P2MP IPv6 Session (see Section 3.1.1). Suggested value 18. | |||
Multicast LDP FEC Stack (see Section 3.1.2). Suggested value 19. | Multicast P2MP LDP FEC Stack (see Section 3.1.2). Suggested value 19. | |||
Multicast MP2MP LDP FEC Stack (see Section 3.1.2). Suggested value 20. | ||||
7.2. New Multipath Type | ||||
Section 3.3 of [RFC4379] defines a set of values for the LSP Ping | ||||
Multipath Type. These values are currently not tracked by IANA. | ||||
A new value for the LSP Ping Multipath Type is defined in Section | ||||
3.3.5 of this document to indicate that the reported Multipath | ||||
Information applies to a P2MP MPLS TE LSP. | ||||
IANA is requested to create a new registry as follows: | ||||
"Multiprotocol Label Switching Architecture (MPLS) Label Switched | ||||
Paths (LSPs) - Multipath Types" | ||||
Key Type Multipath Information | ||||
--- ---------------- --------------------- | ||||
0 no multipath Empty (Multipath Length = 0) [RFC4379] | ||||
2 IP address IP addresses [RFC4379] | ||||
4 IP address range low/high address pairs [RFC4379] | ||||
8 Bit-masked IP IP address prefix and bit mask [RFC4379] | ||||
address set | ||||
9 Bit-masked label set Label prefix and bit mask [RFC4379] | ||||
xx P2MP responder IP List of P2MP responders [thisDoc] | ||||
addresses | ||||
A suggested value of xx is 16. | ||||
New values from this registry are to be assigned only by Standards | ||||
Action. | ||||
7.3. New TLVs | 6.2. New TLVs | |||
Three new LSP Ping TLV types are defined for inclusion in LSP Ping | Two new LSP Ping TLV types are defined for inclusion in LSP Ping | |||
messages. | messages. | |||
IANA is requested to assign a new value from the "Multi-Protocol | IANA is requested to assign a new value from the "Multi-Protocol | |||
Label Switching Architecture (MPLS) Label Switched Paths (LSPs) | Label Switching Architecture (MPLS) Label Switched Paths (LSPs) | |||
Parameters - TLVs" registry, "TLVs and sub-TLVs" sub-registry as | Parameters - TLVs" registry, "TLVs and sub-TLVs" sub-registry as | |||
follows using a Standards Action value. | follows using a Standards Action value. | |||
P2MP Responder Identifier TLV (see Section 3.2.4) is a mandatory | ||||
TLV. Suggested value 11. | ||||
Two sub-TLVs are defined | P2MP Responder Identifier TLV (see Section 3.2.4) is a mandatory | |||
- Type 1: IPv4 P2MP Responder Identifier (see Section 3.2.4) | TLV. Suggested value 11. Four sub-TLVs are defined. | |||
- Type 2: IPv6 P2MP Responder Identifier (see Section 3.2.4) | - Type 1: IPv4 Egress Address P2MP Responder Identifier | |||
- Type 2: IPv6 Egress Address P2MP Responder Identifier | ||||
- Type 3: IPv4 Node Address P2MP Responder Identifier | ||||
- Type 4: IPv6 Node Address P2MP Responder Identifier | ||||
Echo Jitter TLV (see Section 3.2.5) is a mandatory TLV. Suggested | Echo Jitter TLV (see Section 3.2.5) is a mandatory TLV. Suggested | |||
value 12. | value 12. | |||
Node Properties TLV (see Section 3.2.2.1) is an optional TLV. | 7. Security Considerations | |||
Suggested value 32768. | ||||
Three sub-TLVs are defined | ||||
- Type 1: IPv4 Egress Address | ||||
- Type 2: IPv6 Egress Address | ||||
- Type 3: Branch Properties | ||||
7.4. New Return Code | ||||
A new Return Code is defined in Section 3.3.6.1. | ||||
IANA is requested to assign a new Return Code value for the "Multi- | ||||
Protocol Label Switching (MPLS) Label Switched Paths (LSPs) | ||||
Parameters" registry, "Return Codes" sub-registry as follows using a | ||||
Standards Action value. | ||||
Value Meaning | ||||
----- ------- | ||||
TBD See DDM TLV for more details | ||||
Suggested value 14. | ||||
7.5. New Sub-TLV Value for the Downstream Detailed Mapping TLV | ||||
[DDMT] defines a TLV called the Downstream Detailed Mapping TLV and | ||||
requests IANA to maintain a registry of sub-TLVs that it can carry. | ||||
Section 3.3.6.1 of this document defines a new sub-TLV. | ||||
IANA is requested to assign a TLV type value as follows using a | ||||
Standards Action value from the range 0-32767. | ||||
Sub-Type Value Field | ||||
--------- ------------ | ||||
TBD Return Code | ||||
8. Security Considerations | ||||
This document does not introduce security concerns over and above | This document does not introduce security concerns over and above | |||
those described in [RFC4379]. Note that because of the scalability | those described in [RFC4379]. Note that because of the scalability | |||
implications of many egresses to P2MP MPLS LSPs, there is a | implications of many egresses to P2MP MPLS LSPs, there is a | |||
stronger concern to regulate the LSP Ping traffic passed to the | stronger concern to regulate the LSP Ping traffic passed to the | |||
control plane by the use of a rate limiter applied to the LSP Ping | control plane by the use of a rate limiter applied to the LSP Ping | |||
well-known UDP port. Note that this rate limiting might lead to | well-known UDP port. Note that this rate limiting might lead to | |||
false positives. | false positives. | |||
9. Acknowledgements | 8. Acknowledgements | |||
The authors would like to acknowledge the authors of [RFC4379] for | The authors would like to acknowledge the authors of [RFC4379] for | |||
their work which is substantially re-used in this document. Also | their work which is substantially re-used in this document. Also | |||
thanks to the members of the MBONED working group for their review | thanks to the members of the MBONED working group for their review | |||
of this material, to Daniel King and Mustapha Aissaoui for their | of this material, to Daniel King and Mustapha Aissaoui for their | |||
review, and to Yakov Rekhter for useful discussions. | review, and to Yakov Rekhter for useful discussions. | |||
The authors would like to thank Vanson Lim, Danny Prairie, Reshad | The authors would like to thank Vanson Lim, Danny Prairie, Reshad | |||
Rahman, Ben Niven-Jenkins, Hannes Gredler, Nitin Bahadur, Tetsuya | Rahman, Ben Niven-Jenkins, Hannes Gredler, Nitin Bahadur, Tetsuya | |||
Murakami and Michael Hua for their comments and suggestions. | Murakami, Michael Hua, Michael Wildt, Dipa Thakkar and IJsbrand | |||
Wijnands for their comments and suggestions. | ||||
10. Intellectual Property Considerations | ||||
The IETF takes no position regarding the validity or scope of any | ||||
Intellectual Property Rights or other rights that might be claimed to | ||||
pertain to the implementation or use of the technology described in | ||||
this document or the extent to which any license under such rights | ||||
might or might not be available; nor does it represent that it has | ||||
made any independent effort to identify any such rights. Information | ||||
on the procedures with respect to rights in RFC documents can be | ||||
found in BCP 78 and BCP 79. | ||||
Copies of IPR disclosures made to the IETF Secretariat and any | ||||
assurances of licenses to be made available, or the result of an | ||||
attempt made to obtain a general license or permission for the use of | ||||
such proprietary rights by implementers or users of this | ||||
specification can be obtained from the IETF on-line IPR repository at | ||||
http://www.ietf.org/ipr. | ||||
The IETF invites any interested party to bring to its attention any | 9. References | |||
copyrights, patents or patent applications, or other proprietary | ||||
rights that may cover technology that may be required to implement | ||||
this standard. Please address the information to the IETF at ietf- | ||||
ipr@ietf.org. | ||||
11. 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 Swallow, G., "Detecting Multi-Protocol | [RFC4379] Kompella, K., and Swallow, G., "Detecting Multi-Protocol | |||
Label Switched (MPLS) Data Plane Failures", RFC 4379, | Label Switched (MPLS) Data Plane Failures", RFC 4379, | |||
February 2006. | February 2006. | |||
[DDMT] Bahadur, N., Kompella, K., and Swallow, G., "Mechanism | [DDMT] Bahadur, N., Kompella, K., and Swallow, G., "Mechanism | |||
for Performing LSP-Ping over MPLS Tunnels", draft-ietf- | for Performing LSP-Ping over MPLS Tunnels", draft-ietf- | |||
mpls-lsp-ping-enhanced-dsmap, work in progress. | mpls-lsp-ping-enhanced-dsmap, work in progress. | |||
12. Informative References | 9.2 Informative References | |||
[RFC792] Postel, J., "Internet Control Message Protocol", RFC 792. | [RFC792] Postel, J., "Internet Control Message Protocol", RFC 792. | |||
[RFC4461] Yasukawa, S., "Signaling Requirements for Point to | [RFC4461] Yasukawa, S., "Signaling Requirements for Point to | |||
Multipoint Traffic Engineered Multiprotocol Label | Multipoint Traffic Engineered Multiprotocol Label | |||
Switching (MPLS) Label Switched Paths (LSPs)", | Switching (MPLS) Label Switched Paths (LSPs)", | |||
RFC 4461, April 2006. | RFC 4461, April 2006. | |||
[RFC4687] Yasukawa, S., Farrel, A., King, D., and Nadeau, T., | [RFC4687] Yasukawa, S., Farrel, A., King, D., and Nadeau, T., | |||
"Operations and Management (OAM) Requirements for | "Operations and Management (OAM) Requirements for | |||
skipping to change at page 31, line 11 | skipping to change at page 24, line 21 | |||
[BFD] Katz, D., and Ward, D., "Bidirectional Forwarding | [BFD] Katz, D., and Ward, D., "Bidirectional Forwarding | |||
Detection", draft-ietf-bfd-base, work in progress. | Detection", draft-ietf-bfd-base, work in progress. | |||
[MPLS-BFD] Aggarwal, R., Kompella, K., Nadeau, T., and Swallow, G., | [MPLS-BFD] Aggarwal, R., Kompella, K., Nadeau, T., and Swallow, G., | |||
"BFD For MPLS LSPs", draft-ietf-bfd-mpls, work in | "BFD For MPLS LSPs", draft-ietf-bfd-mpls, work in | |||
progress. | progress. | |||
[IANA-PORT] IANA Assigned Port Numbers, http://www.iana.org | [IANA-PORT] IANA Assigned Port Numbers, http://www.iana.org | |||
13. Authors' Addresses | 10. Authors' Addresses | |||
Seisho Yasukawa | Seisho Yasukawa | |||
NTT Corporation | NTT Corporation | |||
(R&D Strategy Department) | (R&D Strategy Department) | |||
3-1, Otemachi 2-Chome Chiyodaku, Tokyo 100-8116 Japan | 3-1, Otemachi 2-Chome Chiyodaku, Tokyo 100-8116 Japan | |||
Phone: +81 3 5205 5341 | Phone: +81 3 5205 5341 | |||
Email: s.yasukawa@hco.ntt.co.jp | Email: s.yasukawa@hco.ntt.co.jp | |||
Adrian Farrel | Adrian Farrel | |||
Old Dog Consulting | Old Dog Consulting | |||
skipping to change at page 32, line 5 | skipping to change at page 25, line 11 | |||
Email: swallow@cisco.com | Email: swallow@cisco.com | |||
Thomas D. Nadeau | Thomas D. Nadeau | |||
British Telecom | British Telecom | |||
BT Centre | BT Centre | |||
81 Newgate Street | 81 Newgate Street | |||
EC1A 7AJ | EC1A 7AJ | |||
London | London | |||
Email: tom.nadeau@bt.com | Email: tom.nadeau@bt.com | |||
14. Full Copyright Statement | Shaleen Saxena | |||
Cisco Systems, Inc. | ||||
1414 Massachusetts Ave | ||||
Boxborough, MA 01719 | ||||
Email: ssaxena@cisco.com | ||||
Copyright (C) The IETF Trust (2008). | 11. Full Copyright Statement | |||
This document is subject to the rights, licenses and restrictions | Copyright (c) 2009 IETF Trust and the persons identified as the | |||
contained in BCP 78, and except as set forth therein, the authors | document authors. All rights reserved. | |||
retain all their rights. | ||||
This document and the information contained herein are provided on an | This document is subject to BCP 78 and the IETF Trust's Legal | |||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | Provisions Relating to IETF Documents in effect on the date of | |||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | publication of this document (http://trustee.ietf.org/license-info). | |||
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | Please review these documents carefully, as they describe your rights | |||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | and restrictions with respect to this document. | |||
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | ||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
End of changes. 83 change blocks. | ||||
664 lines changed or deleted | 367 lines changed or added | |||
This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |