rfc9479.original | rfc9479.txt | |||
---|---|---|---|---|
Networking Working Group L. Ginsberg | Internet Engineering Task Force (IETF) L. Ginsberg | |||
Internet-Draft P. Psenak | Request for Comments: 9479 P. Psenak | |||
Obsoletes: 8919 (if approved) Cisco Systems | Obsoletes: 8919 Cisco Systems | |||
Intended status: Standards Track S. Previdi | Category: Standards Track S. Previdi | |||
Expires: 26 November 2023 Huawei Technologies | ISSN: 2070-1721 Huawei Technologies | |||
W. Henderickx | W. Henderickx | |||
Nokia | Nokia | |||
J. Drake | J. Drake | |||
Juniper Networks | Juniper Networks | |||
25 May 2023 | October 2023 | |||
IS-IS Application-Specific Link Attributes | IS-IS Application-Specific Link Attributes | |||
draft-ietf-lsr-rfc8919bis-04 | ||||
Abstract | Abstract | |||
Existing traffic-engineering-related link attribute advertisements | Existing traffic-engineering-related link attribute advertisements | |||
have been defined and are used in RSVP-TE deployments. Since the | have been defined and are used in RSVP-TE deployments. Since the | |||
original RSVP-TE use case was defined, additional applications (e.g., | original RSVP-TE use case was defined, additional applications (e.g., | |||
Segment Routing Policy and Loop-Free Alternates) that also make use | Segment Routing Policy and Loop-Free Alternates) that also make use | |||
of the link attribute advertisements have been defined. In cases | of the link attribute advertisements have been defined. In cases | |||
where multiple applications wish to make use of these link | where multiple applications wish to make use of these link | |||
attributes, the current advertisements do not support application- | attributes, the current advertisements do not support application- | |||
specific values for a given attribute, nor do they support indication | specific values for a given attribute, nor do they support an | |||
of which applications are using the advertised value for a given | indication of which applications are using the advertised value for a | |||
link. This document introduces new link attribute advertisements | given link. This document introduces link attribute advertisements | |||
that address both of these shortcomings. | that address both of these shortcomings. | |||
This document obsoletes RFC 8919. | This document obsoletes RFC 8919. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 26 November 2023. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9479. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2023 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 | 1.1. Requirements Language | |||
2. Requirements Discussion . . . . . . . . . . . . . . . . . . . 4 | 2. Requirements Discussion | |||
3. Legacy Advertisements . . . . . . . . . . . . . . . . . . . . 5 | 3. Legacy Advertisements | |||
3.1. Legacy Sub-TLVs . . . . . . . . . . . . . . . . . . . . . 5 | 3.1. Legacy Sub-TLVs | |||
3.2. Legacy SRLG Advertisements . . . . . . . . . . . . . . . 6 | 3.2. Legacy SRLG Advertisements | |||
4. Advertising Application-Specific Link Attributes . . . . . . 6 | 4. Advertising Application-Specific Link Attributes | |||
4.1. Application Identifier Bit Mask . . . . . . . . . . . . . 7 | 4.1. Application Identifier Bit Mask | |||
4.2. Application-Specific Link Attributes Sub-TLV . . . . . . 9 | 4.2. Application-Specific Link Attributes Sub-TLV | |||
4.2.1. Special Considerations for Maximum Link Bandwidth . . 10 | 4.2.1. Special Considerations for Maximum Link Bandwidth | |||
4.2.2. Special Considerations for Reservable/Unreserved | 4.2.2. Special Considerations for Reservable/Unreserved | |||
Bandwidth . . . . . . . . . . . . . . . . . . . . . . 11 | Bandwidth | |||
4.2.3. Considerations for Extended TE Metrics . . . . . . . 11 | 4.2.3. Considerations for Extended TE Metrics | |||
4.3. Application-Specific SRLG TLV . . . . . . . . . . . . . . 11 | 4.3. Application-Specific SRLG TLV | |||
5. Attribute Advertisements and Enablement . . . . . . . . . . . 13 | 5. Attribute Advertisements and Enablement | |||
6. Deployment Considerations . . . . . . . . . . . . . . . . . . 14 | 6. Deployment Considerations | |||
6.1. Use of Legacy Advertisements . . . . . . . . . . . . . . 14 | 6.1. Use of Legacy Advertisements | |||
6.2. Use of Zero-Length Application Identifier Bit Masks . . . 15 | 6.2. Use of Zero-Length Application Identifier Bit Masks | |||
6.3. Interoperability, Backwards Compatibility, and Migration | 6.3. Interoperability, Backwards Compatibility, and Migration | |||
Concerns . . . . . . . . . . . . . . . . . . . . . . . . 15 | Concerns | |||
6.3.1. Multiple Applications: Common Attributes with | 6.3.1. Multiple Applications: Common Attributes with RSVP-TE | |||
RSVP-TE . . . . . . . . . . . . . . . . . . . . . . . 15 | ||||
6.3.2. Multiple Applications: All Attributes Not Shared with | 6.3.2. Multiple Applications: All Attributes Not Shared with | |||
RSVP-TE . . . . . . . . . . . . . . . . . . . . . . . 16 | RSVP-TE | |||
6.3.3. Interoperability with Legacy Routers . . . . . . . . 16 | 6.3.3. Interoperability with Legacy Routers | |||
6.3.4. Use of Application-Specific Advertisements for | 6.3.4. Use of Application-Specific Advertisements for RSVP-TE | |||
RSVP-TE . . . . . . . . . . . . . . . . . . . . . . . 17 | 7. IANA Considerations | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 | 7.1. Application-Specific Link Attributes Sub-TLV | |||
7.1. Application-Specific Link Attributes Sub-TLV . . . . . . 17 | 7.2. Application-Specific SRLG TLV | |||
7.2. Application-Specific SRLG TLV . . . . . . . . . . . . . . 18 | 7.3. IS-IS Sub-Sub-TLV Codepoints for Application-Specific Link | |||
7.3. Sub-sub-TLV Codepoints for Application-Specific Link | Attributes Registry | |||
Attributes Registry . . . . . . . . . . . . . . . . . . . 18 | 7.4. Link Attribute Application Identifiers Registry | |||
7.5. IS-IS Sub-TLVs for Application-Specific SRLG TLV | ||||
7.4. Link Attribute Application Identifiers Registry . . . . . 20 | 8. Security Considerations | |||
7.5. Sub-TLVs for TLV 238 Registry . . . . . . . . . . . . . . 20 | 9. Changes to RFC 8919 | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | 10. References | |||
9. Changes to RFC 8919 . . . . . . . . . . . . . . . . . . . . . 22 | 10.1. Normative References | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 | 10.2. Informative References | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 22 | Acknowledgements | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 23 | Authors' Addresses | |||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 24 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | ||||
1. Introduction | 1. Introduction | |||
NOTE: This document makes modest editorial changes to the content of | ||||
RFC 8919 which it obsoletes. A detailed description of the changes | ||||
is provided in Section 9. This note was added for the benefit of | ||||
IESG reviewers and SHOULD be removed by the RFC Editor prior to | ||||
publication. | ||||
Advertisement of link attributes by the Intermediate System to | Advertisement of link attributes by the Intermediate System to | |||
Intermediate System (IS-IS) protocol in support of traffic | Intermediate System (IS-IS) protocol in support of Traffic | |||
engineering (TE) was introduced by [RFC5305] and extended by | Engineering (TE) was introduced by [RFC5305] and extended by | |||
[RFC5307], [RFC6119], [RFC7308], and [RFC8570]. Use of these | [RFC5307], [RFC6119], [RFC7308], and [RFC8570]. The use of these | |||
extensions has been associated with deployments supporting Traffic | extensions has been associated with deployments supporting TE over | |||
Engineering over Multiprotocol Label Switching (MPLS) in the presence | Multiprotocol Label Switching (MPLS) in the presence of the Resource | |||
of the Resource Reservation Protocol (RSVP), more succinctly referred | Reservation Protocol (RSVP), more succinctly referred to as RSVP-TE | |||
to as RSVP-TE [RFC3209]. | [RFC3209]. | |||
For the purposes of this document, an application is a technology | For the purposes of this document, an application is a technology | |||
that makes use of link attribute advertisements, examples of which | that makes use of link attribute advertisements, examples of which | |||
are listed in Section 3. | are listed in Section 3. | |||
In recent years, new applications that have use cases for many of the | In recent years, new applications that have use cases for many of the | |||
link attributes historically used by RSVP-TE have been introduced. | link attributes historically used by RSVP-TE have been introduced. | |||
Such applications include Segment Routing (SR) Policy | Such applications include Segment Routing (SR) Policy [RFC9256] and | |||
[SEGMENT-ROUTING] and Loop-Free Alternates (LFAs) [RFC5286]. This | Loop-Free Alternates (LFAs) [RFC5286]. This has introduced ambiguity | |||
has introduced ambiguity in that if a deployment includes a mix of | in that if a deployment includes a mix of RSVP-TE support and SR | |||
RSVP-TE support and SR Policy support, for example, it is not | Policy support, for example, it is not possible to unambiguously | |||
possible to unambiguously indicate which advertisements are to be | indicate which advertisements are to be used by RSVP-TE and which | |||
used by RSVP-TE and which advertisements are to be used by SR Policy. | advertisements are to be used by SR Policy. If the topologies are | |||
If the topologies are fully congruent, this may not be an issue, but | fully congruent, this may not be an issue, but any incongruence leads | |||
any incongruence leads to ambiguity. | to ambiguity. | |||
An example of where this ambiguity causes a problem is a network | An example of where this ambiguity causes a problem is a network | |||
where RSVP-TE is enabled only on a subset of its links. A link | where RSVP-TE is enabled only on a subset of its links. A link | |||
attribute is advertised for the purpose of another application (e.g., | attribute is advertised for the purpose of another application (e.g., | |||
SR Policy) for a link that is not enabled for RSVP-TE. As soon as | SR Policy) for a link that is not enabled for RSVP-TE. As soon as | |||
the router that is an RSVP-TE head end sees the link attribute being | the router that is an RSVP-TE head end sees the link attribute being | |||
advertised for that link, it assumes RSVP-TE is enabled on that link, | advertised for that link, it assumes that RSVP-TE is enabled on that | |||
even though it is not. If such an RSVP-TE head-end router tries to | link, even though it is not. If such an RSVP-TE head-end router | |||
set up an RSVP-TE path via that link, it will result in a path setup | tries to set up an RSVP-TE path via that link, it will result in a | |||
failure. | setup failure for the path. | |||
An additional issue arises in cases where both applications are | An additional issue arises in cases where both applications are | |||
supported on a link but the link attribute values associated with | supported on a link but the link attribute values associated with | |||
each application differ. Current advertisements do not support | each application differ. Current advertisements do not support | |||
advertising application-specific values for the same attribute on a | advertising application-specific values for the same attribute on a | |||
specific link. | specific link. | |||
This document defines extensions that address these issues. Also, as | This document defines extensions that address these issues. Also, as | |||
evolution of use cases for link attributes can be expected to | evolution of use cases for link attributes can be expected to | |||
continue in the years to come, this document defines a solution that | continue in the years to come, this document defines a solution that | |||
skipping to change at page 4, line 35 ¶ | skipping to change at line 165 ¶ | |||
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. | |||
2. Requirements Discussion | 2. Requirements Discussion | |||
As stated previously, evolution of use cases for link attributes can | As stated previously, evolution of use cases for link attributes can | |||
be expected to continue. Therefore, any discussion of existing use | be expected to continue. Therefore, any discussion of existing use | |||
cases is limited to requirements that are known at the time of this | cases is limited to requirements that are known at the time of this | |||
writing. However, in order to determine the functionality required | writing. However, in order to determine the functionality required | |||
beyond what already exists in IS-IS, it is only necessary to discuss | beyond what already exists in IS-IS, it is only necessary to discuss | |||
use cases that justify the key points identified in the introduction, | use cases that justify the key points identified in the Introduction, | |||
which are: | which are: | |||
1. Support for indicating which applications are using the link | 1. Support for indicating which applications are using the link | |||
attribute advertisements on a link | attribute advertisements on a link. | |||
2. Support for advertising application-specific values for the same | 2. Support for advertising application-specific values for the same | |||
attribute on a link | attribute on a link. | |||
[RFC7855] discusses use cases and requirements for Segment Routing | [RFC7855] discusses use cases and requirements for SR. Included | |||
(SR). Included among these use cases is SR Policy, which is defined | among these use cases is SR Policy, which is defined in [RFC9256]. | |||
in [SEGMENT-ROUTING]. If both RSVP-TE and SR Policy are deployed in | If both RSVP-TE and SR Policy are deployed in a network, link | |||
a network, link attribute advertisements can be used by one or both | attribute advertisements can be used by one or both of these | |||
of these applications. There is no requirement for the link | applications. There is no requirement for the link attributes | |||
attributes advertised on a given link used by SR Policy to be | advertised on a given link used by SR Policy to be identical to the | |||
identical to the link attributes advertised on that same link used by | link attributes advertised on that same link used by RSVP-TE; thus, | |||
RSVP-TE; thus, there is a clear requirement to indicate independently | there is a clear requirement to indicate independently which link | |||
which link attribute advertisements are to be used by each | attribute advertisements are to be used by each application. | |||
application. | ||||
As the number of applications that may wish to utilize link | As the number of applications that may wish to utilize link | |||
attributes may grow in the future, an additional requirement is that | attributes may grow in the future, an additional requirement is that | |||
the extensions defined allow the association of additional | the extensions defined allow the association of additional | |||
applications to link attributes without altering the format of the | applications to link attributes without altering the format of the | |||
advertisements or introducing new backwards-compatibility issues. | advertisements or introducing backwards-compatibility issues. | |||
Finally, there may still be many cases where a single attribute value | Finally, there may still be many cases where a single attribute value | |||
can be shared among multiple applications, so the solution must | can be shared among multiple applications, so the solution must | |||
minimize advertising duplicate link/attribute pairs whenever | minimize advertising duplicate link/attribute pairs whenever | |||
possible. | possible. | |||
3. Legacy Advertisements | 3. Legacy Advertisements | |||
Existing advertisements used in support of RSVP-TE include sub-TLVs | Existing advertisements used in support of RSVP-TE include sub-TLVs | |||
for TLVs Advertising Neighbor Information and TLVs for Shared Risk | for TLVs Advertising Neighbor Information and TLVs for Shared Risk | |||
Link Group (SRLG) advertisement. | Link Group (SRLG) advertisements. | |||
Sub-TLV values are defined in the "IS-IS sub-TLVs for TLVs | Sub-TLV values are defined in the "IS-IS Sub-TLVs for TLVs | |||
Advertising Neighbor Information" registry. | Advertising Neighbor Information" registry. | |||
TLVs are defined in the "TLV Codepoints Registry". | TLVs are defined in the "IS-IS TLV Codepoints" registry. | |||
3.1. Legacy Sub-TLVs | 3.1. Legacy Sub-TLVs | |||
+======+====================================+ | +======+====================================+ | |||
| Type | Description | | | Type | Description | | |||
+======+====================================+ | +======+====================================+ | |||
| 3 | Administrative group (color) | | | 3 | Administrative group (color) | | |||
+------+------------------------------------+ | +------+------------------------------------+ | |||
| 9 | Maximum link bandwidth | | | 9 | Maximum link bandwidth | | |||
+------+------------------------------------+ | +------+------------------------------------+ | |||
| 10 | Maximum reservable link bandwidth | | | 10 | Maximum reservable link bandwidth | | |||
+------+------------------------------------+ | +------+------------------------------------+ | |||
| 11 | Unreserved bandwidth | | | 11 | Unreserved bandwidth | | |||
+------+------------------------------------+ | +------+------------------------------------+ | |||
| 14 | Extended Administrative Group | | | 14 | Extended Administrative Group | | |||
+------+------------------------------------+ | +------+------------------------------------+ | |||
| 18 | TE Default Metric | | | 18 | TE Default metric | | |||
+------+------------------------------------+ | +------+------------------------------------+ | |||
| 33 | Unidirectional Link Delay | | | 33 | Unidirectional Link Delay | | |||
+------+------------------------------------+ | +------+------------------------------------+ | |||
| 34 | Min/Max Unidirectional Link Delay | | | 34 | Min/Max Unidirectional Link Delay | | |||
+------+------------------------------------+ | +------+------------------------------------+ | |||
| 35 | Unidirectional Delay Variation | | | 35 | Unidirectional Delay Variation | | |||
+------+------------------------------------+ | +------+------------------------------------+ | |||
| 36 | Unidirectional Link Loss | | | 36 | Unidirectional Link Loss | | |||
+------+------------------------------------+ | +------+------------------------------------+ | |||
| 37 | Unidirectional Residual Bandwidth | | | 37 | Unidirectional Residual Bandwidth | | |||
+------+------------------------------------+ | +------+------------------------------------+ | |||
| 38 | Unidirectional Available Bandwidth | | | 38 | Unidirectional Available Bandwidth | | |||
+------+------------------------------------+ | +------+------------------------------------+ | |||
| 39 | Unidirectional Utilized Bandwidth | | | 39 | Unidirectional Utilized Bandwidth | | |||
+------+------------------------------------+ | +------+------------------------------------+ | |||
Table 1: Sub-TLVs for TLVs Advertising | Table 1 | |||
Neighbor Information | ||||
3.2. Legacy SRLG Advertisements | 3.2. Legacy SRLG Advertisements | |||
TLV 138 (GMPLS-SRLG): | TLV 138 (GMPLS-SRLG): | |||
Supports links identified by IPv4 addresses and unnumbered links. | Supports links identified by IPv4 addresses and unnumbered links. | |||
TLV 139 (IPv6 SRLG): | TLV 139 (IPv6 SRLG): | |||
Supports links identified by IPv6 addresses. | Supports links identified by IPv6 addresses. | |||
Note that [RFC6119] prohibits the use of TLV 139 when it is possible | Note that [RFC6119] prohibits the use of TLV 139 when it is possible | |||
to use TLV 138. | to use TLV 138. | |||
4. Advertising Application-Specific Link Attributes | 4. Advertising Application-Specific Link Attributes | |||
Two new codepoints are defined to support Application-Specific Link | Two codepoints are defined to support Application-Specific Link | |||
Attribute (ASLA) advertisements: | Attribute (ASLA) advertisements: | |||
1) Application-Specific Link Attributes sub-TLV for TLVs Advertising | 1. Application-Specific Link Attributes sub-TLV for TLVs Advertising | |||
Neighbor Information (defined in Section 4.2). | Neighbor Information (defined in Section 4.2). | |||
2) Application-Specific Shared Risk Link Group (SRLG) TLV (defined | 2. Application-Specific SRLG TLV (defined in Section 4.3). | |||
in Section 4.3). | ||||
To support these new advertisements, an application identifier bit | To support these advertisements, an application identifier bit mask | |||
mask is defined to identify the application(s) associated with a | is defined to identify the application(s) associated with a given | |||
given advertisement (defined in Section 4.1). | advertisement (defined in Section 4.1). | |||
In addition to supporting the advertisement of link attributes used | In addition to supporting the advertisement of link attributes used | |||
by standardized applications, link attributes can also be advertised | by standardized applications, link attributes can also be advertised | |||
for use by user-defined applications. Such applications are not | for use by User-Defined Applications (UDAs). Such applications are | |||
subject to standardization and are outside the scope of this | not subject to standardization and are outside the scope of this | |||
document. | document. | |||
The following sections define the format of these new advertisements. | The following sections define the format of these advertisements. | |||
4.1. Application Identifier Bit Mask | 4.1. Application Identifier Bit Mask | |||
Identification of the set of applications associated with link | Identification of the set of applications associated with link | |||
attribute advertisements utilizes two bit masks. One bit mask is for | attribute advertisements utilizes two bit masks. One bit mask is for | |||
standard applications where the definition of each bit is defined in | standard applications where the definition of each bit is defined in | |||
a new IANA-controlled registry (see Section 7.4). A second bit mask | an IANA-controlled registry (see Section 7.4). A second bit mask is | |||
is for non-standard user-defined applications (UDAs). | for non-standard UDAs. | |||
The encoding defined below is used by both the Application-Specific | The encoding defined below is used by both the Application-Specific | |||
Link Attributes sub-TLV and the Application-Specific SRLG TLV. | Link Attributes sub-TLV and the Application-Specific SRLG TLV. | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+--+--+--+--+--+--+--+--+ | +--+--+--+--+--+--+--+--+ | |||
| SABM Length + Flag | 1 octet | | SABM Length + Flag | 1 octet | |||
+--+--+--+--+--+--+--+--+ | +--+--+--+--+--+--+--+--+ | |||
| UDABM Length + Flag | 1 octet | | UDABM Length + Flag | 1 octet | |||
+--+--+--+--+--+--+--+--+ | +--+--+--+--+--+--+--+--+ | |||
| SABM ... 0 - 8 octets | | SABM ... 0-8 octets | |||
+--+--+--+--+--+--+--+--+ | +--+--+--+--+--+--+--+--+ | |||
| UDABM ... 0 - 8 octets | | UDABM ... 0-8 octets | |||
+--+--+--+--+--+--+--+--+ | +--+--+--+--+--+--+--+--+ | |||
SABM Length + Flag (1 octet): Standard Application Identifier Bit | SABM Length + Flag (1 octet): | |||
Mask Length + Flag | Standard Application Identifier Bit Mask Length + Flag | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|L| SABM Length | | |L| SABM Length | | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
L-flag: Legacy Flag. See Section 4.2 for a description of how | L-flag: | |||
this flag is used. | Legacy Flag. See Section 4.2 for a description of how this | |||
flag is used. | ||||
SABM Length: Indicates the length in octets (0-8) of the Standard | SABM Length: | |||
This field indicates the length in octets (0-8) of the Standard | ||||
Application Identifier Bit Mask. The length SHOULD be the | Application Identifier Bit Mask. The length SHOULD be the | |||
minimum required to send all bits that are set. | minimum required to send all bits that are set. | |||
UDABM Length + Flag (1 octet): User-Defined Application Identifier | UDABM Length + Flag (1 octet): | |||
Bit Mask Length + Flag | User-Defined Application Identifier Bit Mask Length + Flag | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|R| UDABM Length| | |R| UDABM Length| | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
R: Reserved. SHOULD be transmitted as 0 and MUST be ignored on | R: | |||
Reserved. SHOULD be transmitted as 0 and MUST be ignored on | ||||
receipt. | receipt. | |||
UDABM Length: Indicates the length in octets (0-8) of the User- | UDABM Length: | |||
Defined Application Identifier Bit Mask. The length SHOULD be | Indicates the length in octets (0-8) of the User-Defined | |||
the minimum required to send all bits that are set. | Application Identifier Bit Mask. The length SHOULD be the | |||
minimum required to send all bits that are set. | ||||
SABM (variable length): Standard Application Identifier Bit Mask | SABM (variable length): | |||
Standard Application Identifier Bit Mask | ||||
(SABM Length * 8) bits | (SABM Length * 8) bits | |||
This field is omitted if SABM Length is 0. | This field is omitted if SABM Length is 0. | |||
0 1 2 3 4 5 6 7 ... | 0 1 2 3 4 5 6 7 ... | |||
+-+-+-+-+-+-+-+-+... | +-+-+-+-+-+-+-+-+... | |||
|R|S|F| ... | |R|S|F| ... | |||
+-+-+-+-+-+-+-+-+... | +-+-+-+-+-+-+-+-+... | |||
R-bit: Set to specify RSVP-TE. | R-bit: | |||
Set to specify RSVP-TE. | ||||
S-bit: Set to specify Segment Routing Policy (this is dataplane | S-bit: | |||
independent). | Set to specify SR Policy (this is data plane independent). | |||
F-bit: Set to specify Loop-Free Alternate (LFA) (includes all LFA | F-bit: | |||
types). | Set to specify an LFA (includes all LFA types). | |||
UDABM (variable length): User-Defined Application Identifier Bit | UDABM (variable length): | |||
Mask | User-Defined Application Identifier Bit Mask | |||
(UDABM Length * 8) bits | (UDABM Length * 8) bits | |||
0 1 2 3 4 5 6 7 ... | 0 1 2 3 4 5 6 7 ... | |||
+-+-+-+-+-+-+-+-+... | +-+-+-+-+-+-+-+-+... | |||
| ... | | ... | |||
+-+-+-+-+-+-+-+-+... | +-+-+-+-+-+-+-+-+... | |||
This field is omitted if UDABM Length is 0. | This field is omitted if UDABM Length is 0. | |||
skipping to change at page 9, line 14 ¶ | skipping to change at line 375 ¶ | |||
Standard Application Identifier Bits are defined and sent starting | Standard Application Identifier Bits are defined and sent starting | |||
with bit 0. | with bit 0. | |||
User-Defined Application Identifier Bits have no relationship to | User-Defined Application Identifier Bits have no relationship to | |||
Standard Application Identifier Bits and are not managed by IANA or | Standard Application Identifier Bits and are not managed by IANA or | |||
any other standards body. It is recommended that bits be used | any other standards body. It is recommended that bits be used | |||
starting with bit 0 so as to minimize the number of octets required | starting with bit 0 so as to minimize the number of octets required | |||
to advertise all UDAs. | to advertise all UDAs. | |||
For both SABM and UDABM, the following rules apply: | For both the SABM and UDABM, the following rules apply: | |||
* Undefined bits that are transmitted MUST be transmitted as 0 and | * Undefined bits that are transmitted MUST be transmitted as 0 and | |||
MUST be ignored on receipt. | MUST be ignored on receipt. | |||
* Bits that are not transmitted MUST be treated as if they are set | * Bits that are not transmitted MUST be treated as if they are set | |||
to 0 on receipt. | to 0 on receipt. | |||
* Bits that are not supported by an implementation MUST be ignored | * Bits that are not supported by an implementation MUST be ignored | |||
on receipt. | on receipt. | |||
4.2. Application-Specific Link Attributes Sub-TLV | 4.2. Application-Specific Link Attributes Sub-TLV | |||
A new sub-TLV for TLVs Advertising Neighbor Information is defined | A sub-TLV for TLVs Advertising Neighbor Information is defined that | |||
that supports specification of the applications and application- | supports specification of the applications and application-specific | |||
specific attribute values. | attribute values. | |||
Type: 16 | Type: | |||
16 | ||||
Length: Variable (1 octet) | Length: | |||
Variable (1 octet) | ||||
Value: | Value: | |||
Application Identifier Bit Mask (as defined in Section 4.1) | Application Identifier Bit Mask (as defined in Section 4.1) | |||
Link Attribute sub-sub-TLVs -- format matches the existing | Link Attribute sub-sub-TLVs -- format matches the existing formats | |||
formats defined in [RFC5305], [RFC7308], and [RFC8570] | defined in [RFC5305], [RFC7308], and [RFC8570] | |||
If the SABM or UDABM Length in the Application Identifier Bit Mask is | If the SABM Length or UDABM Length in the Application Identifier Bit | |||
greater than 8, the entire sub-TLV MUST be ignored. | Mask is greater than 8, the entire sub-TLV MUST be ignored. | |||
When SABM or UDABM Length is non-zero and the L-flag is NOT set, all | When the SABM Length or UDABM Length is non-zero and the L-flag is | |||
applications specified in the bit mask MUST use the link attribute | NOT set, all applications specified in the bit mask MUST use the link | |||
advertisements in the sub-TLV. | attribute advertisements in the sub-TLV. | |||
When the L-flag is set in the Application Identifier Bit Mask, all of | When the L-flag is set in the Application Identifier Bit Mask, all of | |||
the applications specified in the bit mask MUST use the legacy | the applications specified in the bit mask MUST use the legacy | |||
advertisements for the corresponding link found in TLVs Advertising | advertisements for the corresponding link found in TLVs Advertising | |||
Neighbor Information. Link attribute sub-sub-TLVs for the | Neighbor Information. Link attribute sub-sub-TLVs for the | |||
corresponding link attributes MUST NOT be advertised for the set of | corresponding link attributes MUST NOT be advertised for the set of | |||
applications specified in the Standard or User-Defined Application | applications specified in the Standard Application Identifier Bit | |||
Identifier Bit Masks, and all such sub-sub-TLVs MUST be ignored on | Mask or the User-Defined Application Identifier Bit Mask, and all | |||
receipt. | such sub-sub-TLVs MUST be ignored on receipt. | |||
Multiple Application-Specific Link Attributes sub-TLVs for the same | Multiple Application-Specific Link Attributes sub-TLVs for the same | |||
link MAY be advertised. When multiple sub-TLVs for the same link are | link MAY be advertised. When multiple sub-TLVs for the same link are | |||
advertised, they SHOULD advertise non-conflicting application/ | advertised, they SHOULD advertise non-conflicting application/ | |||
attribute pairs. A conflict exists when the same application is | attribute pairs. A conflict exists when the same application is | |||
associated with two different values for the same link attribute for | associated with two different values for the same link attribute for | |||
a given link. In cases where conflicting values for the same | a given link. In cases where conflicting values for the same | |||
application/attribute/link are advertised, the first advertisement | application/attribute/link are advertised, the first advertisement | |||
received in the lowest-numbered LSP MUST be used, and subsequent | received in the lowest-numbered Link State Protocol Data Unit (LSP) | |||
advertisements of the same attribute MUST be ignored. | MUST be used, and subsequent advertisements of the same attribute | |||
MUST be ignored. | ||||
For a given application, the setting of the L-flag MUST be the same | For a given application, the setting of the L-flag MUST be the same | |||
in all sub-TLVs for a given link. In cases where this constraint is | in all sub-TLVs for a given link. In cases where this constraint is | |||
violated, the L-flag MUST be considered set for this application. | violated, the L-flag MUST be considered set for this application. | |||
The end result of the set of rules defined above is that for a given | The end result of the set of rules defined above is that for a given | |||
application either the attribute values advertised in ASLA sub-sub- | application either the attribute values advertised in ASLA sub-sub- | |||
TLVs are used or the attribute values advertised in Legacy sub-TLVs | TLVs are used or the attribute values advertised in legacy sub-TLVs | |||
are used, but not both. | are used, but not both. | |||
Link attributes MAY be advertised associated with zero-length | Link attributes MAY be advertised associated with zero-length | |||
Application Identifier Bit Masks for both standard applications and | Application Identifier Bit Masks for both standard applications and | |||
user-defined applications. Such link attribute advertisements MUST | UDAs. Such link attribute advertisements MUST be used by standard | |||
be used by standard applications and/or user defined applications | applications and/or UDAs when no link attribute advertisements with a | |||
when no link attribute advertisements with a non-zero-length | non-zero-length Application Identifier Bit Mask and a matching | |||
Application Identifier Bit Mask and a matching Application Identifier | Application Identifier Bit set are present for a given link. | |||
Bit set are present for a given link. Otherwise, such link attribute | Otherwise, such link attribute advertisements MUST NOT be used. | |||
advertisements MUST NOT be used. | ||||
IANA has created a new registry of sub-sub-TLVs to define the link | IANA has created a registry of sub-sub-TLVs to define the link | |||
attribute sub-sub-TLV codepoints (see Section 7.3). This document | attribute sub-sub-TLV codepoints (see Section 7.3). This document | |||
defines a sub-sub-TLV for each of the existing sub-TLVs listed in | defines a sub-sub-TLV for each of the existing sub-TLVs listed in | |||
Section 3.1, except as noted below. The format of the sub-sub-TLVs | Section 3.1, except as noted below. The format of the sub-sub-TLVs | |||
matches the format of the corresponding legacy sub-TLV, and IANA has | matches the format of the corresponding legacy sub-TLV, and IANA has | |||
assigned the legacy sub-TLV identifier to the corresponding sub-sub- | assigned the legacy sub-TLV identifier to the corresponding sub-sub- | |||
TLV. | TLV. | |||
4.2.1. Special Considerations for Maximum Link Bandwidth | 4.2.1. Special Considerations for Maximum Link Bandwidth | |||
Maximum link bandwidth is an application-independent attribute of the | Maximum link bandwidth is an application-independent attribute of the | |||
skipping to change at page 11, line 11 ¶ | skipping to change at line 471 ¶ | |||
This can be accomplished most efficiently by having a single | This can be accomplished most efficiently by having a single | |||
advertisement for a given link where the Application Identifier Bit | advertisement for a given link where the Application Identifier Bit | |||
Mask identifies all the applications that are making use of the value | Mask identifies all the applications that are making use of the value | |||
for that link. | for that link. | |||
It is also possible to advertise the same value for a given link | It is also possible to advertise the same value for a given link | |||
multiple times with disjoint sets of applications specified in the | multiple times with disjoint sets of applications specified in the | |||
Application Identifier Bit Mask. This is less efficient but still | Application Identifier Bit Mask. This is less efficient but still | |||
valid. | valid. | |||
It is also possible to advertise a single advertisement with zero- | It is also possible to advertise a single advertisement with a zero- | |||
length SABM and UDABM so long as the constraints discussed in | length SABM and UDABM so long as the constraints discussed in | |||
Sections 4.2 and 6.2 are acceptable. | Sections 4.2 and 6.2 are satisfied. | |||
If different values for maximum link bandwidth for a given link are | If different values for maximum link bandwidth for a given link are | |||
advertised, all values MUST be ignored. | advertised, all values MUST be ignored. | |||
4.2.2. Special Considerations for Reservable/Unreserved Bandwidth | 4.2.2. Special Considerations for Reservable/Unreserved Bandwidth | |||
Maximum reservable link bandwidth and unreserved bandwidth are | Maximum reservable link bandwidth and unreserved bandwidth are | |||
attributes specific to RSVP-TE. When advertised using the | attributes specific to RSVP-TE. When advertised using the | |||
Application-Specific Link Attributes sub-TLV, bits other than the | Application-Specific Link Attributes sub-TLV, bits other than the | |||
RSVP-TE (R-bit) MUST NOT be set in the Application Identifier Bit | RSVP-TE bit (R-bit) MUST NOT be set in the Application Identifier Bit | |||
Mask. If an advertisement of maximum reservable link bandwidth or | Mask. If an advertisement of maximum reservable link bandwidth or | |||
unreserved bandwidth is received with bits other than the RSVP-TE bit | unreserved bandwidth is received with bits other than the R-bit set, | |||
set, the advertisement MUST be ignored. | the advertisement MUST be ignored. | |||
4.2.3. Considerations for Extended TE Metrics | 4.2.3. Considerations for Extended TE Metrics | |||
[RFC8570] defines a number of dynamic performance metrics associated | [RFC8570] defines a number of dynamic performance metrics associated | |||
with a link. It is conceivable that such metrics could be measured | with a link. It is conceivable that such metrics could be measured | |||
specific to traffic associated with a specific application. | specific to traffic associated with a specific application. | |||
Therefore, this document includes support for advertising these link | Therefore, this document includes support for advertising these link | |||
attributes specific to a given application. However, in practice, it | attributes specific to a given application. However, in practice, it | |||
may well be more practical to have these metrics reflect the | may well be more practical to have these metrics reflect the | |||
performance of all traffic on the link regardless of application. In | performance of all traffic on the link regardless of application. In | |||
such cases, advertisements for these attributes will be associated | such cases, advertisements for these attributes will be associated | |||
with all of the applications utilizing that link. This can be done | with all of the applications utilizing that link. This can be done | |||
either by explicitly specifying the applications in the Application | by either explicitly specifying the applications in the Application | |||
Identifier Bit Mask or by using a zero-length Application Identifier | Identifier Bit Mask or using a zero-length Application Identifier Bit | |||
Bit Mask. The use of zero-length Application Identifier Bit Mask is | Mask. The use of zero-length Application Identifier Bit Masks is | |||
further discussed in Section 6.2. | further discussed in Section 6.2. | |||
4.3. Application-Specific SRLG TLV | 4.3. Application-Specific SRLG TLV | |||
A new TLV is defined to advertise application-specific SRLGs for a | A TLV is defined to advertise application-specific SRLGs for a given | |||
given link. Although similar in functionality to TLV 138 [RFC5307] | link. Although similar in functionality to TLV 138 [RFC5307] and TLV | |||
and TLV 139 [RFC6119], a single TLV provides support for IPv4, IPv6, | 139 [RFC6119], this single TLV provides support for IPv4, IPv6, and | |||
and unnumbered identifiers for a link. Unlike TLVs 138 and 139, it | unnumbered identifiers for a link. Unlike TLVs 138 and 139, it | |||
utilizes sub-TLVs to encode the link identifiers in order to provide | utilizes sub-TLVs to encode the link identifiers in order to provide | |||
the flexible formatting required to support multiple link identifier | the flexible formatting required to support multiple link identifier | |||
types. | types. | |||
Type: 238 | Type: | |||
238 | ||||
Length: Number of octets in the value field (1 octet) | Length: | |||
Number of octets in the value field (1 octet) | ||||
Value: | Value: | |||
Neighbor System-ID + pseudonode ID (7 octets) | Neighbor System-ID + pseudonode ID (7 octets) | |||
Application Identifier Bit Mask (as defined in Section 4.1) | Application Identifier Bit Mask (as defined in Section 4.1) | |||
Length of sub-TLVs (1 octet) | Length of sub-TLVs (1 octet) | |||
Link Identifier sub-TLVs (variable) | Link Identifier sub-TLVs (variable) | |||
0 or more SRLG values (each value is 4 octets) | 0 or more SRLG values (each value is 4 octets) | |||
If the SABM or UDABM Length in the Application Identifier Bit Mask is | If the SABM Length or UDABM Length in the Application Identifier Bit | |||
greater than 8, the entire sub-TLV MUST be ignored. | Mask is greater than 8, the entire sub-TLV MUST be ignored. | |||
When SABM or UDABM Length is non-zero and the L-flag is NOT set, all | When the SABM Length or UDABM Length is non-zero and the L-flag is | |||
applications specified in the bit mask MUST use SRLG advertisements | NOT set, all applications specified in the bit mask MUST use SRLG | |||
in the Application-Specific SRLG TLV. | advertisements in the Application-Specific SRLG TLV. | |||
The following Link Identifier sub-TLVs are defined. The values | The following Link Identifier sub-TLVs are defined. The values | |||
chosen intentionally match the equivalent sub-TLVs from [RFC5305], | chosen intentionally match the equivalent sub-TLVs from [RFC5305], | |||
[RFC5307], and [RFC6119]. | [RFC5307], and [RFC6119]. | |||
+======+=========================================+ | +======+=========================================+ | |||
| Type | Description | | | Type | Description | | |||
+======+=========================================+ | +======+=========================================+ | |||
| 4 | Link Local/Remote Identifiers [RFC5307] | | | 4 | Link Local/Remote Identifiers [RFC5307] | | |||
+------+-----------------------------------------+ | +------+-----------------------------------------+ | |||
skipping to change at page 13, line 22 ¶ | skipping to change at line 580 ¶ | |||
used by the set of applications specified in the Application | used by the set of applications specified in the Application | |||
Identifier Bit Mask. | Identifier Bit Mask. | |||
For a given application, the setting of the L-flag MUST be the same | For a given application, the setting of the L-flag MUST be the same | |||
in all TLVs for a given link. In cases where this constraint is | in all TLVs for a given link. In cases where this constraint is | |||
violated, the L-flag MUST be considered set for this application. | violated, the L-flag MUST be considered set for this application. | |||
5. Attribute Advertisements and Enablement | 5. Attribute Advertisements and Enablement | |||
This document defines extensions to support the advertisement of | This document defines extensions to support the advertisement of | |||
application-specific link attributes. | ASLAs. | |||
Whether the presence of link attribute advertisements for a given | Whether the presence of link attribute advertisements for a given | |||
application indicates that the application is enabled on that link | application indicates that the application is enabled on that link | |||
depends upon the application. Similarly, whether the absence of link | depends upon the application. Similarly, whether the absence of link | |||
attribute advertisements indicates that the application is not | attribute advertisements indicates that the application is not | |||
enabled depends upon the application. | enabled depends upon the application. | |||
In the case of RSVP-TE, the advertisement of application-specific | In the case of RSVP-TE, the advertisement of ASLAs implies that RSVP | |||
link attributes implies that RSVP is enabled on that link. The | is enabled on that link. The absence of RSVP-TE ASLAs in combination | |||
absence of RSVP-TE application-specific link attributes in | with the absence of legacy advertisements implies that RSVP is not | |||
combination with the absence of legacy advertisements implies that | enabled on that link. | |||
RSVP is not enabled on that link. | ||||
In the case of SR Policy, the advertisement of application-specific | In the case of SR Policy, the advertisement of ASLAs does not | |||
link attributes does not indicate enablement of SR Policy on that | indicate enablement of SR Policy on that link. The advertisements | |||
link. The advertisements are only used to support constraints that | are only used to support constraints that may be applied when | |||
may be applied when specifying an explicit path. SR Policy is | specifying an explicit path. SR Policy is implicitly enabled on all | |||
implicitly enabled on all links that are part of the SR-enabled | links that are part of the SR-enabled topology independent of the | |||
topology independent of the existence of link attribute | existence of link attribute advertisements. | |||
advertisements. | ||||
In the case of LFA, the advertisement of application-specific link | In the case of LFA, the advertisement of ASLAs does not indicate | |||
attributes does not indicate enablement of LFA on that link. | enablement of LFA on that link. Enablement is controlled by local | |||
Enablement is controlled by local configuration. | configuration. | |||
In the future, if additional standard applications are defined to use | In the future, if additional standard applications are defined to use | |||
this mechanism, the specification defining this use MUST define the | this mechanism, the specification defining this use MUST define the | |||
relationship between application-specific link attribute | relationship between ASLA advertisements and enablement for those | |||
advertisements and enablement for that application. | applications. | |||
This document allows the advertisement of application-specific link | This document allows the advertisement of ASLAs with no application | |||
attributes with no application identifiers, i.e., both the Standard | identifiers, i.e., neither the Standard Application Identifier Bit | |||
Application Identifier Bit Mask and the User-Defined Application | Mask nor the User-Defined Application Identifier Bit Mask is present | |||
Identifier Bit Mask are not present (see Section 4.1). This supports | (see Section 4.1). This supports the use of the link attribute by | |||
the use of the link attribute by any application. In the presence of | any application. In the presence of an application where the | |||
an application where the advertisement of link attribute | advertisement of link attributes is used to infer the enablement of | |||
advertisements is used to infer the enablement of an application on | an application on that link (e.g., RSVP-TE), the absence of the | |||
that link (e.g., RSVP-TE), the absence of the application identifier | application identifier leaves ambiguous whether that application is | |||
leaves ambiguous whether that application is enabled on such a link. | enabled on such a link. This needs to be considered when making use | |||
This needs to be considered when making use of the "any application" | of the "any application" encoding. | |||
encoding. | ||||
6. Deployment Considerations | 6. Deployment Considerations | |||
This section discusses deployment considerations associated with the | This section discusses deployment considerations associated with the | |||
use of application-specific link attribute advertisements. | use of ASLA advertisements. | |||
6.1. Use of Legacy Advertisements | 6.1. Use of Legacy Advertisements | |||
Bit identifiers for standard applications are defined in Section 4.1. | Bit identifiers for standard applications are defined in Section 4.1. | |||
All of the identifiers defined in this document are associated with | All of the identifiers defined in this document are associated with | |||
applications that were already deployed in some networks prior to the | applications that were already deployed in some networks prior to the | |||
writing of this document. Therefore, such applications have been | writing of this document. Therefore, such applications have been | |||
deployed using the legacy advertisements. The standard applications | deployed using the legacy advertisements. The standard applications | |||
defined in this document may continue to use legacy advertisements | defined in this document may continue to use legacy advertisements | |||
for a given link so long as at least one of the following conditions | for a given link so long as at least one of the following conditions | |||
skipping to change at page 15, line 14 ¶ | skipping to change at line 664 ¶ | |||
New applications that future documents define to make use of the | New applications that future documents define to make use of the | |||
advertisements defined in this document MUST NOT make use of legacy | advertisements defined in this document MUST NOT make use of legacy | |||
advertisements. This simplifies deployment of new applications by | advertisements. This simplifies deployment of new applications by | |||
eliminating the need to support multiple ways to advertise attributes | eliminating the need to support multiple ways to advertise attributes | |||
for the new applications. | for the new applications. | |||
6.2. Use of Zero-Length Application Identifier Bit Masks | 6.2. Use of Zero-Length Application Identifier Bit Masks | |||
Link attribute advertisements associated with zero-length Application | Link attribute advertisements associated with zero-length Application | |||
Identifier Bit Masks for both standard applications and user-defined | Identifier Bit Masks for both standard applications and UDAs are | |||
applications are usable by any application, subject to the | usable by any application, subject to the restrictions specified in | |||
restrictions specified in Section 4.2. If support for a new | Section 4.2. If support for a new application is introduced on any | |||
application is introduced on any node in a network in the presence of | node in a network in the presence of such advertisements, the new | |||
such advertisements, the new application will use these | application will use these advertisements, when the aforementioned | |||
advertisements, when the aforementioned restrictions are met. If | restrictions are met. If this is not what is intended, then existing | |||
this is not what is intended, then existing link attribute | link attribute advertisements MUST be readvertised with an explicit | |||
advertisements MUST be readvertised with an explicit set of | set of applications specified before a new application is introduced. | |||
applications specified before a new application is introduced. | ||||
6.3. Interoperability, Backwards Compatibility, and Migration Concerns | 6.3. Interoperability, Backwards Compatibility, and Migration Concerns | |||
Existing deployments of RSVP-TE, SR Policy, and/or LFA utilize the | Existing deployments of RSVP-TE, SR Policy, and/or LFA utilize the | |||
legacy advertisements listed in Section 3. Routers that do not | legacy advertisements listed in Section 3. Routers that do not | |||
support the extensions defined in this document will only process | support the extensions defined in this document will only process | |||
legacy advertisements and are likely to infer that RSVP-TE is enabled | legacy advertisements and are likely to infer that RSVP-TE is enabled | |||
on the links for which legacy advertisements exist. It is expected | on the links for which legacy advertisements exist. It is expected | |||
that deployments using the legacy advertisements will persist for a | that deployments using the legacy advertisements will persist for a | |||
significant period of time. Therefore, deployments using the | significant period of time. Therefore, deployments using the | |||
skipping to change at page 16, line 27 ¶ | skipping to change at line 720 ¶ | |||
advertised attributes on a link and to cases where RSVP-TE is using | advertised attributes on a link and to cases where RSVP-TE is using | |||
some link attribute advertisements on the link but some link | some link attribute advertisements on the link but some link | |||
attributes cannot be shared with RSVP-TE. | attributes cannot be shared with RSVP-TE. | |||
6.3.3. Interoperability with Legacy Routers | 6.3.3. Interoperability with Legacy Routers | |||
For the standard applications defined in this document, routers that | For the standard applications defined in this document, routers that | |||
do not support the extensions defined in this document will send and | do not support the extensions defined in this document will send and | |||
receive only legacy link attribute advertisements. In addition, the | receive only legacy link attribute advertisements. In addition, the | |||
link attribute values associated with these applications are always | link attribute values associated with these applications are always | |||
shared since legacy routers have no way of advertising or processing | shared, since legacy routers have no way of advertising or processing | |||
application-specific values. So long as there is any legacy router | application-specific values. So long as there is any legacy router | |||
in the network that has any of the standard applications defined in | in the network that has any of the standard applications defined in | |||
this document enabled, all routers MUST continue to advertise link | this document enabled, all routers MUST continue to advertise link | |||
attributes for these applications using only legacy advertisements. | attributes for these applications using only legacy advertisements. | |||
ASLA advertisements for these applications MUST NOT be sent. Once | ASLA advertisements for these applications MUST NOT be sent. Once | |||
all legacy routers have been upgraded, migration from legacy | all legacy routers have been upgraded, migration from legacy | |||
advertisements to ASLA advertisements can be achieved via the | advertisements to ASLA advertisements can be achieved via the | |||
following steps: | following steps: | |||
1) Send ASLA advertisements while continuing to advertise using | 1. Send ASLA advertisements while continuing to advertise legacy | |||
legacy (all advertisements are then duplicated). Receiving | advertisements (all advertisements are then duplicated). | |||
routers continue to use legacy advertisements. | Receiving routers continue to use legacy advertisements. | |||
2) Enable the use of the ASLA advertisements on all routers. | 2. Enable the use of the ASLA advertisements on all routers. | |||
3) Remove legacy advertisements. | 3. Remove legacy advertisements. | |||
When the migration is complete, it then becomes possible to advertise | When the migration is complete, it then becomes possible to advertise | |||
incongruent values per application on a given link. | incongruent values per application on a given link. | |||
Note that the use of the L-flag is of no value in the migration. | Note that the use of the L-flag is of no value in the migration. | |||
Documents defining new applications that make use of the application- | Documents defining new applications that make use of the application- | |||
specific advertisements defined in this document MUST discuss | specific advertisements defined in this document MUST discuss | |||
interoperability and backwards-compatibility issues that could occur | interoperability and backwards-compatibility issues that could occur | |||
in the presence of routers that do not support the new application. | in the presence of routers that do not support the new application. | |||
6.3.4. Use of Application-Specific Advertisements for RSVP-TE | 6.3.4. Use of Application-Specific Advertisements for RSVP-TE | |||
The extensions defined in this document include RSVP-TE as one of the | The extensions defined in this document include RSVP-TE as one of the | |||
applications. It is therefore possible, in the future, for | applications. It is therefore possible, in the future, for | |||
implementations to migrate to the use of application-specific | implementations to migrate to the use of application-specific | |||
advertisements in support of RSVP-TE. This could be done in the | advertisements in support of RSVP-TE. This could be done in the | |||
following stepwise manner: | following stepwise manner: | |||
1) Upgrade all routers to support the extensions in this document. | 1. Upgrade all routers to support the extensions in this document. | |||
2) Advertise all legacy link attributes using ASLA advertisements | 2. Advertise all legacy link attributes using ASLA advertisements | |||
with the L-flag clear and R-bit set. At this point, both legacy | with the L-flag clear and the R-bit set. At this point, both | |||
and application-specific advertisements are being sent. | legacy and application-specific advertisements are being sent. | |||
3) Remove legacy advertisements. | 3. Remove legacy advertisements. | |||
7. IANA Considerations | 7. IANA Considerations | |||
This section lists the protocol codepoint changes introduced by this | This section lists the protocol codepoint changes introduced by this | |||
document and the related updates made by IANA. | document and the related IANA updates. | |||
For the new registries defined under the "IS-IS TLV Codepoints" | For the registries defined under the "IS-IS TLV Codepoints" group of | |||
registry with the "Expert Review" registration procedure (see | registries with a registration procedure of "Expert Review" (see | |||
Sections 7.3 and 7.5), guidance for designated experts can be found | Sections 7.3 and 7.5), guidance for designated experts can be found | |||
in [RFC7370]. | in [RFC7370]. | |||
Note that in all cases where the current registry reference is to RFC | Note that in all cases where the registry reference was to RFC 8919, | |||
8919 the registry should be updated to this document. | the registry has been updated to refer to this document. | |||
7.1. Application-Specific Link Attributes Sub-TLV | 7.1. Application-Specific Link Attributes Sub-TLV | |||
IANA has registered the new sub-TLV defined in Section 4.2 in the | IANA has registered the sub-TLV defined in Section 4.2 in the "IS-IS | |||
"IS-IS Sub-TLVs for TLVs Advertising Neighbor Information" registry. | Sub-TLVs for TLVs Advertising Neighbor Information" registry. | |||
+======+======================+====+====+======+=====+=====+=====+ | +======+======================+====+====+======+=====+=====+=====+ | |||
| Type | Description | 22 | 23 | 25 | 141 | 222 | 223 | | | Type | Description | 22 | 23 | 25 | 141 | 222 | 223 | | |||
+======+======================+====+====+======+=====+=====+=====+ | +======+======================+====+====+======+=====+=====+=====+ | |||
| 16 | Application-Specific | y | y | y(s) | y | y | y | | | 16 | Application-Specific | y | y | y(s) | y | y | y | | |||
| | Link Attributes | | | | | | | | | | Link Attributes | | | | | | | | |||
+------+----------------------+----+----+------+-----+-----+-----+ | +------+----------------------+----+----+------+-----+-----+-----+ | |||
Table 3 | Table 3 | |||
7.2. Application-Specific SRLG TLV | 7.2. Application-Specific SRLG TLV | |||
IANA has registered the new TLV defined in Section 4.3 in the "IS-IS | IANA has registered the TLV defined in Section 4.3 in the "IS-IS Top- | |||
Top-Level TLV Codepoints" registry. | Level TLV Codepoints" registry. | |||
+=======+===========================+=====+=====+=====+=======+ | +=======+===========================+=====+=====+=====+=======+ | |||
| Value | Description | IIH | LSP | SNP | Purge | | | Value | Description | IIH | LSP | SNP | Purge | | |||
+=======+===========================+=====+=====+=====+=======+ | +=======+===========================+=====+=====+=====+=======+ | |||
| 238 | Application-Specific SRLG | n | y | n | n | | | 238 | Application-Specific SRLG | n | y | n | n | | |||
+-------+---------------------------+-----+-----+-----+-------+ | +-------+---------------------------+-----+-----+-----+-------+ | |||
Table 4 | Table 4 | |||
7.3. Sub-sub-TLV Codepoints for Application-Specific Link Attributes | 7.3. IS-IS Sub-Sub-TLV Codepoints for Application-Specific Link | |||
Registry | Attributes Registry | |||
IANA has created a new registry titled "IS-IS Sub-sub-TLV Codepoints | IANA has created a registry titled "IS-IS Sub-Sub-TLV Codepoints for | |||
for Application-Specific Link Attributes" under the "IS-IS TLV | Application-Specific Link Attributes" under the "IS-IS TLV | |||
Codepoints" registry to control the assignment of sub-sub-TLV | Codepoints" registry to control the assignment of sub-sub-TLV | |||
codepoints for the Application-Specific Link Attributes sub-TLV | codepoints for the Application-Specific Link Attributes sub-TLV | |||
defined in Section 7.1. The registration procedure is "Expert | defined in Section 7.1. The registration procedure is "Expert | |||
Review" as defined in [RFC8126]. The initial contents of this | Review" as defined in [RFC8126]. The initial contents of this | |||
registry are as follows: | registry are as follows: | |||
+========+====================================+===========+ | +========+====================================+===========+ | |||
| Type | Description | Reference | | | Type | Description | Reference | | |||
+========+====================================+===========+ | +========+====================================+===========+ | |||
| 0-2 | Unassigned | | | | 0-2 | Unassigned | | | |||
skipping to change at page 19, line 26 ¶ | skipping to change at line 836 ¶ | |||
| 10 | Maximum reservable link bandwidth | [RFC5305] | | | 10 | Maximum reservable link bandwidth | [RFC5305] | | |||
+--------+------------------------------------+-----------+ | +--------+------------------------------------+-----------+ | |||
| 11 | Unreserved bandwidth | [RFC5305] | | | 11 | Unreserved bandwidth | [RFC5305] | | |||
+--------+------------------------------------+-----------+ | +--------+------------------------------------+-----------+ | |||
| 12-13 | Unassigned | | | | 12-13 | Unassigned | | | |||
+--------+------------------------------------+-----------+ | +--------+------------------------------------+-----------+ | |||
| 14 | Extended Administrative Group | [RFC7308] | | | 14 | Extended Administrative Group | [RFC7308] | | |||
+--------+------------------------------------+-----------+ | +--------+------------------------------------+-----------+ | |||
| 15-17 | Unassigned | | | | 15-17 | Unassigned | | | |||
+--------+------------------------------------+-----------+ | +--------+------------------------------------+-----------+ | |||
| 18 | TE Default Metric | [RFC5305] | | | 18 | TE Default metric | [RFC5305] | | |||
+--------+------------------------------------+-----------+ | +--------+------------------------------------+-----------+ | |||
| 19-32 | Unassigned | | | | 19-32 | Unassigned | | | |||
+--------+------------------------------------+-----------+ | +--------+------------------------------------+-----------+ | |||
| 33 | Unidirectional Link Delay | [RFC8570] | | | 33 | Unidirectional Link Delay | [RFC8570] | | |||
+--------+------------------------------------+-----------+ | +--------+------------------------------------+-----------+ | |||
| 34 | Min/Max Unidirectional Link Delay | [RFC8570] | | | 34 | Min/Max Unidirectional Link Delay | [RFC8570] | | |||
+--------+------------------------------------+-----------+ | +--------+------------------------------------+-----------+ | |||
| 35 | Unidirectional Delay Variation | [RFC8570] | | | 35 | Unidirectional Delay Variation | [RFC8570] | | |||
+--------+------------------------------------+-----------+ | +--------+------------------------------------+-----------+ | |||
| 36 | Unidirectional Link Loss | [RFC8570] | | | 36 | Unidirectional Link Loss | [RFC8570] | | |||
skipping to change at page 20, line 11 ¶ | skipping to change at line 867 ¶ | |||
Table 5 | Table 5 | |||
IANA has also added the following notes to this registry: | IANA has also added the following notes to this registry: | |||
Note: For future codepoints, in cases where the document that | Note: For future codepoints, in cases where the document that | |||
defines the encoding is different from the document that assigns | defines the encoding is different from the document that assigns | |||
the codepoint, the encoding reference MUST be to the document that | the codepoint, the encoding reference MUST be to the document that | |||
defines the encoding. | defines the encoding. | |||
Note: If a link attribute can be advertised both as a sub-TLV of | Note: If a link attribute can be advertised both as a sub-TLV of | |||
TLVs Advertising Neighbor Information and as a sub-sub-TLV of the | TLVs advertising neighbor information and as a sub-sub-TLV of the | |||
Application-Specific Link Attributes sub-TLV defined in RFC 8919, | Application-Specific Link Attributes sub-TLV defined in RFC 9479, | |||
then the same numerical code should be assigned to the link | then the same numerical code should be assigned to the link | |||
attribute whenever possible. | attribute whenever possible. | |||
7.4. Link Attribute Application Identifiers Registry | 7.4. Link Attribute Application Identifiers Registry | |||
IANA has created a new registry titled "Link Attribute Application | IANA has created a registry titled "Link Attribute Application | |||
Identifiers" under the "Interior Gateway Protocol (IGP) Parameters" | Identifiers" within the "Interior Gateway Protocol (IGP) Parameters" | |||
registry to control the assignment of Application Identifier Bits. | group of registries to control the assignment of Application | |||
The registration policy for this registry is "Expert Review" as | Identifier Bits. The registration policy for this registry is | |||
defined in [RFC8126]. Bit definitions SHOULD be assigned such that | "Expert Review" as defined in [RFC8126]. Bit definitions SHOULD be | |||
all bits in the lowest available octet are allocated before assigning | assigned such that all bits in the lowest available octet are | |||
bits in the next octet. This minimizes the number of octets that | allocated before assigning bits in the next octet. This minimizes | |||
will need to be transmitted. The initial contents of this registry | the number of octets that will need to be transmitted. The initial | |||
are as follows: | contents of this registry are as follows: | |||
+=======+================================+ | +======+================================+ | |||
| Bit # | Name | | | Bit | Name | | |||
+=======+================================+ | +======+================================+ | |||
| 0 | RSVP-TE (R-bit) | | | 0 | RSVP-TE (R-bit) | | |||
+-------+--------------------------------+ | +------+--------------------------------+ | |||
| 1 | Segment Routing Policy (S-bit) | | | 1 | Segment Routing Policy (S-bit) | | |||
+-------+--------------------------------+ | +------+--------------------------------+ | |||
| 2 | Loop-Free Alternate (F-bit) | | | 2 | Loop-Free Alternate (F-bit) | | |||
+-------+--------------------------------+ | +------+--------------------------------+ | |||
| 3-63 | Unassigned | | | 3-63 | Unassigned | | |||
+-------+--------------------------------+ | +------+--------------------------------+ | |||
Table 6 | Table 6 | |||
7.5. Sub-TLVs for TLV 238 Registry | 7.5. IS-IS Sub-TLVs for Application-Specific SRLG TLV | |||
IANA has created a new registry titled "IS-IS Sub-TLVs for | IANA has created a registry titled "IS-IS Sub-TLVs for Application- | |||
Application-Specific SLRG TLV" under the "IS-IS TLV Codepoints" | Specific SRLG TLV" under the "IS-IS TLV Codepoints" registry to | |||
registry to control the assignment of sub-TLV types for the | control the assignment of sub-TLV types for the Application-Specific | |||
Application-Specific SRLG TLV. The registration procedure is "Expert | SRLG TLV (TLV 238). The registration procedure is "Expert Review" as | |||
Review" as defined in [RFC8126]. The initial contents of this | defined in [RFC8126]. The initial contents of this registry are as | |||
registry are as follows: | follows: | |||
+========+===============================+===========+ | +========+===============================+===========+ | |||
| Value | Description | Reference | | | Value | Description | Reference | | |||
+========+===============================+===========+ | +========+===============================+===========+ | |||
| 0-3 | Unassigned | | | | 0-3 | Unassigned | | | |||
+--------+-------------------------------+-----------+ | +--------+-------------------------------+-----------+ | |||
| 4 | Link Local/Remote Identifiers | [RFC5307] | | | 4 | Link Local/Remote Identifiers | [RFC5307] | | |||
+--------+-------------------------------+-----------+ | +--------+-------------------------------+-----------+ | |||
| 5 | Unassigned | | | | 5 | Unassigned | | | |||
+--------+-------------------------------+-----------+ | +--------+-------------------------------+-----------+ | |||
skipping to change at page 21, line 47 ¶ | skipping to change at line 949 ¶ | |||
8. Security Considerations | 8. Security Considerations | |||
Security concerns for IS-IS are addressed in [ISO10589], [RFC5304], | Security concerns for IS-IS are addressed in [ISO10589], [RFC5304], | |||
and [RFC5310]. While IS-IS is deployed under a single administrative | and [RFC5310]. While IS-IS is deployed under a single administrative | |||
domain, there can be deployments where potential attackers have | domain, there can be deployments where potential attackers have | |||
access to one or more networks in the IS-IS routing domain. In these | access to one or more networks in the IS-IS routing domain. In these | |||
deployments, the stronger authentication mechanisms defined in the | deployments, the stronger authentication mechanisms defined in the | |||
aforementioned documents SHOULD be used. | aforementioned documents SHOULD be used. | |||
This document defines a new way to advertise link attributes. | This document defines an improved way to advertise link attributes. | |||
Tampering with the information defined in this document may have an | Tampering with the information defined in this document may have an | |||
effect on applications using it, including impacting traffic | effect on applications using it, including impacting TE as discussed | |||
engineering as discussed in [RFC8570]. As the advertisements defined | in [RFC8570]. As the advertisements defined in this document limit | |||
in this document limit the scope to specific applications, the impact | the scope to specific applications, the impact of tampering is | |||
of tampering is similarly limited in scope. | similarly limited in scope. | |||
9. Changes to RFC 8919 | 9. Changes to RFC 8919 | |||
Discussion within the LSR WG indicated that there was confusion | Discussion within the LSR WG indicated that there was confusion | |||
regarding the use of ASLA advertisements that had a zero length SABM/ | regarding the use of ASLA advertisements that had a zero-length SABM/ | |||
UDABM. The discussion can be seen by searching the LSR WG mailing | UDABM. The discussion can be seen by searching the LSR WG mailing | |||
list archives for the thread "Proposed Errata for RFCs 8919/8920" | list archives for the thread "Proposed Errata for RFCs 8919/8920" | |||
starting on 15 June 2021. | starting on 15 June 2021. | |||
Changes to Sections 4.2, 4.3, and 6.2 have been introduced to clarify | Changes to Sections 4.2, 4.3, and 6.2 have been introduced to clarify | |||
normative behavior in the presence of such advertisements. In | normative behavior in the presence of such advertisements. In | |||
particular, the text in RFC 8919 used the word "permitted", | particular, the text in [RFC8919] used the word "permitted", | |||
suggesting that the use of such advertisements is "optional". Such | suggesting that the use of such advertisements is "optional". Such | |||
an interpretation could lead to interoperability issues and is not | an interpretation could lead to interoperability issues and is not | |||
what was intended. | what was intended. | |||
The replacement text makes explicit the specific conditions when such | The replacement text makes explicit the specific conditions when such | |||
advertisements MUST be used and the specific conditions under which | advertisements MUST be used and the specific conditions under which | |||
they MUST NOT be used. | they MUST NOT be used. | |||
10. References | 10. References | |||
10.1. Normative References | 10.1. Normative References | |||
[ISO10589] ISO, "Information technology - Telecommunications and | [ISO10589] ISO, "Information technology - Telecommunications and | |||
information exchange between systems - Intermediate System | information exchange between systems - Intermediate System | |||
to Intermediate System intra-domain routing information | to Intermediate System intra-domain routing information | |||
exchange protocol for use in conjunction with the protocol | exchange protocol for use in conjunction with the protocol | |||
for providing the connectionless-mode network service (ISO | for providing the connectionless-mode network service (ISO | |||
8473)", ISO/IEC 10589:2002, Second Edition, November 2002. | 8473)", Second Edition, ISO/IEC 10589:2002, November 2002, | |||
<https://www.iso.org/standard/30932.html>. | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic | [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic | |||
Authentication", RFC 5304, DOI 10.17487/RFC5304, October | Authentication", RFC 5304, DOI 10.17487/RFC5304, October | |||
2008, <https://www.rfc-editor.org/info/rfc5304>. | 2008, <https://www.rfc-editor.org/info/rfc5304>. | |||
skipping to change at page 24, line 11 ¶ | skipping to change at line 1055 ¶ | |||
IP Fast Reroute: Loop-Free Alternates", RFC 5286, | IP Fast Reroute: Loop-Free Alternates", RFC 5286, | |||
DOI 10.17487/RFC5286, September 2008, | DOI 10.17487/RFC5286, September 2008, | |||
<https://www.rfc-editor.org/info/rfc5286>. | <https://www.rfc-editor.org/info/rfc5286>. | |||
[RFC7855] Previdi, S., Ed., Filsfils, C., Ed., Decraene, B., | [RFC7855] Previdi, S., Ed., Filsfils, C., Ed., Decraene, B., | |||
Litkowski, S., Horneffer, M., and R. Shakir, "Source | Litkowski, S., Horneffer, M., and R. Shakir, "Source | |||
Packet Routing in Networking (SPRING) Problem Statement | Packet Routing in Networking (SPRING) Problem Statement | |||
and Requirements", RFC 7855, DOI 10.17487/RFC7855, May | and Requirements", RFC 7855, DOI 10.17487/RFC7855, May | |||
2016, <https://www.rfc-editor.org/info/rfc7855>. | 2016, <https://www.rfc-editor.org/info/rfc7855>. | |||
[SEGMENT-ROUTING] | [RFC8919] Ginsberg, L., Psenak, P., Previdi, S., Henderickx, W., and | |||
Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and | J. Drake, "IS-IS Application-Specific Link Attributes", | |||
P. Mattes, "Segment Routing Policy Architecture", | RFC 8919, DOI 10.17487/RFC8919, October 2020, | |||
RFC 9256, DOI 10.17487/RFC9256, | <https://www.rfc-editor.org/info/rfc8919>. | |||
<https://www.rfc-editor.org/rfc/rfc9256>. | ||||
[RFC9256] Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov, | ||||
A., and P. Mattes, "Segment Routing Policy Architecture", | ||||
RFC 9256, DOI 10.17487/RFC9256, July 2022, | ||||
<https://www.rfc-editor.org/info/rfc9256>. | ||||
Acknowledgements | Acknowledgements | |||
RFC 8919 included the following acknowledgements: | RFC 8919 included the following acknowledgements: | |||
Eric Rosen and Acee Lindem for their careful review and content | | Eric Rosen and Acee Lindem for their careful review and content | |||
suggestions. | | suggestions. | |||
For the new version, the authors would like to thank Bruno Decraene. | For the new version (this document), the authors would like to thank | |||
Bruno Decraene. | ||||
Authors' Addresses | Authors' Addresses | |||
Les Ginsberg | Les Ginsberg | |||
Cisco Systems | Cisco Systems | |||
United States of America | United States of America | |||
Email: ginsberg@cisco.com | Email: ginsberg@cisco.com | |||
Peter Psenak | Peter Psenak | |||
Cisco Systems | Cisco Systems | |||
End of changes. 110 change blocks. | ||||
343 lines changed or deleted | 341 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |