Skip to main content

Multi-Part TLVs in IS-IS
draft-ietf-lsr-multi-tlv-19

Yes

Gunter Van de Velde
(John Scudder)
(Murray Kucherawy)

No Objection

Andy Newton
Erik Kline
Orie Steele
Paul Wouters

Note: This ballot was opened for revision 10 and is now closed.

Gunter Van de Velde
Yes
Ketan Talaulikar
(was Discuss) Yes
Comment (2025-04-25 for -18) Sent
Many thanks to the authors and the WG for this important document for ISIS that addresses a pressing scaling challenge with a pragmatic solution.

My thanks to Yingzhen as the document shepherd for putting together a very good write-up that provides a summary of the document through its WG phase.

Thanks to the authors for working through addressing all of my DISCUSS concerns and almost all of my comments/suggestions for improving this document. For a couple of non-blocking comments where we could not converge, I am ok with going with what has emerged from the WG consensus.
Mohamed Boucadair
Yes
Comment (2025-03-25 for -11) Sent
Hi Parag, Tony L., Tony P., Shraddha, and Les, 

Many thanks for the effort put into this specification. 

I strongly support the objective of this effort and like the pragmatic approach followed here. So, thanks again.

I have some comments that I’d like to be addressed/discussed, especially the ones marked with (*).

# General

## (nit) Please use consistent wording MP-TLV vs. Multi-Part TLV through the document

## (nit) I may be old school, but I think the document should use “router”, instead of “node”.

# Abstract (nit): not every technologies is adding info into IGP + split a long sentence: 

OLD:
   New technologies are adding new information into IS-IS while
   deployment scales are simultaneously increasing, causing the contents
   of many critical TLVs to exceed the currently supported limit of 255
   octets.  

NEW:
   Deploying some new techniques relies upon adding new information into IS-IS while
   deployment scales are simultaneously increasing. This causes the contents
   of many critical TLVs to exceed the currently supported limit of 255
   octets.  

# Introduction

## (nit) s/Some TLV definitions have addressed this by explicitly/Some TLV definitions have addressed this issue by explicitly

## Justification for alternate mechanisms (*)

CURRENT: 

   Any future document which
   proposes a different mechanism for scaling TLV contents for a given
   codepoint MUST provide justification.

I’m not fun of normative language in an introduction (as the context is not yet well established), we may consider replacing “provide justification” with a more meaningful guidance, e.g., “identify the shortcomings of the multiple part approach and motivate the need for a another mechanism”.

Also, you may consider: s/ Any future document which proposes/Any future document that proposes standardizing

## I would delete ", if they choose not to specify another extension mechanism".

# Section 3.2.1

Please cite where type 22 is defined + remind how the identifiers are encoded:

OLD: 
   As an example, consider the Extended IS Reachability TLV (type 22).
   …
   *  Optionally one or more of the following link identifiers:

NEW:
   As an example, consider the Extended IS Reachability TLV (type 22) [RFC5305].
   …
   *  Optionally one or more of the following link identifiers encoded as sub-TLVs (0-244 octets):

# Section 4: On Keys

CURRENT:
   The encoding of TLVs is not altered by the introduction of MP-TLV
   support.  In particular, the "key" which is used to identify the set
   of TLVs which form an MP-TLV is the same key used in the absence of
   MP-TLV support.  Also note the definition of the "key" exists in the
   specification(s) which define(s) the TLV.

   NOTE: This document intentionally does not include a definition of
   the key for each codepoint.  To do so would be redundant and risk
   unintentionally deviating from the definition which already exists in
   the relevant specifications.

## Maybe it is accurate to also remind in the note that term “key” is not used per se in these specs.

## (nit) BTW, please fix this part: s/specification(s) which define(s) the TLV/specification(s) that define(s) a TLV.

# Section 5 (*)

CURRENT: 
   When processing MP-TLVs, implementations MUST NOT impose a minimum
   length check.   

Agree... however, should we have a max of MP-TLVs to be used as a guard for splitting the information into a large numbers of TLVs?

# Section 6

## I don’t parse what is meant by "advertised in a codepoint". I guess you meant advertised with or in a TLV with a type/codepoint. I suggest to make the following change:

s/may be advertised in a single codepoint /may be advertised with a single codepoint

## Simplify

