rfc-8690

Clarification of Segment ID Sub-TLV Length for RFC 8287

N. Nainar, C. Pignataro, F. Iqbal, A. Vainshtein
date2019-12 streamIETF areartg wgmpls statusPROPOSED STANDARD pages7 canonicalhttps://www.rfc-editor.org/rfc/rfc8690 doi10.17487/RFC8690
RFC 8287 defines the extensions to perform LSP Ping and Traceroute for Segment Routing IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs) with the MPLS data plane. RFC 8287 proposes three Target Forwarding Equivalence Class (FEC) Stack sub-TLVs. While RFC 8287 defines the format and procedure to handle those sub-TLVs, it does not sufficiently clarify how the length of the Segment ID sub-TLVs should be computed to be included in the Length field of the sub-TLVs. This ambiguity has resulted in interoperability issues. This document updates RFC 8287 by clarifying the length of each of the Segment ID sub-TLVs defined in RFC 8287.

updates

Extracted elements (10)

design-rationale §1

The length clarification was necessitated by an ambiguity in RFC 8287 that led to real interoperability failures observed during European Advanced Network Test Center (EANTC) testing, demonstrating that underspecified length fields in TLV formats cause implementation divergence.

mpls, routing

interoperability-note §1

RFC 8287 did not sufficiently clarify how the length of the Segment ID sub-TLVs should be computed, resulting in interoperability issues discovered during EANTC testing. RFC 8690 resolves this ambiguity by specifying explicit length values.

mpls, routing

normative-requirement §4.3 MUST

For the IGP-Adjacency Segment ID sub-TLV, the length MUST be calculated by including 2 octets of the Reserved field, with the total length varying by Adjacency Type and Protocol (e.g., OSPF Parallel/IPv4/Unnumbered = 20, OSPF IPv6 = 44, ISIS Parallel/IPv4/Unnumbered = 24, ISIS IPv6 = 48).

mpls, routing

normative-requirement §4.1 MUST

The sub-TLV length for the IPv4 IGP-Prefix Segment ID MUST be set to 8.

mpls, routing

normative-requirement §4.2 MUST

The sub-TLV length for the IPv6 IGP-Prefix Segment ID MUST be set to 20.

mpls, routing

registry §5

IANA updated the 'Sub-TLVs for TLV Types 1, 16, and 21' registry to add RFC 8690 as an additional reference for Sub-Types 34 (IPv4 IGP-Prefix Segment ID), 35 (IPv6 IGP-Prefix Segment ID), and 36 (IGP-Adjacency Segment ID).

registry, mpls

security-consideration §6

This document updates RFC 8287 and does not introduce any additional security considerations.

security, mpls

wire-format §4.3

IGP-Adjacency Segment ID sub-TLV (Type=36) has a variable length depending on Adjacency Type and Protocol; the example shows Parallel Adjacency with Protocol=0 encoding Local Interface ID (4 octets), Remote Interface ID (4 octets), Advertising Node Identifier (4 octets), and Receiving Node Identifier (4 octets), plus 2 octets Reserved.

mpls, routing

wire-format §4.1

IPv4 IGP-Prefix Segment ID sub-TLV (Type=34) has a fixed Length field of 8, containing a 4-octet IPv4 prefix, 1-octet Prefix Length, 1-octet Protocol, and 2 octets Reserved.

mpls, routing

wire-format §4.2

IPv6 IGP-Prefix Segment ID sub-TLV (Type=35) has a fixed Length field of 20, containing a 16-octet IPv6 prefix, 1-octet Prefix Length, 1-octet Protocol, and 2 octets Reserved.

mpls, routing