Ballot for draft-ietf-lsr-multi-tlv
Yes
No Objection
Note: This ballot was opened for revision 10 and is now closed.
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.
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
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.
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”?
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.
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.
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.
# É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 ;)