draft-ietf-mpls-lsp-ping-lag-multipath-03.txt | draft-ietf-mpls-lsp-ping-lag-multipath-04.txt | |||
---|---|---|---|---|
Internet Engineering Task Force N. Akiya | Internet Engineering Task Force N. Akiya | |||
Internet-Draft Big Switch Networks | Internet-Draft Big Switch Networks | |||
Updates: 8029 (if approved) G. Swallow | Updates: 8029 (if approved) G. Swallow | |||
Intended status: Standards Track Cisco Systems | Intended status: Standards Track Cisco Systems | |||
Expires: June 3, 2018 S. Litkowski | Expires: December 6, 2018 S. Litkowski | |||
B. Decraene | B. Decraene | |||
Orange | Orange | |||
J. Drake | J. Drake | |||
Juniper Networks | Juniper Networks | |||
M. Chen | M. Chen | |||
Huawei | Huawei | |||
November 30, 2017 | June 04, 2018 | |||
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-ietf-mpls-lsp-ping-lag-multipath-03 | draft-ietf-mpls-lsp-ping-lag-multipath-04 | |||
Abstract | Abstract | |||
This document defines an extension to the MPLS Label Switched Path | This document defines an extension to the MPLS Label Switched Path | |||
(LSP) Ping and Traceroute as specified in RFC 8029. The extension | (LSP) Ping and Traceroute as specified in RFC 8029. The extension | |||
allows the MPLS LSP Ping and Traceroute to discover and exercise | allows the MPLS LSP Ping and Traceroute to discover and exercise | |||
specific paths of Layer 2 (L2) Equal-Cost Multipath (ECMP) over Link | specific paths of Layer 2 (L2) Equal-Cost Multipath (ECMP) over Link | |||
Aggregation Group (LAG) interfaces. | Aggregation Group (LAG) interfaces. | |||
This document updates RFC8029. | This document updates RFC8029. | |||
skipping to change at page 2, line 4 ¶ | skipping to change at page 2, line 4 ¶ | |||
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 https://datatracker.ietf.org/drafts/current/. | Drafts is at https://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 June 3, 2018. | This Internet-Draft will expire on December 6, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2018 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 | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 2, line 41 ¶ | skipping to change at page 2, line 41 ¶ | |||
4.3. Additional Initiator LSR Procedures . . . . . . . . . . . 9 | 4.3. Additional Initiator LSR Procedures . . . . . . . . . . . 9 | |||
5. Mechanism to Validate L2 ECMP Traversal . . . . . . . . . . . 10 | 5. Mechanism to Validate L2 ECMP Traversal . . . . . . . . . . . 10 | |||
5.1. Incoming LAG Member Links Verification . . . . . . . . . 11 | 5.1. Incoming LAG Member Links Verification . . . . . . . . . 11 | |||
5.1.1. Initiator LSR Procedures . . . . . . . . . . . . . . 11 | 5.1.1. Initiator LSR Procedures . . . . . . . . . . . . . . 11 | |||
5.1.2. Responder LSR Procedures . . . . . . . . . . . . . . 11 | 5.1.2. Responder LSR Procedures . . . . . . . . . . . . . . 11 | |||
5.1.3. Additional Initiator LSR Procedures . . . . . . . . . 12 | 5.1.3. Additional Initiator LSR Procedures . . . . . . . . . 12 | |||
5.2. Individual End-to-End Path Verification . . . . . . . . . 13 | 5.2. Individual End-to-End Path Verification . . . . . . . . . 13 | |||
6. LSR Capability TLV . . . . . . . . . . . . . . . . . . . . . 14 | 6. LSR Capability TLV . . . . . . . . . . . . . . . . . . . . . 14 | |||
7. LAG Description Indicator Flag: G . . . . . . . . . . . . . . 15 | 7. LAG Description Indicator Flag: G . . . . . . . . . . . . . . 15 | |||
8. Local Interface Index Sub-TLV . . . . . . . . . . . . . . . . 16 | 8. Local Interface Index Sub-TLV . . . . . . . . . . . . . . . . 16 | |||
9. Remote Interface Index Sub-TLV . . . . . . . . . . . . . . . 17 | 9. Remote Interface Index Sub-TLV . . . . . . . . . . . . . . . 16 | |||
10. Detailed Interface and Label Stack TLV . . . . . . . . . . . 18 | 10. Detailed Interface and Label Stack TLV . . . . . . . . . . . 17 | |||
10.1. Sub-TLVs . . . . . . . . . . . . . . . . . . . . . . . . 20 | 10.1. Sub-TLVs . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
10.1.1. Incoming Label Stack Sub-TLV . . . . . . . . . . . . 20 | 10.1.1. Incoming Label Stack Sub-TLV . . . . . . . . . . . . 19 | |||
10.1.2. Incoming Interface Index Sub-TLV . . . . . . . . . . 20 | 10.1.2. Incoming Interface Index Sub-TLV . . . . . . . . . . 19 | |||
11. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | |||
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 | 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | |||
12.1. LSR Capability TLV . . . . . . . . . . . . . . . . . . . 22 | 12.1. LSR Capability TLV . . . . . . . . . . . . . . . . . . . 21 | |||
12.1.1. LSR Capability Flags . . . . . . . . . . . . . . . . 22 | 12.1.1. LSR Capability Flags . . . . . . . . . . . . . . . . 21 | |||
12.2. Local Interface Index Sub-TLV . . . . . . . . . . . . . 22 | 12.2. Local Interface Index Sub-TLV . . . . . . . . . . . . . 21 | |||
12.2.1. Interface Index Flags . . . . . . . . . . . . . . . 23 | 12.2.1. Interface Index Flags . . . . . . . . . . . . . . . 22 | |||
12.3. Remote Interface Index Sub-TLV . . . . . . . . . . . . . 23 | 12.3. Remote Interface Index Sub-TLV . . . . . . . . . . . . . 22 | |||
12.4. Detailed Interface and Label Stack TLV . . . . . . . . . 23 | 12.4. Detailed Interface and Label Stack TLV . . . . . . . . . 22 | |||
12.4.1. Sub-TLVs for TLV Type TBD4 . . . . . . . . . . . . . 24 | 12.4.1. Sub-TLVs for TLV Type TBD4 . . . . . . . . . . . . . 23 | |||
12.5. DS Flags . . . . . . . . . . . . . . . . . . . . . . . . 24 | 12.5. DS Flags . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 24 | 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23 | |||
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
14.1. Normative References . . . . . . . . . . . . . . . . . . 25 | 14.1. Normative References . . . . . . . . . . . . . . . . . . 24 | |||
14.2. Informative References . . . . . . . . . . . . . . . . . 25 | 14.2. Informative References . . . . . . . . . . . . . . . . . 24 | |||
Appendix A. LAG with L2 Switch Issues . . . . . . . . . . . . . 26 | Appendix A. LAG with L2 Switch Issues . . . . . . . . . . . . . 25 | |||
A.1. Equal Numbers of LAG Members . . . . . . . . . . . . . . 26 | A.1. Equal Numbers of LAG Members . . . . . . . . . . . . . . 25 | |||
A.2. Deviating Numbers of LAG Members . . . . . . . . . . . . 26 | A.2. Deviating Numbers of LAG Members . . . . . . . . . . . . 25 | |||
A.3. LAG Only on Right . . . . . . . . . . . . . . . . . . . . 26 | A.3. LAG Only on Right . . . . . . . . . . . . . . . . . . . . 25 | |||
A.4. LAG Only on Left . . . . . . . . . . . . . . . . . . . . 27 | A.4. LAG Only on Left . . . . . . . . . . . . . . . . . . . . 25 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
1. Introduction | 1. Introduction | |||
1.1. Terminology | 1.1. Terminology | |||
The following acronyms/terms are used in this document: | The following acronyms/terms 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. | |||
skipping to change at page 4, line 32 ¶ | skipping to change at page 4, line 32 ¶ | |||
Creation of this document was motivated by issues encountered in live | Creation of this document was motivated by issues encountered in live | |||
networks. | 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 Downstream Mapping | |||
Traceroute described in Section 3.3 of [RFC8029] and Downstream | described in Section 3.3 of [RFC8029] and Downstream Detailed Mapping | |||
Detailed Mapping TLV (DDMAP) described in Section 3.4 of [RFC8029]. | TLV (DDMAP) described in Section 3.4 of [RFC8029]. | |||
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). The following figure and the texts provides an example using | index). The following figure and the texts provides an example using | |||
an LDP network. However the problem and the mechanism is applicable | an LDP network. However the problem and the mechanism is applicable | |||
to all types of LSPs which can traverse over LAG interfaces. | to all types of LSPs which can traverse over LAG interfaces. | |||
skipping to change at page 6, line 43 ¶ | skipping to change at page 6, line 43 ¶ | |||
all. | all. | |||
o The responder LSR sent the MPLS echo reply message with contents C | o The responder LSR sent the MPLS echo reply message with contents C | |||
because it does not have features X, Y and Z implemented. | because it does not have features X, Y and Z implemented. | |||
To allow the initiator LSR to disambiguate the above differences, | To allow the initiator LSR to disambiguate the above differences, | |||
this document defines the LSR Capability TLV (described in | this document defines the LSR Capability TLV (described in | |||
Section 6). When the initiator LSR wishes to discover the | Section 6). When the initiator LSR wishes to discover the | |||
capabilities of the responder LSR, the initiator LSR includes the LSR | capabilities of the responder LSR, the initiator LSR includes the LSR | |||
Capability TLV in the MPLS echo request message. When the responder | Capability TLV in the MPLS echo request message. When the responder | |||
LSR receives an MPLS echo reply message with the LSR Capability TLV | LSR receives an MPLS echo request message with the LSR Capability TLV | |||
included, then the responder LSR MUST include the LSR Capability TLV | included, then the responder LSR MUST include the LSR Capability TLV | |||
in the MPLS echo reply message with the LSR Capability TLV describing | in the MPLS echo reply message with the LSR Capability TLV describing | |||
features and extensions supported by the local LSR. | features and extensions supported by the local LSR. | |||
It is RECOMMENDED that implementations supporting the LAG Multipath | It is RECOMMENDED that implementations supporting the LAG Multipath | |||
extensions defined in this document include the LSR Capability TLV in | extensions defined in this document include the LSR Capability TLV in | |||
MPLS echo request messages. | MPLS echo request messages. | |||
4. Mechanism to Discover L2 ECMP Multipath | 4. Mechanism to Discover L2 ECMP Multipath | |||
skipping to change at page 13, line 6 ¶ | skipping to change at page 13, line 6 ¶ | |||
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, the initiator LSR can perform following | With additional logics, the initiator LSR can perform following | |||
checks in a scenario where the initiator knows that there is a LAG, | checks in a scenario where the initiator knows that there is a LAG, | |||
with two LAG members, between TTL=n and TTL=n+1, and has the | with two LAG members, between TTL=n and TTL=n+1, and has the | |||
multipath information to traverse the two LAG members. | multipath information to traverse the two LAG members. | |||
The initiator LSR sends two MPLS echo request messages to traverse | The initiator LSR sends two MPLS echo request messages to traverse | |||
the two LAG members at TTL=1: | the two LAG members at TTL=n+1: | |||
o Success case: | o Success case: | |||
* One MPLS echo request message reaches TTL=n+1 on an LAG member | * One MPLS echo request message reaches TTL=n+1 on an LAG member | |||
1. | 1. | |||
* The other MPLS echo request message reaches TTL=n+1 on an LAG | * The other MPLS echo request message reaches TTL=n+1 on an LAG | |||
member 2. | member 2. | |||
The two MPLS echo request messages sent by the initiator LSR reach | The two MPLS echo request messages sent by the initiator LSR reach | |||
skipping to change at page 15, line 17 ¶ | skipping to change at page 15, line 17 ¶ | |||
ignored on receipt. Neither, either or both U and D flags MAY be | ignored on receipt. Neither, either or both U and D flags MAY be | |||
set in MPLS echo reply message. | set in MPLS echo reply message. | |||
Flag Name and Meaning | Flag Name and Meaning | |||
---- ---------------- | ---- ---------------- | |||
U Upstream LAG Info Accommodation | U Upstream LAG Info Accommodation | |||
An LSR sets this flag when the node is capable of | An LSR sets this flag when the node is capable of | |||
describing a LAG member link in the Incoming Interface | describing a LAG member link in the Incoming Interface | |||
Index Sub-TLV in the in the Detailed Interface and | Index Sub-TLV in the Detailed Interface and | |||
Label Stack TLV. | Label Stack TLV. | |||
D Downstream LAG Info Accommodation | D Downstream LAG Info Accommodation | |||
An LSR sets this flag when the node is capable of | An LSR sets this flag when the node is capable of | |||
describing LAG member links in the Local Interface | describing LAG member links in the Local Interface | |||
Index Sub-TLV and the Multipath Data Sub-TLV in the | Index Sub-TLV and the Multipath Data Sub-TLV in the | |||
Downstream Detailed Mapping TLV. | Downstream Detailed Mapping TLV. | |||
7. LAG Description Indicator Flag: G | 7. LAG Description Indicator Flag: G | |||
skipping to change at page 16, line 30 ¶ | skipping to change at page 16, line 30 ¶ | |||
assigned by the local LSR to the egress interface. | assigned by the local LSR to the egress interface. | |||
The Local Interface Index Sub-TLV Type is TBD2. Length is 8, and the | The Local Interface Index Sub-TLV Type is TBD2. Length is 8, 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 | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Interface Index Flags | Must Be Zero | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Local Interface Index | | | Local Interface Index | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 5: Local Interface Index Sub-TLV | Figure 5: Local Interface Index Sub-TLV | |||
Interface Index Flags | ||||
Interface Index Flags field is a bit vector with following format. | ||||
0 1 | ||||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Must Be Zero (Reserved) |M| | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
One flag is defined: M. The remaining flags MUST be set to zero | ||||
when sending and ignored on receipt. | ||||
Flag Name and Meaning | ||||
---- ---------------- | ||||
M LAG Member Link Indicator | ||||
When this flag is set, interface index described in | ||||
this sub-TLV is a member of a LAG. | ||||
Local Interface Index | Local Interface Index | |||
An Index assigned by the LSR to this interface. | An Index assigned by the LSR to this interface. | |||
9. Remote Interface Index Sub-TLV | 9. Remote Interface Index Sub-TLV | |||
The Remote Interface Index object is a Sub-TLV that MAY be included | The Remote Interface Index object is a Sub-TLV that MAY be included | |||
in a DDMAP TLV. Zero or more Remote Interface Index object MAY | in a DDMAP TLV. Zero or more Remote Interface Index object MAY | |||
appear in a DDMAP TLV. The Remote Interface Index Sub-TLV describes | appear in a DDMAP TLV. The Remote Interface Index Sub-TLV describes | |||
the index assigned by the downstream LSR to the ingress interface. | the index assigned by the downstream LSR to the ingress interface. | |||
The Remote Interface Index Sub-TLV Type is TBD3. Length is 8, and | The Remote Interface Index Sub-TLV Type is TBD3. Length is 8, and | |||
the Value field has following format: | 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 | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Interface Index Flags | Must Be Zero | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Remote Interface Index | | | Remote Interface Index | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 6: Remote Interface Index Sub-TLV | Figure 6: Remote Interface Index Sub-TLV | |||
Interface Index Flags | ||||
Interface Index Flags field is a bit vector with following format. | ||||
0 1 | ||||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Must Be Zero (Reserved) |M| | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
One flag is defined: M. The remaining flags MUST be set to zero | ||||
when sending and ignored on receipt. | ||||
Flag Name and Meaning | ||||
---- ---------------- | ||||
M LAG Member Link Indicator | ||||
When this flag is set, interface index described in | ||||
this sub-TLV is a member of a LAG. | ||||
Remote Interface Index | Remote Interface Index | |||
An Index assigned by the downstream LSR to the ingress interface. | An Index assigned by the downstream LSR to the ingress interface. | |||
10. Detailed Interface and Label Stack TLV | 10. 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 | |||
skipping to change at page 18, line 44 ¶ | skipping to change at page 17, line 46 ¶ | |||
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 | | | 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 | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
. . | . . | |||
. List of Sub-TLVs . | . List of Sub-TLVs . | |||
. . | . . | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 7: Detailed Interface and Label Stack TLV | Figure 7: Detailed Interface and Label Stack TLV | |||
The Detailed Interface and Label Stack TLV format is derived from the | The Detailed Interface and Label Stack TLV format is derived from the | |||
Interface and Label Stack TLV format (from [RFC8029]). Two changes | Interface and Label Stack TLV format (from [RFC8029]). Two changes | |||
are introduced. First is that label stack, which is of variable | are introduced. First is that label stack, which is of variable | |||
skipping to change at page 19, line 49 ¶ | skipping to change at page 19, line 5 ¶ | |||
If the interface is unnumbered, the Address Type MUST be either | If the interface is unnumbered, the Address Type MUST be either | |||
IPv4 Unnumbered or IPv6 Unnumbered, the IP Address MUST be the | IPv4 Unnumbered or IPv6 Unnumbered, the IP Address MUST be the | |||
LSR's Router ID, and the Interface MUST be set to the index | LSR's Router ID, and the Interface MUST be set to the index | |||
assigned to the interface. | assigned to the interface. | |||
Note: Usage of IPv6 Unnumbered has the same issue as [RFC8029], | Note: Usage of IPv6 Unnumbered has the same issue as [RFC8029], | |||
described in Section 3.4.2 of [RFC7439]. A solution should be | described in Section 3.4.2 of [RFC7439]. A solution should be | |||
considered an applied to both [RFC8029] and this document. | considered an applied to both [RFC8029] and this document. | |||
Sub-TLV Length | ||||
Total length in octets of the sub-TLVs associated with this | ||||
TLV. | ||||
10.1. Sub-TLVs | 10.1. Sub-TLVs | |||
This section defines the sub-TLVs that MAY be included as part of the | This section defines the sub-TLVs that MAY be included as part of the | |||
Detailed Interface and Label Stack TLV. | Detailed Interface and Label Stack TLV. | |||
Sub-Type Value Field | Sub-Type Value Field | |||
--------- ------------ | --------- ------------ | |||
1 Incoming Label stack | 1 Incoming Label stack | |||
2 Incoming Interface Index | 2 Incoming Interface Index | |||
skipping to change at page 22, line 39 ¶ | skipping to change at page 21, line 39 ¶ | |||
Registry Name: LAG Interface Info Flags | Registry Name: LAG Interface Info Flags | |||
Bit number Name Reference | Bit number Name Reference | |||
---------- ---------------------------------------- --------- | ---------- ---------------------------------------- --------- | |||
31 D: Downstream LAG Info Accommodation this document | 31 D: Downstream LAG Info Accommodation this document | |||
30 U: Upstream LAG Info Accommodation this document | 30 U: Upstream LAG Info Accommodation this document | |||
0-29 Unassigned | 0-29 Unassigned | |||
Assignments of LSR Capability Flags are via Standards Action | Assignments of LSR Capability Flags are via Standards Action | |||
[RFC5226]. | [RFC8126]. | |||
12.2. Local Interface Index Sub-TLV | 12.2. Local Interface Index Sub-TLV | |||
The IANA is requested to assign new value TBD2 (from the range | The IANA is requested to assign new value TBD2 (from the range | |||
4-31743) for the Local Interface Index Sub-TLV from the | 4-31743) for the Local Interface Index Sub-TLV from the | |||
"Multiprotocol Label Switching Architecture (MPLS) Label Switched | "Multiprotocol Label Switching Architecture (MPLS) Label Switched | |||
Paths (LSPs) Ping Parameters - TLVs" registry, "Sub-TLVs for TLV | Paths (LSPs) Ping Parameters - TLVs" registry, "Sub-TLVs for TLV | |||
Types 20" sub-registry. | Types 20" sub-registry. | |||
Value Meaning Reference | Value Meaning Reference | |||
skipping to change at page 23, line 18 ¶ | skipping to change at page 22, line 18 ¶ | |||
"Interface Index Flags" with following registration procedures: | "Interface Index Flags" with following registration procedures: | |||
Registry Name: Interface Index Flags | Registry Name: Interface Index Flags | |||
Bit number Name Reference | Bit number Name Reference | |||
---------- ---------------------------------------- --------- | ---------- ---------------------------------------- --------- | |||
15 M: LAG Member Link Indicator this document | 15 M: LAG Member Link Indicator this document | |||
0-14 Unassigned | 0-14 Unassigned | |||
Assignments of Interface Index Flags are via Standards Action | Assignments of Interface Index Flags are via Standards Action | |||
[RFC5226]. | [RFC8126]. | |||
Note that this registry is used by the Interface Index Flags field of | Note that this registry is used by the Interface Index Flags field of | |||
following Sub-TLVs: | following Sub-TLVs: | |||
o The Local Interface Index Sub-TLV which may be present in the | o The Local Interface Index Sub-TLV which may be present in the | |||
"Downstream Detailed Mapping" TLV. | "Downstream Detailed Mapping" TLV. | |||
o The Remote Interface Index Sub-TLV which may be present in the | o The Remote Interface Index Sub-TLV which may be present in the | |||
"Downstream Detailed Mapping" TLV. | "Downstream Detailed Mapping" TLV. | |||
skipping to change at page 24, line 29 ¶ | skipping to change at page 23, line 29 ¶ | |||
Sub-Type Name Reference | Sub-Type Name Reference | |||
----------- -------------------------------------- --------- | ----------- -------------------------------------- --------- | |||
1 Incoming Label Stack this document | 1 Incoming Label Stack this document | |||
2 Incoming Interface Index this document | 2 Incoming Interface Index this document | |||
3-16383 Unassigned (mandatory TLVs) | 3-16383 Unassigned (mandatory TLVs) | |||
16384-31743 Experimental | 16384-31743 Experimental | |||
32768-49161 Unassigned (optional TLVs) | 32768-49161 Unassigned (optional TLVs) | |||
49162-64511 Experimental | 49162-64511 Experimental | |||
Assignments of Sub-Types in the mandatory and optional spaces are are | Assignments of Sub-Types in the mandatory and optional spaces are are | |||
via Standards Action [RFC5226]. Assignments of Sub-Types in the | via Standards Action [RFC8126]. Assignments of Sub-Types in the | |||
experimental space is via Specification Required [RFC5226]. | experimental space is via Specification Required [RFC8126]. | |||
12.5. DS Flags | 12.5. 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 [RFC7537]. | Note: the "DS flags" sub-registry is created by [RFC8029]. | |||
Bit number Name Reference | Bit number Name Reference | |||
---------- ---------------------------------------- --------- | ---------- ---------------------------------------- --------- | |||
TBD5 G: LAG Description Indicator this document | TBD5 G: LAG Description Indicator this document | |||
13. Acknowledgements | 13. Acknowledgements | |||
The authors would like to thank Nagendra Kumar and Sam Aldrin for | The authors would like to thank Nagendra Kumar and Sam Aldrin for | |||
providing useful comments and suggestions. The authors would like to | providing useful comments and suggestions. The authors would like to | |||
thank Loa Andersson for performing a detailed review and providing | thank Loa Andersson for performing a detailed review and providing | |||
skipping to change at page 25, line 23 ¶ | skipping to change at page 24, line 23 ¶ | |||
14. References | 14. References | |||
14.1. Normative References | 14.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, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC7537] Decraene, B., Akiya, N., Pignataro, C., Andersson, L., and | ||||
S. Aldrin, "IANA Registries for LSP Ping Code Points", | ||||
RFC 7537, DOI 10.17487/RFC7537, May 2015, | ||||
<https://www.rfc-editor.org/info/rfc7537>. | ||||
[RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., | [RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., | |||
Aldrin, S., and M. Chen, "Detecting Multiprotocol Label | Aldrin, S., and M. Chen, "Detecting Multiprotocol Label | |||
Switched (MPLS) Data-Plane Failures", RFC 8029, | Switched (MPLS) Data-Plane Failures", RFC 8029, | |||
DOI 10.17487/RFC8029, March 2017, | DOI 10.17487/RFC8029, March 2017, | |||
<https://www.rfc-editor.org/info/rfc8029>. | <https://www.rfc-editor.org/info/rfc8029>. | |||
14.2. Informative References | 14.2. Informative References | |||
[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 | |||
2008. | 2008. | |||
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an | ||||
IANA Considerations Section in RFCs", RFC 5226, | ||||
DOI 10.17487/RFC5226, May 2008, | ||||
<https://www.rfc-editor.org/info/rfc5226>. | ||||
[RFC7439] George, W., Ed. and C. Pignataro, Ed., "Gap Analysis for | [RFC7439] George, W., Ed. and C. Pignataro, Ed., "Gap Analysis for | |||
Operating IPv6-Only MPLS Networks", RFC 7439, | Operating IPv6-Only MPLS Networks", RFC 7439, | |||
DOI 10.17487/RFC7439, January 2015, | DOI 10.17487/RFC7439, January 2015, | |||
<https://www.rfc-editor.org/info/rfc7439>. | <https://www.rfc-editor.org/info/rfc7439>. | |||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | ||||
Writing an IANA Considerations Section in RFCs", BCP 26, | ||||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | ||||
<https://www.rfc-editor.org/info/rfc8126>. | ||||
Appendix A. LAG with L2 Switch Issues | Appendix A. LAG with L2 Switch Issues | |||
Several flavors of "LAG with L2 switch" provisioning models are | Several flavors of "LAG with L2 switch" provisioning models are | |||
described in this section, with MPLS data plane ECMP traversal | described in this section, with MPLS data plane ECMP traversal | |||
validation issues with each. | validation issues with each. | |||
A.1. Equal Numbers of LAG Members | A.1. Equal Numbers of LAG Members | |||
R1 ==== S1 ==== R2 | R1 ==== S1 ==== R2 | |||
End of changes. 24 change blocks. | ||||
104 lines changed or deleted | 46 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |