draft-ietf-mpls-rfc8287-len-clarification-04.txt   rfc8690.txt 
Network Work group N. Nainar Internet Engineering Task Force (IETF) N. Nainar
Internet-Draft C. Pignataro Request for Comments: 8690 C. Pignataro
Updates: 8287 (if approved) Cisco Systems, Inc. Updates: 8287 Cisco Systems, Inc.
Intended status: Standards Track F. Iqbal Category: Standards Track F. Iqbal
Expires: February 9, 2020 Individual ISSN: 2070-1721 Individual
A. Vainshtein A. Vainshtein
ECI Telecom ECI Telecom
August 8, 2019 December 2019
RFC8287 Sub-TLV Length Clarification Clarification of Segment ID Sub-TLV Length for RFC 8287
draft-ietf-mpls-rfc8287-len-clarification-04
Abstract Abstract
RFC8287 defines the extensions to MPLS LSP Ping and Traceroute for RFC 8287 defines the extensions to perform LSP Ping and Traceroute
Segment Routing IGP-Prefix and IGP-Adjacency Segment Identifier for Segment Routing IGP-Prefix and IGP-Adjacency Segment Identifiers
(SIDs) with an MPLS data plane. RFC8287 proposes 3 Target FEC Stack (SIDs) with the MPLS data plane. RFC 8287 proposes three Target
Sub-TLVs. While the standard defines the format and procedure to Forwarding Equivalence Class (FEC) Stack sub-TLVs. While RFC 8287
handle those Sub-TLVs, it does not sufficiently clarify how the defines the format and procedure to handle those sub-TLVs, it does
length of the Segment ID Sub-TLVs should be computed to include in not sufficiently clarify how the length of the Segment ID sub-TLVs
the Length field of the Sub-TLVs which may result in interoperability should be computed to be included in the Length field of the sub-
issues. TLVs. This ambiguity has resulted in interoperability issues.
This document updates RFC8287 by clarifying the length of each This document updates RFC 8287 by clarifying the length of each of
Segment ID Sub-TLVs defined in RFC8287. the Segment ID sub-TLVs defined in RFC 8287.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on February 9, 2020. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc8690.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology
3. Requirements notation . . . . . . . . . . . . . . . . . . . . 3 3. Requirements Notation
4. Length field clarification for Segment ID Sub-TLVs . . . . . 3 4. Length Field Clarification for Segment ID Sub-TLVs
4.1. IPv4 IGP-Prefix Segment ID Sub-TLV . . . . . . . . . . . 3 4.1. IPv4 IGP-Prefix Segment ID Sub-TLV
4.2. IPv6 IGP-Prefix Segment ID Sub-TLV . . . . . . . . . . . 3 4.2. IPv6 IGP-Prefix Segment ID Sub-TLV
4.3. IGP-Adjacency Segment ID Sub-TLV . . . . . . . . . . . . 4 4.3. IGP-Adjacency Segment ID Sub-TLV
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 5. IANA Considerations
6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations
7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 5 7. Normative References
8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 5 Acknowledgements
9. Normative References . . . . . . . . . . . . . . . . . . . . 5 Contributors
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 Authors' Addresses
1. Introduction 1. Introduction
[RFC8287] defines the extensions to MPLS LSP Ping and Traceroute for [RFC8287] defines the extensions to MPLS LSP Ping and Traceroute for
Segment Routing IGP-Prefix and IGP-Adjacency Segment Identifier Segment Routing IGP-Prefix and IGP-Adjacency Segment Identifiers
(SIDs) with an MPLS data plane. [RFC8287] proposes 3 Target FEC (SIDs) with the MPLS data plane. [RFC8287] proposes three Target FEC
Stack Sub-TLVs. While the standard defines the format and procedure Stack sub-TLVs. While RFC 8287 defines the format and procedure to
to handle those Sub-TLVs, it does not sufficiently clarify how the handle those sub-TLVs, it does not sufficiently clarify how the
length of the Segment ID Sub-TLVs should be computed to include in length of the Segment ID sub-TLVs should be computed to be included
the Length field of the Sub-TLVs which may result in interoperability in the Length field of the sub-TLVs, which may result in
issues. interoperability issues.
This document updates [RFC8287] by clarifying the length of each This document updates [RFC8287] by clarifying the length of each
Segment ID Sub-TLVs defined in [RFC8287]. Segment ID sub-TLVs defined in [RFC8287].
2. Terminology 2. Terminology
This document uses the terminologies defined in [RFC8402], [RFC8029], This document uses the terminology defined in [RFC8402], [RFC8029],
[RFC8287] and so the readers are expected to be familiar with the and [RFC8287]; readers are expected to be familiar with the terms as
same. used in those documents.
3. Requirements notation 3. Requirements Notation
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in
14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
4. Length field clarification for Segment ID Sub-TLVs 4. Length Field Clarification for Segment ID Sub-TLVs
Section 5 of [RFC8287] defines 3 different Segment ID Sub-TLVs that Section 5 of [RFC8287] defines three different Segment ID sub-TLVs
will be included in Target FEC Stack TLV defined in [RFC8029]. The that can be included in the Target FEC Stack TLV defined in
length of each Sub-TLVs MUST be calculated as defined in this [RFC8029]. The length of each sub-TLV MUST be calculated as defined
section. in this section.
The TLVs representation defined in section 5.1, 5.2 and 5.3 of The TLV representations defined in Sections 5.1, 5.2, and 5.3 of
[RFC8287] are updated to clarify the length calculation as shown in [RFC8287] are updated to clarify the length calculations, as shown in
section 4.1, 4.2 and 4.3 respectively. The updated TLV Sections 4.1, 4.2, and 4.3, respectively. The updated TLV
representation contain explicitly defined length. representations contain explicitly defined lengths.
4.1. IPv4 IGP-Prefix Segment ID Sub-TLV 4.1. IPv4 IGP-Prefix Segment ID Sub-TLV
The Sub-TLV length for IPv4 IGP-Prefix Segment ID MUST be set to 8 as The sub-TLV length for the IPv4 IGP-Prefix Segment ID MUST be set to
shown in the below TLV format: 8, as shown in the TLV format below:
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 = 34 (IPv4 IGP-Prefix SID)| Length = 8 | |Type = 34 (IPv4 IGP-Prefix SID)| Length = 8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 prefix | | IPv4 prefix |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Prefix Length | Protocol | Reserved | |Prefix Length | Protocol | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.2. IPv6 IGP-Prefix Segment ID Sub-TLV 4.2. IPv6 IGP-Prefix Segment ID Sub-TLV
The Sub-TLV length for IPv6 IGP-Prefix Segment ID MUST be set to 20 The sub-TLV length for the IPv6 IGP-Prefix Segment ID MUST be set to
as shown in the below TLV format: 20, as shown in the TLV format below:
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 = 35 (IPv6 IGP-Prefix SID)| Length = 20 | |Type = 35 (IPv6 IGP-Prefix SID)| Length = 20 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| | | |
| IPv6 Prefix | | IPv6 Prefix |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Prefix Length | Protocol | Reserved | |Prefix Length | Protocol | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.3. IGP-Adjacency Segment ID Sub-TLV 4.3. IGP-Adjacency Segment ID Sub-TLV
The Sub-TLV length for IGP-Adjacency Segment ID varies depending on The sub-TLV length for the IGP-Adjacency Segment ID varies depending
the Adjacency Type and Protocol. In any of the allowed combination on the Adjacency Type and Protocol. In any of the allowed
of Adjacency Type and Protocol, the sub-TLV length MUST be calculated combinations of Adjacency Type and Protocol, the sub-TLV length MUST
by including 2 octets of Reserved field. Table 1 below list the be calculated by including 2 octets of the Reserved field. Table 1
length for different combinations of Adj.Type and Protocol. lists the length for different combinations of Adj. Type and
Protocol.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +----------+-------------------------------------+
| Protocol | Length for Adj.Type | | Protocol | Length for Adj. Type |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +----------+------+------+------------+
| | Parallel | IPv4 | IPv6 | Unnumbered| | | Parallel | IPv4 | IPv6 | Unnumbered |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +==========+==========+======+======+============+
| OSPF | 20 | 20 | 44 | 20 | | OSPF | 20 | 20 | 44 | 20 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +----------+----------+------+------+------------+
| ISIS | 24 | 24 | 48 | 24 | | ISIS | 24 | 24 | 48 | 24 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +----------+----------+------+------+------------+
| Any | 20 | 20 | 44 | 20 | | Any | 20 | 20 | 44 | 20 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +----------+----------+------+------+------------+
Table 1. IGP-Adjacency SID Length Comparison
Table 1: IGP-Adjacency SID Length Computation
For example, when the Adj. Type is set to Parallel Adjacency and the For example, when the Adj. Type is set to Parallel Adjacency and the
Protocol is set to 0, the Sub-TLV will be as below: Protocol is set to 0, the sub-TLV will be as below:
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 = 36 (IGP-Adjacency SID) | Length = 20 | |Type = 36 (IGP-Adjacency SID) | Length = 20 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adj. Type = 1 | Protocol = 0 | Reserved | | Adj. Type = 1 | Protocol = 0 | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Interface ID (4 octets) | | Local Interface ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote Interface ID (4 octets) | | Remote Interface ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Advertising Node Identifier (4 octets) | | Advertising Node Identifier (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receiving Node Identifier (4 octets) | | Receiving Node Identifier (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5. IANA Considerations 5. IANA Considerations
This document does not introduce any IANA consideration. IANA has listed this document as an additional reference for the
following entries in the "Sub-TLVs for TLV Types 1, 16, and 21"
registry:
+----------+----------------------------+---------------------+
| Sub-Type | Sub-TLV Name | Reference |
+==========+============================+=====================+
| 34 | IPv4 IGP-Prefix Segment ID | Section 5.1 of |
| | | [RFC8287]; RFC 8690 |
+----------+----------------------------+---------------------+
| 35 | IPv6 IGP-Prefix Segment ID | Section 5.2 of |
| | | [RFC8287]; RFC 8690 |
+----------+----------------------------+---------------------+
| 36 | IGP-Adjacency Segment ID | Section 5.3 of |
| | | [RFC8287]; RFC 8690 |
+----------+----------------------------+---------------------+
Table 2: Sub-TLVs for TLV Types 1, 16, and 21 (Updated Entries)
6. Security Considerations 6. Security Considerations
This document updates [RFC8287] and does not introduce any additional This document updates [RFC8287] and does not introduce any additional
security considerations. security considerations.
7. Contributors 7. Normative References
The below individuals contributed to this document:
Zafar Ali, Cisco Systems, Inc.
8. Acknowledgement
The authors would like to thank Michael Gorokhovsky and Manohar
Doppalapudi for investigating the interop issue during EANTC test.
9. 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>.
[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,
skipping to change at page 6, line 21 skipping to change at line 242
Ping/Traceroute for Segment Routing (SR) IGP-Prefix and Ping/Traceroute for Segment Routing (SR) IGP-Prefix and
IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data
Planes", RFC 8287, DOI 10.17487/RFC8287, December 2017, Planes", RFC 8287, DOI 10.17487/RFC8287, December 2017,
<https://www.rfc-editor.org/info/rfc8287>. <https://www.rfc-editor.org/info/rfc8287>.
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
Decraene, B., Litkowski, S., and R. Shakir, "Segment Decraene, B., Litkowski, S., and R. Shakir, "Segment
Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
July 2018, <https://www.rfc-editor.org/info/rfc8402>. July 2018, <https://www.rfc-editor.org/info/rfc8402>.
Acknowledgements
The authors would like to thank Michael Gorokhovsky and Manohar
Doppalapudi for investigating the interoperability issue during
European Advanced Network Test Center (EANTC) testing.
Contributors
The following individual contributed to this document: Zafar Ali,
Cisco Systems, Inc.
Authors' Addresses Authors' Addresses
Nagendra Kumar Nainar Nagendra Kumar Nainar
Cisco Systems, Inc. Cisco Systems, Inc.
7200-12 Kit Creek Road 7200-12 Kit Creek Road
Research Triangle Park, NC 27709 Research Triangle Park, NC 27709
US United States of America
Email: naikumar@cisco.com Email: naikumar@cisco.com
Carlos Pignataro Carlos Pignataro
Cisco Systems, Inc. Cisco Systems, Inc.
7200-11 Kit Creek Road 7200-11 Kit Creek Road
Research Triangle Park, NC 27709 Research Triangle Park, NC 27709
US United States of America
Email: cpignata@cisco.com Email: cpignata@cisco.com
Faisal Iqbal Faisal Iqbal
Individual Individual
Canada Canada
Email: faisal.iqbal@msn.com Email: faisal.ietf@gmail.com
Alexander Vainshtein Alexander Vainshtein
ECI Telecom ECI Telecom
Israel Israel
Email: vainshtein.alex@gmail.com Email: vainshtein.alex@gmail.com
 End of changes. 31 change blocks. 
142 lines changed or deleted 157 lines changed or added

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