OLD:
   This guarantees that
   any new codepoints defined by future protocol extensions will
   explicitly indicate the applicability of Multi-Part TLV procedures to
   the new codepoints.

NEW:
   Future allocations will
   explicitly indicate the applicability of Multi-Part TLV procedures to
   the new codepoints.

# Section 7

## Please elaborate more the "extremely disruptive" mention in the following:

CURRENT: 
   Introduction of the use of MP-TLV for codepoints where the existing
   specifications have not explicitly defined MP-TLV support can be
   extremely disruptive to network operations in cases where not all

## I don’t parse the following: 

CURRENT:
   It is presumed that if such
   support is provided that it applies to all relevant codepoints.  

## Consider adding examples of deployment scenarios

OLD:
   a given implementation might limit MP-
   TLV support to particular codepoints based on the needs of the
   deployment scenarios in which it is used.

NEW:
   a given implementation might limit MP-
   TLV support to particular codepoints based on the needs of the
   deployment scenarios in which it is used (e.g., set by default
   or controlled by a configuration parameter).  

## I suggest to delete the following. This message is already stated in the document:

CURRENT:
   Note that with the introduction of explicit specification of MP-TLV
   applicability for codepoints (Section 9), implicit MP-TLV support
   will never occur in the future.

## What is the goal of this MUST if the implem is already conformant?! (*)

CURRENT:
   Where MP-TLV support is explicitly
   defined, conformant implementations MUST support MP-TLV.

# Section 8: Not sure the normative language makes sense in the following text:

CURRENT:
   Sending of MP-TLVs in the presence of nodes which do not correctly
   process such advertisements can result in interoperability issues,
   including incorrect forwarding of packets.  This section discusses
   best practices which SHOULD be used when a deployment requires the
   use of MP-TLVs for codepoints for which existing specifications do
   not explicitly indicate MP-TLV support.

# Section 8.1

## Configuration and defaults (*)

CURRENT: 
   It is RECOMMENDED that implementations which support the sending of
   MP-TLVs provide configuration controls to enable/disable generation
   of MP-TLVs.  

 (1) Should we also be able to expose the actual (configurable) capabilities?

 (2) Given the implications of partial support, can we suggest the default be to disable?

## Does the report in the following covers logging? Can we be explicit here? (*)

CURRENT:
   Implementations which support disablement of MP-TLVs MUST report
   alarms under the following conditions:

# Section 9.2: (nit) s/ This document requests that IANA extend/This document requests that IANA extends

# Section 10 (*)

CURRENT:
  This document creates no new security issues for IS-IS.  

Isn’t generalizing applicability of MP-TLV may be misused (e.g., abuse the number of occurrences to consume computing resources of a receiver)?

Cheers,
Med
Andy Newton
No Objection
Deb Cooley
No Objection
Comment (2025-04-17 for -16) Sent
Thank you to David Mandelberg for their secdir reviews.  Also for the detailed shepherd review by Yingzhen Qu.

General:  I think the definition and explanation of how the term 'key' as used in this context is good.  I also agree w/ Ketan's comment on lines 247-251 for how to clarify the wording about where 'key' is defined for a given TLV.

Section 10:  The ability to add multiple TLVs to an IS-IS session (possibly not the right word) may increase the ability to cause a denial of service via resource exhaustion.  If that is a risk, please address this security concern.  Otherwise, please clarify why it isn't a concern.
Éric Vyncke
No Objection
Comment (2025-04-07 for -13) Sent
# Éric Vyncke, INT AD, comments for draft-ietf-lsr-multi-tlv-13
CC @evyncke

Thank you for the work put into this document.

Please find below some non-blocking COMMENT points (but replies would be appreciated even if only for my own education), and some nits.

Special thanks (and congratulations) to Yingzhen Qu for the shepherd's detailed write-up including the WG consensus (and the history) *and* the justification of the intended status.

I hope that this review helps to improve the document,

Regards,

-éric

## COMMENTS (non-blocking)

### Abstract

s/New technologies are adding new information/New specifications and IS-IS extensions are adding new information/

### Section 1

Unsure whether IS-IS is used over the public Internet in `The continued growth of the Internet` :-)

In the first paragraph, it is unclear whether the 255 applies per TLV or for the whole set of TLV (even if the reader can have a guess, let's be clear).

s/Any future *document* *which* proposes/Any future *IETF specification* *that* proposes/ ? 

Should there be an exhaustive list rather than `Some examples of this are` ?

Please introduce "LSP" before first use.

Strongly suggest to indicate that the MP-TLV capability is negotiated (as I had big ??? in mind until section 7).

### Section 4

Bear with my lack of IS-IS expertise, but can a IIH message be fragmented in several layer-2 packets ? If so, how can a node differentiate between recent and old TLV in "MP-TLV" bundle (i.e., are these TLV parts of a unique bundle or separates ones) ?

`Breaking of a single sub-TLV or other data unit across TLVs MUST NOT be done` what is the expected behavior when receiving such a TLV ?

### Section 5

Does the basis IS-IS specification cover the case when several TLV having the same Type have conflicting values ? Should there be text about this corner case ?

### Section 6

Be more assertive and use "MUST" in `Therefore any new codepoints defined by future protocol extensions will explicitly indicate the applicability of MP-TLV procedures to the new codepoints`

### Section 7

I find this section under-specified , e.g., isn't the following wishful thinking `It is presumed that if such support is provided that it applies to all relevant codepoints`?

Why not a "MUST" in `SHOULD include this sub-TLV in a Router Capability TLV` ?

### Section 8

s/presence of routers *which* do not correctly/presence of routers *that* do not correctly/

Please explain the consequences (or when it can be bypassed) of the 2 "SHOULD".

### Section 9.1

Suggest adding informative references to the IANA registries URIs.

### Section 9.2

Should there be guidance for the designated experts ?

## NITS (non-blocking / cosmetic)

### Section 1

`PDU` acronym is never used, so do not introduce it ;)
Erik Kline
No Objection
Gorry Fairhurst
No Objection
Comment (2025-03-24 for -11) Sent
Thank you for writing this document, I have only one comment:
“A TLV may contain information in its fixed part that is not part of the key.”
- Could this be an RFC 2119 “MAY”?
Jim Guichard
No Objection
Comment (2025-04-15 for -15) Sent
Thank you to the authors for this document, and a special thank you to the document shepherd for a very thorough review with pointers to much of the relevant WG discussion around specific points of contention. Most of my comments were nits that have been addressed by other reviewers ballots so I will not repeat them here. This leaves me with just a single comment on the abstract:

Abstract#

The sentence "Extensions exist that require significant IS-IS changes that could help address the problem, but a less drastic solution would be beneficial" implies that this document provides a pragmatic solution rather than a more intrusive update to the IS-IS protocol. This leaves me wondering what these extensions are, and I see no discussion around this further into the document (unless the text around [RFC7356] is what the authors were alluding too), or whether deployment of the solution in this document would allow for future extensions to be backwards compatible should the need arise to further define these "Extensions" in the future. Practically speaking I see no reasons why this should be a problem given that "significant IS-IS changes" could have implications far beyond MP-TLV so I am wondering if this sentence should just be removed as it does not really provide any value.
Mike Bishop
No Objection
Comment (2025-04-16 for -16) Sent
I had previously reviewed this document, as well as another objecting to it, in the course of understanding the appeal that was raised. While it would be nice to have a crisper definition of the "key" for each TLV, I understand and agree with the WG consensus that the key for each relevant TLV is sufficiently clear to implementers in practice. This document acknowledges and formalizes an existing workaround actively being used, and existing successful interoperation is the best evidence that this is clear to implementers.
Orie Steele
No Objection
Paul Wouters
No Objection
Roman Danyliw
No Objection
Comment (2025-04-16 for -16) Not sent
Thank you to Peter Yee for the GENART review.

** Section 9.2.1. Editorial.

        | 17        | IS-IS Area Node IDs TLV                | N  |
        +-----------+----------------------------------------+----+
        | 18        | IS-IS Flooding Path TLV                | N  |
        +-----------+----------------------------------------+----+
        | 19        | IS-IS Flooding Request TLV             | N  |

       | 126       | IPv4 Algorithm Prefix Reachability TLV | N  |
        +-----------+----------------------------------------+----+
        | 127       | IPv6 Algorithm Prefix Reachability TLV | N  |


These code point names include “TLV” as a suffix in this document, but that suffix is NOT present in the IANA registry.
John Scudder Former IESG member
Yes
Yes (for -10) Not sent

                            
Murray Kucherawy Former IESG member
(was No Objection) Yes
Yes (for -11) Sent