rfc9885v2.txt   rfc9885.txt 
skipping to change at line 114 skipping to change at line 114
defining new attributes, further adding to the scaling pressures. defining new attributes, further adding to the scaling pressures.
The original TLV definition limits each TLV to a maximum of 255 The original TLV definition limits each TLV to a maximum of 255
octets of payload, which is becoming increasingly problematic. octets of payload, which is becoming increasingly problematic.
Some TLV definitions have addressed this by explicitly stating that a Some TLV definitions have addressed this by explicitly stating that a
TLV may appear multiple times inside of a Link State PDU (LSP). TLV may appear multiple times inside of a Link State PDU (LSP).
However, this has not been done for many currently defined TLVs, However, this has not been done for many currently defined TLVs,
leaving the situation somewhat ambiguous. leaving the situation somewhat ambiguous.
For example, [RFC5305] defines the Extended IS reachability TLV (22) For example, [RFC5305] defines the Extended IS reachability TLV (22)
and [RFC5120] defines the MT Intermediate Systems TLV (222). These and [RFC5120] defines the MT-ISN TLV (222). These documents do not
documents do not specify sending multiple TLVs for the same object specify sending multiple TLVs for the same object and no other
and no other mechanism for expanding the information carrying mechanism for expanding the information carrying capacity of the TLV
capacity of the TLV has been specified. has been specified.
The intent of this document is to clarify and codify the situation by The intent of this document is to clarify and codify the situation by
explicitly making multiple occurrences of a TLV the standard explicitly making multiple occurrences of a TLV the standard
mechanism for scaling TLV contents. Any future document that mechanism for scaling TLV contents. Any future document that
proposes a different mechanism for scaling TLV contents for a given proposes a different mechanism for scaling TLV contents for a given
codepoint must explain why multiple occurrences of a TLV is not codepoint must explain why multiple occurrences of a TLV is not
appropriate. appropriate.
This document does not alter the encoding of any TLV where multiple This document does not alter the encoding of any TLV where multiple
occurrences of a TLV are already defined. Some examples of this are: occurrences of a TLV are already defined. Some examples of this are:
skipping to change at line 139 skipping to change at line 139
* Router CAPABILITY TLV (Type 242) [RFC7981] * Router CAPABILITY TLV (Type 242) [RFC7981]
* Application-Specific SRLG (Type 238) [RFC9479] * Application-Specific SRLG (Type 238) [RFC9479]
* Instance Identifier (Type 7) [RFC8202] * Instance Identifier (Type 7) [RFC8202]
* Application-Specific Link Attributes (sub-TLV Type 16) [RFC9479] * Application-Specific Link Attributes (sub-TLV Type 16) [RFC9479]
[RFC7356] has defined a 16-bit Length field for TLVs in flooding [RFC7356] has defined a 16-bit Length field for TLVs in flooding
scoped Protocol Data Units (PDUs), in which case the problem scoped Protocol Data Units (PDUs), in which case the problem
addressed by this document would not exist. However, introduction of addressed by this document would likely not be encountered. However,
these new PDU types is not backwards compatible. Therefore, there is introduction of these new PDU types is not backwards compatible.
a need to address how to expand the information advertised in Therefore, there is a need to address how to expand the information
existing PDUs that use 8-bit length TLVs. advertised in existing PDUs that use TLVs with 8-bit Length fields.
The mechanism described in this document has not been documented for The mechanism described in this document has not been documented for
all TLVs previously. This document provides the necessary protocol all TLVs previously. This document provides the necessary protocol
definition and discusses potential interoperability issues and definition and discusses potential interoperability issues and
deployment challenges. deployment challenges.
This document specifies a means for extending TLVs where no extension This document specifies a means for extending TLVs where no extension
mechanism has been previously explicitly specified, and defines this mechanism has been previously explicitly specified. It also
mechanism as the default extension mechanism for future TLVs. The specifies this mechanism as the default extension mechanism for
mechanism described in this document is applicable to top level TLVs future TLVs. The mechanism described in this document is applicable
as well as any level of sub-TLVs that may appear within a top level to top level TLVs as well as any level of sub-TLVs that may appear
TLV. within a top level TLV.
2. Requirements Language 2. Requirements Language
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 "OPTIONAL" in this document are to be interpreted as described in
BCP 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.
3. Overview of MP-TLV Applicability to TLVs 3. Overview of MP-TLV Applicability to TLVs
skipping to change at line 379 skipping to change at line 379
Type: 30 (1 octet) Type: 30 (1 octet)
Length: 0 (1 octet) Length: 0 (1 octet)
Routers that support MP-TLV for codepoints for which existing Routers that support MP-TLV for codepoints for which existing
specifications do not explicitly define such support, but for which specifications do not explicitly define such support, but for which
MP-TLV is applicable, SHOULD include this sub-TLV in a Router MP-TLV is applicable, SHOULD include this sub-TLV in a Router
CAPABILITY TLV. CAPABILITY TLV.
Scope of the associated Router CAPABILITY TLV is per level (S-bit Scope of the associated Router CAPABILITY TLV is per level (S-bit
clear). clear) [RFC7981].
This advertisement is for informational purposes only. IS-IS This advertisement is for informational purposes only. IS-IS
protocol implementations MUST NOT alter what is sent or how what is protocol implementations MUST NOT alter what is sent or how what is
received is processed based on these advertisements. received is processed based on these advertisements.
The sub-TLV intentionally does not provide a syntax to specify MP-TLV The sub-TLV intentionally does not provide a syntax to specify MP-TLV
support on a per-codepoint basis. It is presumed that if such support on a per-codepoint basis. It is presumed that if such
support is provided that it applies to all relevant codepoints. It support is provided that it applies to all relevant codepoints. It
is understood that in reality, a given implementation might limit MP- is understood that in reality, a given implementation might limit MP-
TLV support to particular codepoints based on the needs of the TLV support to particular codepoints based on the needs of the
skipping to change at line 475 skipping to change at line 475
existing TLV, as long as there is space in the TLV, information existing TLV, as long as there is space in the TLV, information
SHOULD NOT be split into multiple TLVs. If there is no space in the SHOULD NOT be split into multiple TLVs. If there is no space in the
current LSP to fit the now larger TLV, the TLV SHOULD be moved to a current LSP to fit the now larger TLV, the TLV SHOULD be moved to a
new LSP. new LSP.
9. IANA Considerations 9. IANA Considerations
9.1. MP-TLV Support Sub-TLV 9.1. MP-TLV Support Sub-TLV
IANA has registered the following code point from the "IS-IS Sub-TLVs IANA has registered the following code point from the "IS-IS Sub-TLVs
for IS-IS Router CAPABILITY TLV" registry: for IS-IS Router CAPABILITY TLV" registry (see
<https://www.iana.org/assignments/isis-tlv-codepoints>):
Type: 30 Type: 30
Description: MP-TLV Support for TLVs with Implicit Support Description: MP-TLV Support for TLVs with Implicit Support
MP-TLV Applicability: N MP-TLV Applicability: N
Reference: Section 7 of RFC 9885 Reference: Section 7 of RFC 9885
9.2. Extension to IS-IS Top-Level TLV Registries 9.2. Extension to IS-IS Top-Level TLV Registries
IANA has extended a number of registries under the "IS-IS TLV IANA has extended a number of registries under the "IS-IS TLV
Codepoints" registry group (<https://www.iana.org/assignments/isis- Codepoints" registry group (<https://www.iana.org/assignments/isis-
skipping to change at line 500 skipping to change at line 501
The following subsections provide the initial contents of the new The following subsections provide the initial contents of the new
column for a number of existing registries. The initial values for column for a number of existing registries. The initial values for
MP-TLV applicability defined in the following subsections are based MP-TLV applicability defined in the following subsections are based
on the rule that MP-TLV is applicable to any codepoint that supports on the rule that MP-TLV is applicable to any codepoint that supports
sub-TLVs, without regard to whether the sub-TLVs that are currently sub-TLVs, without regard to whether the sub-TLVs that are currently
defined are sufficient to require MP-TLVs to be sent. defined are sufficient to require MP-TLVs to be sent.
9.2.1. MP-TLV for IS-IS Top-Level TLV Codepoints 9.2.1. MP-TLV for IS-IS Top-Level TLV Codepoints
IANA has added the MP column to the "IS-IS Top-Level TLV Codepoints"
registry (<https://www.iana.org/assignments/isis-tlv-codepoints>) and
populated it as shown in Table 1.
+===========+====================================+====+ +===========+====================================+====+
| Value | Name | MP | | Value | Name | MP |
+===========+====================================+====+ +===========+====================================+====+
| 0 | Reserved | | | 0 | Reserved | |
+-----------+------------------------------------+----+ +-----------+------------------------------------+----+
| 1 | Area Addresses | N | | 1 | Area Addresses | N |
+-----------+------------------------------------+----+ +-----------+------------------------------------+----+
| 2 | IIS Neighbors | N | | 2 | IIS Neighbors | N |
+-----------+------------------------------------+----+ +-----------+------------------------------------+----+
| 3 | ES Neighbors | N | | 3 | ES Neighbors | N |
 End of changes. 6 change blocks. 
15 lines changed or deleted 20 lines changed or added

This html diff was produced by rfcdiff 1.48.