draft-akiya-mpls-lsp-ping-lag-multipath-03.txt   draft-akiya-mpls-lsp-ping-lag-multipath-04.txt 
Internet Engineering Task Force N. Akiya Internet Engineering Task Force N. Akiya
Internet-Draft G. Swallow Internet-Draft G. Swallow
Updates: 4379,6424 (if approved) Cisco Systems Updates: 4379,6424 (if approved) Cisco Systems
Intended status: Standards Track S. Litkowski Intended status: Standards Track S. Litkowski
Expires: May 26, 2015 B. Decraene Expires: June 2, 2015 B. Decraene
Orange Orange
J. Drake J. Drake
Juniper Networks Juniper Networks
November 22, 2014 November 29, 2014
Label Switched Path (LSP) Ping/Trace Multipath Support for Label Switched Path (LSP) Ping/Trace Multipath Support for
Link Aggregation Group (LAG) Interfaces Link Aggregation Group (LAG) Interfaces
draft-akiya-mpls-lsp-ping-lag-multipath-03 draft-akiya-mpls-lsp-ping-lag-multipath-04
Abstract Abstract
This document defines an extension to the Multiprotocol Label This document defines an extension to the MPLS Label Switched Path
Switching (MPLS) Label Switched Path (LSP) Ping and Traceroute to (LSP) Ping and Traceroute as specified in RFC 4379. The extension
describe Multipath Information for Link Aggregation (LAG) member allows the MPLS LSP Ping and Traceroute to discover and exercise
links separately, thus allowing MPLS LSP Ping and Traceroute to specific paths of Layer 2 (L2) Equal-Cost Multipath (ECMP) over Link
discover and exercise specific paths of layer 2 (L2) Equal-Cost Aggregation Group (LAG) interfaces.
Multipath (ECMP) over LAG interfaces.
This document updates RFC4379 and RFC6424. This document updates RFC4379 and RFC6424.
Requirements Language Requirements Language
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].
Status of This Memo Status of This Memo
skipping to change at page 1, line 49 skipping to change at page 1, line 48
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on May 26, 2015. This Internet-Draft will expire on June 2, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 27 skipping to change at page 2, line 27
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Background . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Background . . . . . . . . . . . . . . . . . . . . . . . 3
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Mechanism to Discover L2 ECMP Multipath . . . . . . . . . . . 5 3. Mechanism to Discover L2 ECMP Multipath . . . . . . . . . . . 5
4. Mechanism to Validate L2 ECMP Traversal . . . . . . . . . . . 7 3.1. Initiator LSR Procedures . . . . . . . . . . . . . . . . 5
5. LAG Interface Info TLV . . . . . . . . . . . . . . . . . . . 9 3.2. Responder LSR Procedures . . . . . . . . . . . . . . . . 5
6. DDMAP TLV DS Flags: G . . . . . . . . . . . . . . . . . . . . 11 3.3. Additional Initiator LSR Procedures . . . . . . . . . . . 7
7. Interface Index Sub-TLV . . . . . . . . . . . . . . . . . . . 11 4. Mechanism to Validate L2 ECMP Traversal . . . . . . . . . . . 8
8. Detailed Interface and Label Stack TLV . . . . . . . . . . . 12 4.1. Initiator LSR Procedures . . . . . . . . . . . . . . . . 8
8.1. Sub-TLVs . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2. Responder LSR Procedures . . . . . . . . . . . . . . . . 9
8.1.1. Incoming Label Stack Sub-TLV . . . . . . . . . . . . 14 4.3. Additional Initiator LSR Procedures . . . . . . . . . . . 9
8.1.2. Incoming Interface Index Sub-TLV . . . . . . . . . . 15 5. LAG Interface Info TLV . . . . . . . . . . . . . . . . . . . 11
9. Security Considerations . . . . . . . . . . . . . . . . . . . 16 6. DDMAP TLV DS Flags: G . . . . . . . . . . . . . . . . . . . . 12
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 7. Interface Index Sub-TLV . . . . . . . . . . . . . . . . . . . 12
10.1. LAG Interface Info TLV . . . . . . . . . . . . . . . . . 16 8. Detailed Interface and Label Stack TLV . . . . . . . . . . . 13
10.2. Interface Index Sub-TLV . . . . . . . . . . . . . . . . 16 8.1. Sub-TLVs . . . . . . . . . . . . . . . . . . . . . . . . 15
10.3. Detailed Interface and Label Stack TLV . . . . . . . . . 17 8.1.1. Incoming Label Stack Sub-TLV . . . . . . . . . . . . 15
10.4. DS Flags . . . . . . . . . . . . . . . . . . . . . . . . 17 8.1.2. Incoming Interface Index Sub-TLV . . . . . . . . . . 16
10.5. New Sub-Registry . . . . . . . . . . . . . . . . . . . . 17 9. Security Considerations . . . . . . . . . . . . . . . . . . . 17
10.5.1. Sub-TLVs for TLV Type TBD3 . . . . . . . . . . . . . 17 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18 10.1. LAG Interface Info TLV . . . . . . . . . . . . . . . . . 17
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 10.1.1. LAG Interface Info Flags . . . . . . . . . . . . . . 18
12.1. Normative References . . . . . . . . . . . . . . . . . . 18 10.2. Interface Index Sub-TLV . . . . . . . . . . . . . . . . 18
12.2. Informative References . . . . . . . . . . . . . . . . . 18 10.2.1. Interface Index Flags . . . . . . . . . . . . . . . 18
Appendix A. LAG with L2 Switch Issues . . . . . . . . . . . . . 19 10.3. Detailed Interface and Label Stack TLV . . . . . . . . . 19
A.1. Equal Numbers of LAG Members . . . . . . . . . . . . . . 19 10.3.1. Sub-TLVs for TLV Type TBD3 . . . . . . . . . . . . . 19
A.2. Deviating Numbers of LAG Members . . . . . . . . . . . . 19 10.4. DS Flags . . . . . . . . . . . . . . . . . . . . . . . . 19
A.3. LAG Only on Right . . . . . . . . . . . . . . . . . . . . 19 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20
A.4. LAG Only on Left . . . . . . . . . . . . . . . . . . . . 19 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 12.1. Normative References . . . . . . . . . . . . . . . . . . 20
12.2. Informative References . . . . . . . . . . . . . . . . . 20
Appendix A. LAG with L2 Switch Issues . . . . . . . . . . . . . 21
A.1. Equal Numbers of LAG Members . . . . . . . . . . . . . . 21
A.2. Deviating Numbers of LAG Members . . . . . . . . . . . . 21
A.3. LAG Only on Right . . . . . . . . . . . . . . . . . . . . 21
A.4. LAG Only on Left . . . . . . . . . . . . . . . . . . . . 22
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
1. Introduction 1. Introduction
1.1. Terminology 1.1. Terminology
The following acronyms/terminologies are used in this document: The following acronyms/terminologies are used in this document:
o MPLS - Multiprotocol Label Switching. o MPLS - Multiprotocol Label Switching.
o LSP - Label Switched Path. o LSP - Label Switched Path.
o LSR - Label Switching Router. o LSR - Label Switching Router.
o ECMP - Equal-Cost Multipath. o ECMP - Equal-Cost Multipath.
o LAG - Link Aggregation. o LAG - Link Aggregation Group.
o Initiating LSR - LSR which sends MPLS echo request. o Initiator LSR - LSR which sends MPLS echo request.
o Responder LSR - LSR which receives MPLS echo request and sends o Responder LSR - LSR which receives MPLS echo request and sends
MPLS echo reply. MPLS echo reply.
1.2. Background 1.2. Background
The Multiprotocol Label Switching (MPLS) Label Switched Path (LSP) The MPLS Label Switched Path (LSP) Ping and Traceroute as specified
Ping and Traceroute [RFC4379] are powerful tools designed to diagnose in [RFC4379] are powerful tools designed to diagnose all available
all available layer 3 (L3) paths of LSPs, i.e. provides diagnostic layer 3 (L3) paths of LSPs, i.e. provides diagnostic coverage of L3
coverage of L3 Equal-Cost Multipath (ECMP). In many MPLS networks, Equal-Cost Multipath (ECMP). In many MPLS networks, Link Aggregation
Link Aggregation (LAG) as defined in [IEEE802.1AX], which provide Group (LAG) as defined in [IEEE802.1AX], which provide Layer 2 (L2)
layer 2 (L2) ECMP, are often used for various reasons. MPLS LSP Ping ECMP, are often used for various reasons. MPLS LSP Ping and
and Traceroute tools were not designed to discover and exercise Traceroute tools were not designed to discover and exercise specific
specific paths of L2 ECMP. Result raises a limitation for following paths of L2 ECMP. Result raises a limitation for following scenario
scenario when LSP X traverses over LAG Y: when LSP X traverses over LAG Y:
o MPLS switching of LSP X over one or more member links of LAG Y is o Label switching of LSP X over one or more member links of LAG Y is
succeeding. succeeding.
o MPLS switching of LSP X over one or more member links of LAG Y is o Label switching of LSP X over one or more member links of LAG Y is
failing. failing.
o MPLS echo request for LSP X over LAG Y is load balanced over a o MPLS echo request for LSP X over LAG Y is load balanced over a
member link which is MPLS switching successfully. member link which is label switching successfully.
With above scenario, MPLS LSP Ping and Traceroute will not be able to With above scenario, MPLS LSP Ping and Traceroute will not be able to
detect the MPLS switching failure of problematic member link(s) of detect the MPLS switching failure of problematic member link(s) of
the LAG. In other words, lack of L2 ECMP discovery and exercise the LAG. In other words, lack of L2 ECMP discovery and exercise
capability can produce an outcome where MPLS LSP Ping and Traceroute capability can produce an outcome where MPLS LSP Ping and Traceroute
can be blind to MPLS switching failures over LAG interface that are can be blind to label switching failures over LAG interface that are
impacting MPLS traffic. It is, thus, desirable to extend the MPLS impacting MPLS traffic. It is, thus, desirable to extend the MPLS
LSP Ping and Traceroute to have deterministic diagnostic coverage of LSP Ping and Traceroute to have deterministic diagnostic coverage of
LAG interfaces. LAG interfaces.
Creation of this document was motivated by issues encountered in live
networks.
2. Overview 2. Overview
This document defines an extension to the MPLS LSP Ping and This document defines an extension to the MPLS LSP Ping and
Traceroute to describe Multipath Information for LAG member links Traceroute to describe Multipath Information for LAG member links
separately, thus allowing MPLS LSP Ping and Traceroute to discover separately, thus allowing MPLS LSP Ping and Traceroute to discover
and exercise specific paths of L2 ECMP over LAG interfaces. Reader and exercise specific paths of L2 ECMP over LAG interfaces. Reader
is expected to be familiar with mechanics of the MPLS LSP Ping and is expected to be familiar with mechanics of the MPLS LSP Ping and
Traceroute described in Section 3.3 of [RFC4379] and Downstream Traceroute described in Section 3.3 of [RFC4379] and Downstream
Detailed Mapping TLV (DDMAP) described in Section 3.3 of [RFC6424]. Detailed Mapping TLV (DDMAP) described in Section 3.3 of [RFC6424].
MPLS echo request carries a DDMAP and an optional TLV to indicate MPLS echo request carries a DDMAP and an optional TLV to indicate
that separate load balancing information for each L2 nexthop over LAG that separate load balancing information for each L2 nexthop over LAG
is desired in MPLS echo reply. Responder LSR places the same is desired in MPLS echo reply. Responder LSR places the same
optional TLV in the MPLS echo reply to provide acknowledgement back optional TLV in the MPLS echo reply to provide acknowledgement back
to the initiator. It also adds, for each downstream LAG member, a to the initiator. It also adds, for each downstream LAG member, a
load balance information (i.e. multipath information and interface load balance information (i.e. multipath information and interface
index). For example: index). The following figure and the texts provides an example using
an LDP network. However the problem and the mechanism is applicable
to all types of LSPs which can traverse over LAG interfaces.
<----- LDP Network -----> <----- LDP Network ----->
+-------+ +-------+
| | | |
A-------B=======C-------E A-------B=======C-------E
| | | |
+-------D-------+ +-------D-------+
---- Non-LAG ---- Non-LAG
skipping to change at page 5, line 28 skipping to change at page 5, line 41
o In Appendix A, issues with LAG having an L2 Switch. o In Appendix A, issues with LAG having an L2 Switch.
Note that the mechanism described in this document does not impose Note that the mechanism described in this document does not impose
any changes to scenarios where an LSP is pinned down to a particular any changes to scenarios where an LSP is pinned down to a particular
LAG member (i.e. the LAG is not treated as one logical interface by LAG member (i.e. the LAG is not treated as one logical interface by
the LSP). the LSP).
3. Mechanism to Discover L2 ECMP Multipath 3. Mechanism to Discover L2 ECMP Multipath
3.1. Initiator LSR Procedures
The MPLS echo request carries a DDMAP and the LAG Interface Info TLV The MPLS echo request carries a DDMAP and the LAG Interface Info TLV
(described in Section 5) to indicate that separate load balancing (described in Section 5) to indicate that separate load balancing
information for each L2 nexthop over LAG is desired in MPLS echo information for each L2 nexthop over LAG is desired in MPLS echo
reply. Responder LSRs that understand the LAG Interface Info TLV but reply.
unable to describe outgoing LAG member links separately MUST add the
LAG Interface Info TLV in the MPLS echo reply to provide
acknowledgement back to the initiating LSR. The Downstream LAG Info
Accommodation flag MUST NOT be set in LAG Interface Info Flags. The
responder LSRs that understands the LAG Interface Info TLV and able
to describe outgoing LAG member links separately MUST use the follow
procedures, regardless of whether or not outgoing interfaces include
LAG interfaces:
o MUST add the LAG Interface Info TLV in the MPLS echo reply to 3.2. Responder LSR Procedures
provide acknowledgement back to the initiator. The Downstream LAG
Info Accommodation flag MUST be set in the LAG Interface Info Responder LSRs that understand the LAG Interface Info TLV but are
Flags field. unable to describe outgoing LAG member links separately are to use
the following procedures:
o The responder LSR MUST add the LAG Interface Info TLV in the MPLS
echo reply. This will allow the initiator LSR to understand that
the responder LSR understood the LAG Interface Info TLV.
o The responder LSR MUST clear the Downstream LAG Info Accommodation
flag in the LAG Interface Info Flags field of the LAG Interface
Info TLV. This will allow the initiator LSR to understand that
the responder LSR understood the LAG Interface Info TLV but cannot
describe outgoing LAG member links separately in the DDMAP.
The responder LSRs that understands the LAG Interface Info TLV and
are able to describe outgoing LAG member links separately are to use
the follow procedures, regardless of whether or not outgoing
interfaces include LAG interfaces:
o The responder LSR MUST add the LAG Interface Info TLV in the MPLS
echo reply.
o The responder LSR MUST set the Downstream LAG Info Accommodation
flag in the LAG Interface Info Flags field of the LAG Interface
Info TLV.
o For each downstream that is a LAG interface: o For each downstream that is a LAG interface:
* MUST add DDMAP in the MPLS echo reply. * The responder LSR MUST add DDMAP in the MPLS echo reply.
* MUST set the LAG Description Indicator flag in the DS Flags * The responder LSR MUST set the LAG Description Indicator flag
field (described in Section 6) of the DDMAP. in the DS Flags field (described in Section 6) of the DDMAP.
* In the DDMAP, Interface Index Sub-TLV and Multipath Data Sub- * In the DDMAP, Interface Index Sub-TLV and Multipath Data Sub-
TLV are to describe each LAG member link. All other fields of TLV are to describe each LAG member link. All other fields of
the DDMAP are to describe the LAG interface. the DDMAP are to describe the LAG interface.
* For each LAG member link of this LAG interface: * For each LAG member link of this LAG interface:
+ MUST add an Interface Index Sub-TLV (described in Section 7) + The responder LSR MUST add an Interface Index Sub-TLV
with the LAG Member Link Indicator flag set in the Interface (described in Section 7) with the LAG Member Link Indicator
Index Flags field, describing this LAG member link. flag set in the Interface Index Flags field, describing this
LAG member link.
+ MUST add an Multipath Data Sub-TLV for this LAG member link, + The responder LSR MUST add an Multipath Data Sub-TLV for
if received DDMAP requested multipath information. this LAG member link, if received DDMAP requested multipath
information.
When both the Interface Index Sub-TLV and the Multipath Data Sub-TLV Based on the procedures described above, every LAG member link will
is placed in the DDMAP to describe a LAG member link, Interface Index have the Interface Index Sub-TLV and the Multipath Data Sub-TLV
Sub-TLV MUST be added first with Multipath Data Sub-TLV immediately entries in the DDMAP. When both the Interface Index Sub-TLV and the
following. Multipath Data Sub-TLV are placed in the DDMAP to describe a LAG
member link, Interface Index Sub-TLV MUST be added first with
Multipath Data Sub-TLV immediately following.
For example, a responder LSR possessing a LAG interface with two For example, a responder LSR possessing a LAG interface with two
member links would send the following DDMAP for this LAG interface: member links would send the following DDMAP for this LAG interface:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DDMAP fields describing LAG interface with DS Flags G set | | DDMAP fields describing LAG interface with DS Flags G set |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface Index Sub-TLV of LAG member link #1 | | Interface Index Sub-TLV of LAG member link #1 |
skipping to change at page 6, line 44 skipping to change at page 7, line 28
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface Index Sub-TLV of LAG member link #2 | | Interface Index Sub-TLV of LAG member link #2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Multipath Data Sub-TLV LAG member link #2 | | Multipath Data Sub-TLV LAG member link #2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label Stack Sub-TLV | | Label Stack Sub-TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Example of DDMAP in MPLS Echo Reply Figure 2: Example of DDMAP in MPLS Echo Reply
These procedures allow initiating LSR to: 3.3. Additional Initiator LSR Procedures
o Mandate the responder LSR to always add the LAG Interface Info TLV Above procedures allow an initiator LSR to:
in the MPLS echo reply. This allows the initiating LSR to
identify whether or not the responder LSR understands the LAG o Require the responder LSR to always add the LAG Interface Info TLV
Interface Info TLV and can describe outgoing LAG member links in the MPLS echo reply. This allows the initiator LSR to identify
separately. whether or not the responder LSR understands the LAG Interface
Info TLV and can describe outgoing LAG member links separately.
o Utilize the value of the LAG Description Indicator flag in DS o Utilize the value of the LAG Description Indicator flag in DS
Flags to identify whether each DDMAP describes a LAG interface or Flags to identify whether each DDMAP describes a LAG interface or
a non-LAG interface. a non-LAG interface.
o Obtain multipath information which is expected to traverse the o Obtain multipath information which is expected to traverse the
specific LAG member link described by corresponding interface specific LAG member link described by corresponding interface
index. index.
When an initiating LSR receives a DDMAP containing LAG member When an initiator LSR receives a DDMAP containing LAG member
information from a downstream LSR with TTL=n, then the subsequent information from a downstream LSR with TTL=n, then the subsequent
DDMAP sent by the initiating LSR to the downstream LSR with TTL=n+1 DDMAP sent by the initiator LSR to the downstream LSR with TTL=n+1
through a particular LAG member link MUST be updated with following through a particular LAG member link MUST be updated with following
procedures: procedures:
o The Interface Index Sub-TLVs MUST NOT be present in the sending o The Interface Index Sub-TLVs MUST NOT be present in the sending
DDMAP. DDMAP.
o The Multipath Data Sub-TLVs SHOULD be updated to include just the o The Multipath Data Sub-TLVs SHOULD be updated to include just the
one corresponding to the LAG member link being traversed. The one corresponding to the LAG member link being traversed. The
initiating LSR MAY combine the Multipath Data Sub-TLVs for all LAG initiator LSR MAY combine the Multipath Data Sub-TLVs for all LAG
member links into a single Multipath Data Sub-TLV, but there MUST member links into a single Multipath Data Sub-TLV, but there MUST
be only one Multipath Data Sub-TLV in the sending DDMAP. be only one Multipath Data Sub-TLV in the sending DDMAP.
o All other fields of the DDMAP are to comply with procedures o All other fields of the DDMAP are to comply with procedures
described in [RFC6424]. described in [RFC6424].
Using the DDMAP example described in the Figure 2, the DDMAP being Using the DDMAP example described in the Figure 2, the DDMAP being
sent by the initiating LSR through LAG member link #1 to the next sent by the initiator LSR through LAG member link #1 to the next
downstream LSR should be: downstream LSR should be:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DDMAP fields describing LAG interface with DS Flags G set | | DDMAP fields describing LAG interface with DS Flags G set |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Multipath Data Sub-TLV LAG member link #1 | | Multipath Data Sub-TLV LAG member link #1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label Stack Sub-TLV | | Label Stack Sub-TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: Example of DDMAP in MPLS Echo Request Figure 3: Example of DDMAP in MPLS Echo Request
4. Mechanism to Validate L2 ECMP Traversal 4. Mechanism to Validate L2 ECMP Traversal
This document does not update the FEC validation procedures nor the This document does not update the FEC validation procedures nor the
DDMAP validation procedures. Rather this document provides the DDMAP validation procedures, specified in [RFC4379] and [RFC6424]
mechanism for the initiating LSR to obtain additional information respectively. Rather this document provides the mechanism for the
from the downstream LSRs when incoming and/or outgoing interfaces are initiator LSR to obtain additional information from the downstream
LAGs. With this additional information, it is the responsibility of LSRs when incoming and/or outgoing interfaces are LAGs. With this
the initiating LSR to validate the L2 ECMP traversal. additional information, it is the responsibility of the initiator LSR
to validate the L2 ECMP traversal.
4.1. Initiator LSR Procedures
The MPLS echo request is sent with a DDMAP with DS Flags I set and The MPLS echo request is sent with a DDMAP with DS Flags I set and
the optional LAG Interface Info TLV to indicate the request for the optional LAG Interface Info TLV to indicate the request for
Detailed Interface and Label Stack TLV with additional LAG member Detailed Interface and Label Stack TLV with additional LAG member
link information (i.e. interface index) in the MPLS echo reply. link information (i.e. interface index) in the MPLS echo reply.
4.2. Responder LSR Procedures
Responder LSRs that understands the LAG Interface Info TLV but unable Responder LSRs that understands the LAG Interface Info TLV but unable
to describe incoming LAG member link MUST add the LAG Interface Info to describe incoming LAG member link are to use following procedures:
TLV in the MPLS echo reply to provide acknowledgement back to the
initiator. The Upstream LAG Info Accommodation flag MUST NOT be set o The responder LSR MUST add the LAG Interface Info TLV in the MPLS
in LAG Interface Info Flags. The responder LSRs that understands the echo reply. This will allow the initiator LSR to understand that
LAG Interface Info TLV and able to describe incoming LAG member link the responder LSR understood the LAG Interface Info TLV.
MUST use the following procedures, regardless of whether or not
incoming interface was a LAG interface: o The responder LSR MUST clear The Upstream LAG Info Accommodation
flag in the LAG Interface Info Flags field of the LAG Interface
Info TLV. This will allow the initiator LSR to understand that
the responder LSR understood the LAG Interface Info TLV but cannot
describe incoming LAG member link.
The responder LSRs that understands the LAG Interface Info TLV and
able to describe incoming LAG member link MUST use the following
procedures, regardless of whether or not incoming interface was a LAG
interface:
o Add the LAG Interface Info TLV in the MPLS echo reply to provide o Add the LAG Interface Info TLV in the MPLS echo reply to provide
acknowledgement back to the initiator. The Upstream LAG Info acknowledgement back to the initiator. The Upstream LAG Info
Accommodation flag MUST be set in the LAG Interface Info Flags Accommodation flag MUST be set in the LAG Interface Info Flags
field. field.
o When the received DDMAP had DS Flags I set, add the Detailed o When the received DDMAP had DS Flags I set, add the Detailed
Interface and Label Stack TLV (described in Section 8) in the MPLS Interface and Label Stack TLV (described in Section 8) in the MPLS
echo reply. echo reply.
o When the received DDMAP had DS Flags I set and incoming interface o When the received DDMAP had DS Flags I set and incoming interface
was a LAG, add the Incoming Interface Index Sub-TLV (described in was a LAG, add the Incoming Interface Index Sub-TLV (described in
Section 8.1.2). The LAG Member Link Indicator flag MUST be set in Section 8.1.2). The LAG Member Link Indicator flag MUST be set in
the Interface Index Flags field, and the Interface Index field set the Interface Index Flags field, and the Interface Index field set
to the LAG member link which received the MPLS echo request. to the LAG member link which received the MPLS echo request.
These procedures allow initiating LSR to: These procedures allow initiator LSR to:
o Identify whether or not the responder LSR understands the LAG o Identify whether or not the responder LSR understands the LAG
Interface Info TLV and can describe the incoming LAG member links Interface Info TLV and can describe the incoming LAG member links
(the responder LSR is mandated to always add the LAG Interface (the responder LSR is mandated to always add the LAG Interface
Info TLV in the MPLS echo reply). Info TLV in the MPLS echo reply).
4.3. Additional Initiator LSR Procedures
Along with procedures described in Section 3, described procedures in Along with procedures described in Section 3, described procedures in
this section will allow an initiating LSR to know: this section will allow an initiator LSR to know:
o The expected load balance information of every LAG member link, at o The expected load balance information of every LAG member link, at
LSR with TTL=n. LSR with TTL=n.
o With specific entropy, the expected interface index of the o With specific entropy, the expected interface index of the
outgoing LAG member link at TTL=n. outgoing LAG member link at TTL=n.
o With specific entropy, the interface index of the incoming LAG o With specific entropy, the interface index of the incoming LAG
member link at TTL=n+1. member link at TTL=n+1.
Expectation is that there's a relationship between the interface Expectation is that there's a relationship between the interface
index of the outgoing LAG member link at TTL=n and the interface index of the outgoing LAG member link at TTL=n and the interface
index of the incoming LAG member link at TTL=n+1 for all discovered index of the incoming LAG member link at TTL=n+1 for all discovered
entropies. In other words, set of entropies that load balances to entropies. In other words, set of entropies that load balances to
outgoing LAG member link X at TTL=n should all reach the nexthop on outgoing LAG member link X at TTL=n should all reach the nexthop on
same incoming LAG member link Y at TTL=n+1. same incoming LAG member link Y at TTL=n+1.
With additional logics added in the initiating LSR, following checks With additional logics added in the initiator LSR, following checks
can be performed: can be performed:
o Success case: o Success case:
* Traversing LAG member=1 at TTL=n results in LAG member=1' as * Traversing LAG member=1 at TTL=n results in LAG member=1' as
the incoming interface at TTL=n+1. the incoming interface at TTL=n+1.
* Traversing LAG member=2 at TTL=n results in LAG member=2' as * Traversing LAG member=2 at TTL=n results in LAG member=2' as
the incoming interface at TTL=n+1. the incoming interface at TTL=n+1.
skipping to change at page 10, line 13 skipping to change at page 11, line 22
document. If the responder LSR is able to accommodate this request, document. If the responder LSR is able to accommodate this request,
then the LAG Interface Info object MUST be included in the MPLS echo then the LAG Interface Info object MUST be included in the MPLS echo
reply message. reply message.
LAG Interface Info TLV Type is TBD1. Length is 4. The Value field LAG Interface Info TLV Type is TBD1. Length is 4. The Value field
of LAG Interface TLV has following format: of LAG Interface TLV has following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAG Interface Info Flags | Must Be Zero | | LAG Interface Info Flags | Must Be Zero |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: LAG Interface Info TLV Figure 4: LAG Interface Info TLV
LAG Interface Info Flags LAG Interface Info Flags
LAG Interface Info Flags field is a bit vector with following LAG Interface Info Flags field is a bit vector with following
format. format.
0 1 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Must Be Zero (Reserved) |U|D| | Must Be Zero (Reserved) |U|D|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Two flags are defined: U and D. The remaining flags MUST be set Two flags are defined: U and D. The remaining flags MUST be set
to zero when sending and ignored on receipt. Both U and D flags to zero when sending and ignored on receipt. Both U and D flags
MUST be cleared in MPLS echo request message when sending, and MUST be cleared in MPLS echo request message when sending, and
ignored on receipt. Either or both U and D flags MAY be set in ignored on receipt. Either or both U and D flags MAY be set in
MPLS echo reply message. MPLS echo reply message.
Flag Name and Meaning Flag Name and Meaning
---- ---------------- ---- ----------------
skipping to change at page 11, line 7 skipping to change at page 12, line 22
the Detailed Interface and Label Stack TLV. the Detailed Interface and Label Stack TLV.
D Downstream LAG Info Accommodation D Downstream LAG Info Accommodation
When this flag is set, LSR is capable of placing Interface When this flag is set, LSR is capable of placing Interface
Index Sub-TLV and Multipath Data Sub-TLV, describing LAG Index Sub-TLV and Multipath Data Sub-TLV, describing LAG
member link, in the Downstream Detailed Mapping TLV. member link, in the Downstream Detailed Mapping TLV.
6. DDMAP TLV DS Flags: G 6. DDMAP TLV DS Flags: G
One flag, G, is added in DS Flags field of the DDMAP TLV. In the One flag, G, is added in DS Flags field of the DDMAP TLV. The G flag
MPLS echo request message, G flag MUST be cleared when sending, and of the DS Flags field has no meaning in the MPLS echo request
ignored on receipt. In the MPLS echo reply message, G flag MUST be message. The G flag MUST therefore be cleared when sending, and
set if the DDMAP TLV describes a LAG interface. It MUST be cleared ignored on the receipt of the MPLS echo request message. In the MPLS
otherwise. echo reply message, G flag MUST be set if the DDMAP TLV describes a
LAG interface. It MUST be cleared otherwise.
DS Flags DS Flags
DS Flags G is added, in Bit Number TBD4, in DS Flags bit vector. DS Flags G is added, in Bit Number TBD4, in DS Flags bit vector.
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| MBZ |G|MBZ|I|N| | MBZ |G|MBZ|I|N|
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
skipping to change at page 11, line 45 skipping to change at page 13, line 13
DDMAP TLV. Zero or more Interface Index object MAY appear in a DDMAP DDMAP TLV. Zero or more Interface Index object MAY appear in a DDMAP
TLV. The Interface Index Sub-TLV describes the index assigned by TLV. The Interface Index Sub-TLV describes the index assigned by
local LSR to the egress interface. local LSR to the egress interface.
Interface Index Sub-TLV Type is TBD2. Length is 8, and the Value Interface Index Sub-TLV Type is TBD2. Length is 8, and the Value
field has following format: field has following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface Index Flags | Must Be Zero | | Interface Index Flags | Must Be Zero |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface Index | | Interface Index |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Interface Index Sub-TLV Figure 5: Interface Index Sub-TLV
Interface Index Flags Interface Index Flags
Interface Index Flags field is a bit vector with following format. Interface Index Flags field is a bit vector with following format.
0 1 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Must Be Zero (Reserved) |M| | Must Be Zero (Reserved) |M|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
One flag is defined: M. The remaining flags MUST be set to zero One flag is defined: M. The remaining flags MUST be set to zero
when sending and ignored on receipt. when sending and ignored on receipt.
Flag Name and Meaning Flag Name and Meaning
---- ---------------- ---- ----------------
M LAG Member Link Indicator M LAG Member Link Indicator
When this flag is set, interface index described in When this flag is set, interface index described in
this sub-TLV is member of a LAG. this sub-TLV is member of a LAG.
Interface Index Interface Index
Index assigned by the LSR to this interface. Index assigned by the LSR to this interface.
8. Detailed Interface and Label Stack TLV 8. Detailed Interface and Label Stack TLV
The Detailed Interface and Label Stack object is a TLV that MAY be The "Detailed Interface and Label Stack" object is a TLV that MAY be
included in a MPLS echo reply message to report the interface on included in a MPLS echo reply message to report the interface on
which the MPLS echo request message was received and the label stack which the MPLS echo request message was received and the label stack
that was on the packet when it was received. A responder LSR MUST that was on the packet when it was received. A responder LSR MUST
NOT insert more than one instance of this TLV. This TLV allows the NOT insert more than one instance of this TLV. This TLV allows the
initiating LSR to obtain the exact interface and label stack initiator LSR to obtain the exact interface and label stack
information as it appears at the responder LSR. information as it appears at the responder LSR.
Detailed Interface and Label Stack TLV Type is TBD3. Length is K + Detailed Interface and Label Stack TLV Type is TBD3. Length is K +
Sub-TLV Length, and the Value field has following format: Sub-TLV Length (sum of Sub-TLVs). K is the sum of all fields of this
TLV prior to Sub-TLVs, but the length of K depends on the Address
Type. Details of this information is described below. The Value
field has following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Type | Must Be Zero | | Address Type | Must Be Zero |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Address (4 or 16 octets) | | IP Address (4 or 16 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface (4 or 16 octets) | | Interface (4 or 16 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Must Be Zero | Sub-TLV Length | | Must Be Zero | Sub-TLV Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. . . .
. List of Sub-TLVs . . List of Sub-TLVs .
skipping to change at page 15, line 8 skipping to change at page 16, line 11
The Incoming Label Stack sub-TLV contains the label stack as received The Incoming Label Stack sub-TLV contains the label stack as received
by the LSR. If any TTL values have been changed by this LSR, they by the LSR. If any TTL values have been changed by this LSR, they
SHOULD be restored. SHOULD be restored.
Incoming Label Stack Sub-TLV Type is 1. Length is variable, and the Incoming Label Stack Sub-TLV Type is 1. Length is variable, and the
Value field has following format: Value field has following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label | TC |S| TTL | | Label | TC |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. . . .
. . . .
. . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label | TC |S| TTL | | Label | TC |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7: Incoming Label Stack Sub-TLV Figure 7: Incoming Label Stack Sub-TLV
8.1.2. Incoming Interface Index Sub-TLV 8.1.2. Incoming Interface Index Sub-TLV
The Incoming Interface Index object is a Sub-TLV that MAY be included The Incoming Interface Index object is a Sub-TLV that MAY be included
in a Detailed Interface and Label Stack TLV. The Incoming Interface in a Detailed Interface and Label Stack TLV. The Incoming Interface
Index Sub-TLV describes the index assigned by this LSR to the Index Sub-TLV describes the index assigned by this LSR to the
interface which received the MPLS echo request message. interface which received the MPLS echo request message.
Incoming Interface Index Sub-TLV Type is 2. Length is 8, and the Incoming Interface Index Sub-TLV Type is 2. Length is 8, and the
Value field has following format: Value field has the same format as the Interface Index Sub-TLV
described in Section 7, and has following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface Index Flags | Must Be Zero | | Interface Index Flags | Must Be Zero |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface Index | | Interface Index |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 8: Incoming Interface Index Sub-TLV Figure 8: Incoming Interface Index Sub-TLV
Interface Index Flags Interface Index Flags
Interface Index Flags field is a bit vector with following format. Interface Index Flags field is a bit vector with following format.
0 1 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Must Be Zero (Reserved) |M| | Must Be Zero (Reserved) |M|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
One flag is defined: M. The remaining flags MUST be set to zero One flag is defined: M. The remaining flags MUST be set to zero
when sent and ignored on receipt. when sent and ignored on receipt.
Flag Name and Meaning Flag Name and Meaning
---- ---------------- ---- ----------------
M LAG Member Link Indicator M LAG Member Link Indicator
When this flag is set, the interface index described in When this flag is set, the interface index described in
this sub-TLV is a member of a LAG. this sub-TLV is a member of a LAG.
Interface Index Interface Index
Index assigned by the LSR to this interface. Index assigned by the LSR to this interface.
9. Security Considerations 9. Security Considerations
This document extends LSP Traceroute mechanism to discover and This document extends LSP Traceroute mechanism to discover and
exercise L2 ECMP paths. Additional processing are required for exercise L2 ECMP paths. As result of supporting the code points and
initiating LSR and responder LSR, especially to compute and handle procedures described in this document, additional processing are
increasing number of multipath information. Due to additional required by initiator LSRs and responder LSRs, especially to compute
processing, it is critical that proper security measures described in and handle increasing number of multipath information. Due to
[RFC4379] and [RFC6424] are followed. additional processing, it is critical that proper security measures
described in [RFC4379] and [RFC6424] are followed.
The LSP Traceroute allows an initiator LSR to discover the paths of
tested LSPs, providing deep knowledge of the MPLS network. Exposing
such information to a malicious user is considered dangerous. To
prevent leakage of vital information to untrusted users, a responder
LSR MUST only accept MPLS echo request messages from trusted sources
via filtering source IP address field of received MPLS echo request
messages.
10. IANA Considerations 10. IANA Considerations
10.1. LAG Interface Info TLV 10.1. LAG Interface Info TLV
The IANA is requested to assign new value TBD1 for LAG Interface Info The IANA is requested to assign new value TBD1 for LAG Interface Info
TLV from the "Multiprotocol Label Switching Architecture (MPLS) Label TLV from the "Multiprotocol Label Switching Architecture (MPLS) Label
Switched Paths (LSPs) Ping Parameters - TLVs" registry. Switched Paths (LSPs) Ping Parameters - TLVs" registry.
Value Meaning Reference Value Meaning Reference
----- ------- --------- ----- ------- ---------
TBD1 LAG Interface Info TLV this document TBD1 LAG Interface Info TLV this document
10.1.1. LAG Interface Info Flags
The IANA is requested to create and maintain a registry entitled "LAG
Interface Info Flags" with following registration procedures:
Registry Name: LAG Interface Info Flags
Bit number Name Reference
---------- ---------------------------------------- ---------
15 D: Downstream LAG Info Accommodation this document
14 U: Upstream LAG Info Accommodation this document
0-13 Unassigned
Assignments of LAG Interface Info Flags are via Standards Action
[RFC5226].
10.2. Interface Index Sub-TLV 10.2. Interface Index Sub-TLV
The IANA is requested to assign new value TBD2 for Interface Index The IANA is requested to assign new value TBD2 for Interface Index
Sub-TLV from the "Multiprotocol Label Switching Architecture (MPLS) Sub-TLV from the "Multiprotocol Label Switching Architecture (MPLS)
Label Switched Paths (LSPs) Ping Parameters - TLVs" registry, "Sub- Label Switched Paths (LSPs) Ping Parameters - TLVs" registry, "Sub-
TLVs for TLV Types 20" sub-registry. TLVs for TLV Types 20" sub-registry.
Value Meaning Reference Value Meaning Reference
----- ------- --------- ----- ------- ---------
TBD2 Interface Index Sub-TLV this document TBD2 Interface Index Sub-TLV this document
10.2.1. Interface Index Flags
The IANA is requested to create and maintain a registry entitled
"Interface Index Flags" with following registration procedures:
Registry Name: Interface Index Flags
Bit number Name Reference
---------- ---------------------------------------- ---------
15 M: LAG Member Link Indicator this document
0-14 Unassigned
Assignments of Interface Index Flags are via Standards Action
[RFC5226].
Note that this registry is used by the Interface Index Flags field of
the Interface Index Sub-TLV which may be present in the "Downstream
Detailed Mapping" TLV and the Incoming Interface Index Sub-TLV which
may be present in the "Detailed Interface and Label Stack" TLV.
10.3. Detailed Interface and Label Stack TLV 10.3. Detailed Interface and Label Stack TLV
The IANA is requested to assign new value TBD3 for Detailed Interface The IANA is requested to assign new value TBD3 for Detailed Interface
and Label Stack TLV from the "Multiprotocol Label Switching and Label Stack TLV from the "Multiprotocol Label Switching
Architecture (MPLS) Label Switched Paths (LSPs) Ping Parameters - Architecture (MPLS) Label Switched Paths (LSPs) Ping Parameters -
TLVs" registry ([IANA-MPLS-LSP-PING]). TLVs" registry ([IANA-MPLS-LSP-PING]).
Value Meaning Reference Value Meaning Reference
----- ------- --------- ----- ------- ---------
TBD3 Detailed Interface and Label Stack TLV this document TBD3 Detailed Interface and Label Stack TLV this document
10.3.1. Sub-TLVs for TLV Type TBD3
The IANA is requested to create and maintain a sub-registry entitled
"Sub-TLVs for TLV Type TBD3" under "Multiprotocol Label Switching
Architecture (MPLS) Label Switched Paths (LSPs) Ping Parameters -
TLVs" registry.
Initial values for this sub-registry, "Sub-TLVs for TLV Types TBD3",
are described below.
Sub-Type Name Reference
--------- ---------------------------------------- ---------
1 Incoming Label Stack this document
2 Incoming Interface Index this document
4-65535 Unassigned
Assignments of Sub-Types are via Standards Action [RFC5226].
10.4. DS Flags 10.4. DS Flags
The IANA is requested to assign a new bit number from the "DS flags" The IANA is requested to assign a new bit number from the "DS flags"
sub-registry from the "Multi-Protocol Label Switching (MPLS) Label sub-registry from the "Multi-Protocol Label Switching (MPLS) Label
Switched Paths (LSPs) Ping Parameters - TLVs" registry Switched Paths (LSPs) Ping Parameters - TLVs" registry
([IANA-MPLS-LSP-PING]). ([IANA-MPLS-LSP-PING]).
Note: the "DS flags" sub-registry is created by Note: the "DS flags" sub-registry is created by
[I-D.ietf-mpls-lsp-ping-registry]. [I-D.ietf-mpls-lsp-ping-registry].
Bit number Name Reference Bit number Name Reference
---------- ---------------------------------------- --------- ---------- ---------------------------------------- ---------
TBD4 G: LAG Description Indicator this document TBD4 G: LAG Description Indicator this document
10.5. New Sub-Registry
10.5.1. Sub-TLVs for TLV Type TBD3
The IANA is requested to make a new "Sub-TLVs for TLV Type TBD3" sub-
registry under "Multiprotocol Label Switching Architecture (MPLS)
Label Switched Paths (LSPs) Ping Parameters - TLVs" registry.
Initial values for this sub-registry, "Sub-TLVs for TLV Types TBD3",
are described below.
Sub-Type Name Reference
--------- ---------------------------------------- ---------
1 Incoming Label Stack this document
2 Incoming Interface Index this document
4-65535 Unassigned
Assignments of Sub-Types are via Standards Action [RFC5226].
11. Acknowledgements 11. Acknowledgements
Authors would like to thank Nagendra Kumar and Sam Aldrin for Authors would like to thank Nagendra Kumar and Sam Aldrin for
providing useful comments and suggestions. providing useful comments and suggestions. Authors would like to
thank Loa Andersson for performing a detailed review and providing
number of comments.
12. References 12. References
12.1. Normative References 12.1. Normative References
[I-D.ietf-mpls-lsp-ping-registry] [I-D.ietf-mpls-lsp-ping-registry]
Decraene, B., Akiya, N., Pignataro, C., Andersson, L., and Decraene, B., Akiya, N., Pignataro, C., Andersson, L., and
S. Aldrin, "IANA registries for LSP ping Code Points", S. Aldrin, "IANA registries for LSP ping Code Points",
draft-ietf-mpls-lsp-ping-registry-00 (work in progress), draft-ietf-mpls-lsp-ping-registry-00 (work in progress),
November 2014. November 2014.
skipping to change at page 18, line 35 skipping to change at page 20, line 37
February 2006. February 2006.
[RFC6424] Bahadur, N., Kompella, K., and G. Swallow, "Mechanism for [RFC6424] Bahadur, N., Kompella, K., and G. Swallow, "Mechanism for
Performing Label Switched Path Ping (LSP Ping) over MPLS Performing Label Switched Path Ping (LSP Ping) over MPLS
Tunnels", RFC 6424, November 2011. Tunnels", RFC 6424, November 2011.
12.2. Informative References 12.2. Informative References
[I-D.ietf-mpls-ipv6-only-gap] [I-D.ietf-mpls-ipv6-only-gap]
George, W. and C. Pignataro, "Gap Analysis for Operating George, W. and C. Pignataro, "Gap Analysis for Operating
IPv6-only MPLS Networks", draft-ietf-mpls-ipv6-only-gap-03 IPv6-only MPLS Networks", draft-ietf-mpls-ipv6-only-gap-04
(work in progress), October 2014. (work in progress), November 2014.
[IANA-MPLS-LSP-PING] [IANA-MPLS-LSP-PING]
IANA, "Multi-Protocol Label Switching (MPLS) Label IANA, "Multi-Protocol Label Switching (MPLS) Label
Switched Paths (LSPs) Ping Parameters", Switched Paths (LSPs) Ping Parameters",
<http://www.iana.org/assignments/mpls-lsp-ping-parameters/ <http://www.iana.org/assignments/mpls-lsp-ping-parameters/
mpls-lsp-ping-parameters.xhtml>. mpls-lsp-ping-parameters.xhtml>.
[IEEE802.1AX] [IEEE802.1AX]
IEEE Std. 802.1AX, "IEEE Standard for Local and IEEE Std. 802.1AX, "IEEE Standard for Local and
metropolitan area networks - Link Aggregation", November metropolitan area networks - Link Aggregation", November
 End of changes. 57 change blocks. 
153 lines changed or deleted 265 lines changed or added

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