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. |