rfc9352.original | rfc9352.txt | |||
---|---|---|---|---|
Networking Working Group P. Psenak, Ed. | Internet Engineering Task Force (IETF) P. Psenak, Ed. | |||
Internet-Draft C. Filsfils | Request for Comments: 9352 C. Filsfils | |||
Updates: 7370 (if approved) Cisco Systems | Updates: 7370 A. Bashandy | |||
Intended status: Standards Track A. Bashandy | Category: Standards Track Cisco Systems | |||
Expires: April 23, 2022 Individual | ISSN: 2070-1721 B. Decraene | |||
B. Decraene | ||||
Orange | Orange | |||
Z. Hu | Z. Hu | |||
Huawei Technologies | Huawei Technologies | |||
October 20, 2021 | February 2023 | |||
IS-IS Extensions to Support Segment Routing over IPv6 Dataplane | IS-IS Extensions to Support Segment Routing over the IPv6 Data Plane | |||
draft-ietf-lsr-isis-srv6-extensions-18 | ||||
Abstract | Abstract | |||
The Segment Routing (SR) architecture allows flexible definition of | The Segment Routing (SR) architecture allows a flexible definition of | |||
the end-to-end path by encoding it as a sequence of topological | the end-to-end path by encoding it as a sequence of topological | |||
elements called "segments". It can be implemented over the MPLS or | elements called "segments". It can be implemented over the MPLS or | |||
the IPv6 data plane. This document describes the IS-IS extensions | the IPv6 data plane. This document describes the IS-IS extensions | |||
required to support Segment Routing over the IPv6 data plane. | required to support SR over the IPv6 data plane. | |||
This document updates RFC 7370 by modifying an existing registry. | This document updates RFC 7370 by modifying an existing registry. | |||
Requirements Language | ||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | ||||
"OPTIONAL" in this document are to be interpreted as described in BCP | ||||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
capitals, as shown here. | ||||
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 | This document is a product of the Internet Engineering Task Force | |||
Task Force (IETF). Note that other groups may also distribute | (IETF). It represents the consensus of the IETF community. It has | |||
working documents as Internet-Drafts. The list of current Internet- | received public review and has been approved for publication by the | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | Information about the current status of this document, any errata, | |||
and may be updated, replaced, or obsoleted by other documents at any | and how to provide feedback on it may be obtained at | |||
time. It is inappropriate to use Internet-Drafts as reference | https://www.rfc-editor.org/info/rfc9352. | |||
material or to cite them other than as "work in progress." | ||||
This Internet-Draft will expire on April 23, 2022. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2021 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 | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Revised BSD License text as described in Section 4.e of the | |||
the Trust Legal Provisions and are provided without warranty as | Trust Legal Provisions and are provided without warranty as described | |||
described in the Simplified BSD License. | in the Revised BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
2. SRv6 Capabilities sub-TLV . . . . . . . . . . . . . . . . . . 4 | 1.1. Requirements Language | |||
3. Advertising Supported Algorithms . . . . . . . . . . . . . . 5 | 2. SRv6 Capabilities Sub-TLV | |||
4. Advertising Maximum SRv6 SID Depths . . . . . . . . . . . . . 5 | 3. Advertising Supported Algorithms | |||
4.1. Maximum Segments Left MSD Type . . . . . . . . . . . . . 5 | 4. Advertising Maximum SRv6 SID Depths | |||
4.2. Maximum End Pop MSD Type . . . . . . . . . . . . . . . . 5 | 4.1. Maximum Segments Left MSD Type | |||
4.3. Maximum H.Encaps MSD Type . . . . . . . . . . . . . . . . 5 | 4.2. Maximum End Pop MSD Type | |||
4.4. Maximum End D MSD Type . . . . . . . . . . . . . . . . . 6 | 4.3. Maximum H.Encaps MSD Type | |||
5. SRv6 SIDs and Reachability . . . . . . . . . . . . . . . . . 6 | 4.4. Maximum End D MSD Type | |||
6. Advertising Anycast Property . . . . . . . . . . . . . . . . 8 | 5. SRv6 SIDs and Reachability | |||
7. Advertising Locators and End SIDs . . . . . . . . . . . . . . 9 | 6. Advertising Anycast Property | |||
7.1. SRv6 Locator TLV Format . . . . . . . . . . . . . . . . . 9 | 7. Advertising Locators and End SIDs | |||
7.2. SRv6 End SID sub-TLV . . . . . . . . . . . . . . . . . . 11 | 7.1. SRv6 Locator TLV Format | |||
8. Advertising SRv6 Adjacency SIDs . . . . . . . . . . . . . . . 12 | 7.2. SRv6 End SID Sub-TLV | |||
8.1. SRv6 End.X SID sub-TLV . . . . . . . . . . . . . . . . . 13 | 8. Advertising SRv6 Adjacency SIDs | |||
8.2. SRv6 LAN End.X SID sub-TLV . . . . . . . . . . . . . . . 14 | 8.1. SRv6 End.X SID Sub-TLV | |||
9. SRv6 SID Structure Sub-Sub-TLV . . . . . . . . . . . . . . . 16 | 8.2. SRv6 LAN End.X SID Sub-TLV | |||
10. Advertising Endpoint Behaviors . . . . . . . . . . . . . . . 17 | 9. SRv6 SID Structure Sub-Sub-TLV | |||
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 | 10. Advertising Endpoint Behaviors | |||
11.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 18 | 11. IANA Considerations | |||
11.1.1. SRv6 End SID sub-TLV . . . . . . . . . . . . . . . . 18 | 11.1. SRv6 Locator TLV | |||
11.1.2. Revised sub-TLV table . . . . . . . . . . . . . . . 19 | 11.1.1. SRv6 End SID Sub-TLV | |||
11.2. SRv6 Capabilities sub-TLV . . . . . . . . . . . . . . . 19 | 11.1.2. IS-IS Sub-TLVs for TLVs Advertising Prefix | |||
11.3. Sub-Sub-TLVs of the SRv6 Capability sub-TLV . . . . . . 20 | Reachability Registry | |||
11.4. SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs . . . . . 20 | 11.2. SRv6 Capabilities Sub-TLV | |||
11.5. MSD Types . . . . . . . . . . . . . . . . . . . . . . . 20 | 11.3. IS-IS Sub-Sub-TLVs for the SRv6 Capabilities Sub-TLV | |||
11.6. Sub-Sub-TLVs for SID Sub-TLVs . . . . . . . . . . . . . 21 | Registry | |||
11.7. Prefix Attribute Flags Sub-TLV . . . . . . . . . . . . . 21 | 11.4. SRv6 End.X SID and SRv6 LAN End.X SID Sub-TLVs | |||
11.8. ISIS SRv6 Capabilities sub-TLV Flags Registry . . . . . 21 | 11.5. MSD Types | |||
11.9. ISIS SRv6 Locator TLV Flags Registry . . . . . . . . . . 22 | 11.6. IS-IS Sub-Sub-TLVs for SRv6 SID Sub-TLVs Registry | |||
11.10. ISIS SRv6 End SID sub-TLV Flags Registry . . . . . . . . 22 | 11.7. Prefix Attribute Flags Sub-TLV | |||
11.11. ISIS SRv6 End.X SID and LAN End.X SID sub-TLVs Flags | 11.8. IS-IS SRv6 Capabilities Sub-TLV Flags Registry | |||
Registry . . . . . . . . . . . . . . . . . . . . . . . . 23 | 11.9. IS-IS SRv6 Locator TLV Flags Registry | |||
12. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | 11.10. IS-IS SRv6 End SID Sub-TLV Flags Registry | |||
13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 24 | 11.11. IS-IS SRv6 Adjacency SID Sub-TLVs Flags Registry | |||
14. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 | 12. Security Considerations | |||
15. References . . . . . . . . . . . . . . . . . . . . . . . . . 26 | 13. References | |||
15.1. Normative References . . . . . . . . . . . . . . . . . . 26 | 13.1. Normative References | |||
15.2. Informative References . . . . . . . . . . . . . . . . . 28 | 13.2. Informative References | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28 | Acknowledgements | |||
Contributors | ||||
Authors' Addresses | ||||
1. Introduction | 1. Introduction | |||
With Segment Routing (SR) [RFC8402], a node steers a packet through | With Segment Routing (SR) [RFC8402], a node steers a packet through | |||
an ordered list of instructions, called segments. | an ordered list of instructions, which are called segments. | |||
Segments are identified through Segment Identifiers (SIDs). | Segments are identified through Segment Identifiers (SIDs). | |||
Segment Routing can be directly instantiated on the IPv6 data plane | SR can be directly instantiated on the IPv6 data plane through the | |||
through the use of the Segment Routing Header defined in [RFC8754]. | use of the Segment Routing Header (SRH) defined in [RFC8754]. SRv6 | |||
SRv6 refers to this SR instantiation on the IPv6 dataplane. | refers to this SR instantiation on the IPv6 data plane. | |||
The network programming paradigm [RFC8986] is central to SRv6. It | The network programming paradigm [RFC8986] is central to SRv6. It | |||
describes how any behavior can be bound to a SID and how any network | describes how any behavior can be bound to a SID and how any network | |||
program can be expressed as a combination of SIDs. | program can be expressed as a combination of SIDs. | |||
This document specifies IS-IS extensions that allow the IS-IS | This document specifies IS-IS extensions that allow the IS-IS | |||
protocol to encode some of these SIDs and their behaviors. | protocol to encode some of these SIDs and their behaviors. | |||
Familiarity with the network programming paradigm [RFC8986] is | Familiarity with the network programming paradigm [RFC8986] is | |||
necessary to understand the extensions specified in this document. | necessary to understand the extensions specified in this document. | |||
The new SRv6 Locator top level TLV announces SRv6 locators - a form | The new SRv6 Locator top-level TLV announces SRv6 Locators -- a form | |||
of summary address for the set of topology/algorithm-specific SIDs | of summary address for the set of topology-/algorithm-specific SIDs | |||
instantiated at the node. | instantiated at the node. | |||
The SRv6 Capabilities sub-TLV announces the ability to support SRv6. | The SRv6 Capabilities sub-TLV announces the ability to support SRv6. | |||
Several new sub-TLVs are defined to advertise various SRv6 Maximum | Several new sub-TLVs are defined to advertise various SRv6 Maximum | |||
SID Depths. | SID Depths (MSDs). | |||
The SRv6 End SID sub-TLV, the SRv6 End.X SID sub-TLV, and the SRv6 | The SRv6 End SID sub-TLV, the SRv6 End.X SID sub-TLV, and the SRv6 | |||
LAN End.X SID sub-TLV are used to advertise which SIDs are | LAN End.X SID sub-TLV are used to advertise which SIDs are | |||
instantiated at a node and what Endpoint behavior is bound to each | instantiated at a node and what Endpoint behavior is bound to each | |||
instantiated SID. | instantiated SID. | |||
This document updates [RFC7370] by modifying an existing registry | This document updates [RFC7370] by modifying an existing registry | |||
(Section 11.1.2). | (Section 11.1.2). | |||
2. SRv6 Capabilities sub-TLV | 1.1. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | ||||
"OPTIONAL" in this document are to be interpreted as described in | ||||
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
capitals, as shown here. | ||||
2. SRv6 Capabilities Sub-TLV | ||||
A node indicates that it supports the SR Segment Endpoint Node | A node indicates that it supports the SR Segment Endpoint Node | |||
functionality as specified in [RFC8754] by advertising a new SRv6 | functionality as specified in [RFC8754] by advertising a new SRv6 | |||
Capabilities sub-TLV of the router capabilities TLV [RFC7981]. | Capabilities sub-TLV of the Router Capability TLV [RFC7981]. | |||
The SRv6 Capabilities sub-TLV may contain optional sub-sub-TLVs. No | The SRv6 Capabilities sub-TLV may contain optional sub-sub-TLVs. No | |||
sub-sub-TLVs are currently defined. | sub-sub-TLVs are currently defined. | |||
The SRv6 Capabilities sub-TLV has the following format: | The SRv6 Capabilities sub-TLV has the following format: | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | Flags | | | Type | Length | Flags | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| optional sub-sub-TLVs... | | optional sub-sub-TLVs... | |||
Type: 25. Single octet as defined in section 9 of [ISO10589]. | Type: 25. Single octet, as defined in Section 9 of [ISO10589]. | |||
Length: Single octet as defined in section 9 of [ISO10589]. The length value is | Length: Single octet, as defined in Section 9 of [ISO10589]. The | |||
2 + length of sub-sub-TLVs. | length value is 2 + length of sub-sub-TLVs. | |||
Flags: 2 octets The following flags are defined: | Flags: 2 octets. The following flags are defined: | |||
0 1 | 0 1 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |O| Reserved | | | |O| Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
where: | where: | |||
O-flag: If set, the router supports use of the O-bit in the | ||||
SRH, as defined in [RFC9259]. | ||||
O-flag: If set, the router supports use of the O-bit | The remaining bits, including bit 0, are reserved for future | |||
in the Segment Routing Header (SRH) as defined in | use. They MUST be set to zero on transmission and MUST be | |||
[I-D.ietf-6man-spring-srv6-oam]. | ignored on receipt. | |||
The remaining bits, including bit 0, are reserved for future use. They MUST be | ||||
set to zero on transmission and MUST be ignored on receipt. | ||||
3. Advertising Supported Algorithms | 3. Advertising Supported Algorithms | |||
An SRv6 capable router indicates supported algorithm(s) by | An SRv6-capable router indicates one or more supported algorithms by | |||
advertising the Segment Routing Algorithm sub-TLV as defined in | advertising the Segment Routing Algorithm sub-TLV, as defined in | |||
[RFC8667]. | [RFC8667]. | |||
4. Advertising Maximum SRv6 SID Depths | 4. Advertising Maximum SRv6 SID Depths | |||
[RFC8491] defines the means to advertise node/link specific values | [RFC8491] defines the means to advertise node-/link-specific values | |||
for Maximum SID Depths (MSD) of various types. Node MSDs are | for MSDs of various types. Node MSDs are advertised in a sub-TLV of | |||
advertised in a sub-TLV of the Router Capabilities TLV [RFC7981]. | the Router Capability TLV [RFC7981]. Link MSDs are advertised in a | |||
Link MSDs are advertised in a sub-TLV of TLVs 22, 23, 25, 141, 222, | sub-TLV of TLVs 22, 23, 25, 141, 222, and 223. | |||
and 223. | ||||
This document defines the relevant SRv6 MSDs and requests MSD type | This document defines the relevant SRv6 MSDs and requests MSD type | |||
assignments in the MSD Types registry created by [RFC8491]. | assignments in the "IGP MSD-Types" registry created by [RFC8491]. | |||
4.1. Maximum Segments Left MSD Type | 4.1. Maximum Segments Left MSD Type | |||
The Maximum Segments Left MSD Type signals the maximum value of the | The Maximum Segments Left MSD Type signals the maximum value of the | |||
"Segments Left" field [RFC8754] in the SRH of a received packet | "Segments Left" field [RFC8754] in the SRH of a received packet | |||
before applying the Endpoint behavior associated with a SID. | before applying the Endpoint behavior associated with a SID. | |||
SRH Max Segments Left Type: 41 | SRH Max Segments Left Type: 41 | |||
If no value is advertised, the supported value is 0. | If no value is advertised, the supported value is 0. | |||
4.2. Maximum End Pop MSD Type | 4.2. Maximum End Pop MSD Type | |||
The Maximum End Pop MSD Type signals the maximum number of SIDs in | The Maximum End Pop MSD Type signals the maximum number of SIDs in | |||
the SRH to which the router can apply "Penultimate Segment Pop of the | the SRH to which the router can apply "Penultimate Segment Pop (PSP) | |||
SRH" or "Ultimate Segment Pop of the SRH" behavior, as defined in | of the SRH" or "Ultimate Segment Pop (USP) of the SRH" behavior, as | |||
[RFC8986] flavors. | defined in "Flavors" (Section 4.16 of [RFC8986]). | |||
SRH Max End Pop Type: 42 | SRH Max End Pop Type: 42 | |||
If the advertised value is zero or no value is advertised, | If the advertised value is zero or no value is advertised, then | |||
then the router cannot apply PSP or USP flavors. | the router cannot apply PSP or USP flavors. | |||
4.3. Maximum H.Encaps MSD Type | 4.3. Maximum H.Encaps MSD Type | |||
The Maximum H.Encaps MSD Type signals the maximum number of SIDs that | The Maximum H.Encaps MSD Type signals the maximum number of SIDs that | |||
can be added to the Segment List of an SRH as part of the "H.Encaps" | can be added to the segment list of an SRH as part of the "H.Encaps" | |||
behavior as defined in [RFC8986]. | behavior, as defined in [RFC8986]. | |||
SRH Max H.encaps Type: 44 | SRH Max H.encaps Type: 44 | |||
If the advertised value is zero or no value is advertised, then the | If the advertised value is zero or no value is advertised, then | |||
headend can apply an SR Policy that only contains one segment, without | the headend can apply an SR Policy that only contains one segment | |||
inserting any SRH header. | without inserting any SRH header. | |||
A non-zero SRH Max H.encaps MSD indicates that the headend can insert | A non-zero SRH Max H.encaps MSD indicates that the headend can | |||
an SRH up to the advertised number of SIDs. | insert an SRH up to the advertised number of SIDs. | |||
4.4. Maximum End D MSD Type | 4.4. Maximum End D MSD Type | |||
The Maximum End D MSD Type specifies the maximum number of SIDs | The Maximum End D MSD Type specifies the maximum number of SIDs | |||
present in an SRH when performing decapsulation. As specified in | present in an SRH when performing decapsulation. As specified in | |||
[RFC8986] the permitted SID types include, but are not limited to | [RFC8986], the permitted SID types include, but are not limited to, | |||
End.DX6, End.DT4, End.DT46, End with USD, End.X with USD. | End.DX6, End.DT4, End.DT46, End with USD, and End.X with USD. | |||
SRH Max End D Type: 45 | SRH Max End D Type: 45 | |||
If the advertised value is zero or no value is advertised | If the advertised value is zero or no value is advertised, then | |||
then the router cannot apply any behavior that results in | the router cannot apply any behavior that results in decapsulation | |||
decapsulation and forwarding of the inner packet if the | and forwarding of the inner packet if the outer IPv6 header | |||
outer IPv6 header contains an SRH. | contains an SRH. | |||
5. SRv6 SIDs and Reachability | 5. SRv6 SIDs and Reachability | |||
As discussed in [RFC8986], an SRv6 Segment Identifier (SID) is 128 | As discussed in [RFC8986], an SRv6 Segment Identifier (SID) is 128 | |||
bits and consists of Locator, Function and Argument parts. | bits and consists of locator, function, and argument parts. | |||
A node is provisioned with topology/algorithm specific locators for | A node is provisioned with topology-/algorithm-specific locators for | |||
each of the topology/algorithm pairs supported by that node. Each | each of the topology/algorithm pairs supported by that node. Each | |||
locator is a covering prefix for all SIDs provisioned on that node | locator is a covering prefix for all SIDs provisioned on that node | |||
which have the matching topology/algorithm. | that have the matching topology/algorithm. | |||
Locators MUST be advertised in the SRv6 Locator TLV (see | Locators MUST be advertised in the SRv6 Locator TLV (see | |||
Section 7.1). Forwarding entries for the locators advertised in the | Section 7.1). Forwarding entries for the locators advertised in the | |||
SRv6 Locator TLV MUST be installed in the forwarding plane of | SRv6 Locator TLV MUST be installed in the forwarding plane of | |||
receiving SRv6 capable routers when the associated topology/algorithm | receiving SRv6-capable routers when the associated topology/algorithm | |||
is supported by the receiving node. The processing of the prefix | is supported by the receiving node. The processing of the prefix | |||
advertised in the SRv6 Locator TLV, the calculation of its | advertised in the SRv6 Locator TLV, the calculation of its | |||
reachability and the installation in the forwarding plane follows the | reachability, and the installation in the forwarding plane follows | |||
process defined for the Prefix Reachability TLV 236 [RFC5308], or TLV | the process defined for the Prefix Reachability TLV 236 [RFC5308] or | |||
237 [RFC5120]. | TLV 237 [RFC5120]. | |||
Locators associated with algorithm 0 and 1 (for all supported | Locators associated with algorithms 0 and 1 (for all supported | |||
topologies) SHOULD be advertised in a Prefix Reachability TLV (236 or | topologies) SHOULD also be advertised in a Prefix Reachability TLV | |||
237) so that legacy routers (i.e., routers which do not support SRv6) | (236 or 237) so that legacy routers (i.e., routers that do not | |||
will install a forwarding entry for algorithm 0 and 1 SRv6 traffic. | support SRv6) will install a forwarding entry for algorithms 0 and 1 | |||
SRv6 traffic. | ||||
In cases where the same prefix, with the same prefix-length, Multi | In cases where the same prefix with the same prefix length, Multi- | |||
Topology ID (MT ID), and algorithm is received in both a Prefix | Topology Identifier (MTID), and algorithm is received in both a | |||
Reachability TLV and an SRv6 Locator TLV, the Prefix Reachability | Prefix Reachability TLV and an SRv6 Locator TLV, the Prefix | |||
advertisement MUST be preferred when installing entries in the | Reachability advertisement MUST be preferred when installing entries | |||
forwarding plane. This is to prevent inconsistent forwarding entries | in the forwarding plane. This is to prevent inconsistent forwarding | |||
between SRv6 capable and SRv6 incapable routers. Such preference of | entries between SRv6-capable and SRv6-incapable routers. Such | |||
Prefix Reachability advertisement does not have any impact on the | preference of Prefix Reachability advertisement does not have any | |||
rest of the data advertised in the SRv6 Locator TLV. | impact on the rest of the data advertised in the SRv6 Locator TLV. | |||
Locators associated with Flexible Algorithms (see Section 4 of | Locators associated with Flexible Algorithms (see Section 4 of | |||
[I-D.ietf-lsr-flex-algo]) SHOULD NOT be advertised in Prefix | [RFC9350]) SHOULD NOT be advertised in Prefix Reachability TLVs (236 | |||
Reachability TLVs (236 or 237). Advertising the Flexible Algorithm | or 237). Advertising the Flexible Algorithm locator in a regular | |||
locator in regular Prefix Reachability TLV (236 or 237) would make | Prefix Reachability TLV (236 or 237) would make the forwarding for it | |||
the forwarding for it to follow algo 0 path. | follow the algorithm 0 path. | |||
SRv6 SIDs are advertised as sub-TLVs in the SRv6 Locator TLV except | SRv6 SIDs are advertised as sub-TLVs in the SRv6 Locator TLV, except | |||
for SRv6 SIDs which are associated with a specific Neighbor/Link and | for SRv6 SIDs that are associated with a specific neighbor/link and | |||
are therefore advertised as sub-TLVs in TLVs 22, 23, 25, 141, 222, | are therefore advertised as sub-TLVs in TLVs 22, 23, 25, 141, 222, | |||
and 223. | and 223. | |||
SRv6 SIDs received from other nodes are not directly routable and | SRv6 SIDs received from other nodes are not directly routable and | |||
MUST NOT be installed in the forwarding plane. Reachability to SRv6 | MUST NOT be installed in the forwarding plane. Reachability to SRv6 | |||
SIDs depends upon the existence of a covering locator. | SIDs depends upon the existence of a covering locator. | |||
Adherence to the rules defined in this section will assure that SRv6 | Adherence to the rules defined in this section will ensure that SRv6 | |||
SIDs associated with a supported topology/algorithm pair will be | SIDs associated with a supported topology/algorithm pair will be | |||
forwarded correctly, while SRv6 SIDs associated with an unsupported | forwarded correctly, while SRv6 SIDs associated with an unsupported | |||
topology/algorithm pair will be dropped. NOTE: The drop behavior | topology/algorithm pair will be dropped. NOTE: The drop behavior | |||
depends on the absence of a default/summary route covering a given | depends on the absence of a default/summary route covering a given | |||
locator. | locator. | |||
In order for forwarding to work correctly, the locator associated | In order for forwarding to work correctly, the locator associated | |||
with SRv6 SID advertisements must be the longest match prefix | with SRv6 SID advertisements must be the longest match prefix | |||
installed in the forwarding plane for those SIDs. In order to ensure | installed in the forwarding plane for those SIDs. In order to ensure | |||
correct forwarding, network operators should take steps to make sure | correct forwarding, network operators should take steps to make sure | |||
that this requirement is not compromised. For example, the following | that this requirement is not compromised. For example, the following | |||
situations should be avoided: | situations should be avoided: | |||
o Another locator associated with a different topology/algorithm is | * Another locator associated with a different topology/algorithm is | |||
the longest match | the longest match. | |||
o Another prefix advertisement (i.e., from TLV 236 or 237) is the | * Another prefix advertisement (i.e., from TLV 236 or 237) is the | |||
longest match | longest match. | |||
6. Advertising Anycast Property | 6. Advertising Anycast Property | |||
Both prefixes and SRv6 Locators may be configured as anycast and as | Both prefixes and SRv6 Locators may be configured as anycast; as | |||
such the same value can be advertised by multiple routers. It is | such, the same value can be advertised by multiple routers. It is | |||
useful for other routers to know that the advertisement is for an | useful for other routers to know that the advertisement is for an | |||
anycast identifier. | anycast identifier. | |||
A new flag in Prefix Attribute Flags Sub-TLV [RFC7794] is defined to | A new flag in the Prefix Attribute Flags sub-TLV [RFC7794] is defined | |||
advertise the anycast property: | to advertise the anycast property: | |||
Bit #: 4 | Bit #: 4 | |||
Name: Anycast Flag (A-flag) | Name: Anycast Flag (A-flag) | |||
When the prefix/SRv6 locator is configured as anycast, the A-flag | When the prefix/SRv6 Locator is configured as anycast, the A-flag | |||
SHOULD be set. Otherwise, this flag MUST be clear. | SHOULD be set. Otherwise, this flag MUST be clear. | |||
The A-flag MUST be preserved when the advertisement is leaked between | The A-flag MUST be preserved when the advertisement is leaked between | |||
levels. | levels. | |||
The A-flag and the N-flag MUST NOT both be set. If both N-flag and | The A-flag and the N-flag MUST NOT both be set. If both the N-flag | |||
A-flag are set in the prefix/SRv6 Locator advertisement, the | and the A-flag are set in the prefix/SRv6 Locator advertisement, the | |||
receiving routers MUST ignore the N-flag. | receiving routers MUST ignore the N-flag. | |||
The same prefix/SRv6 Locator can be advertised by multiple routers. | The same prefix/SRv6 Locator can be advertised by multiple routers. | |||
If at least one of them sets the A-Flag in its advertisement, the | If at least one of them sets the A-flag in its advertisement, the | |||
prefix/SRv6 Locator SHOULD be considered as anycast. | prefix/SRv6 Locator SHOULD be considered as anycast. | |||
A prefix/SRv6 Locator that is advertised by a single node and without | A prefix/SRv6 Locator that is advertised by a single node and without | |||
an A-Flag is considered node specific. | an A-flag MUST be considered node specific. | |||
All the nodes advertising the same anycast locator MUST instantiate | All the nodes advertising the same anycast locator MUST instantiate | |||
the exact same set of SIDs under that anycast locator. Failure to do | the exact same set of SIDs under that anycast locator. Failure to do | |||
so may result in traffic being black-holed or mis-routed. | so may result in traffic being dropped or misrouted. | |||
The Prefix Attribute Flags Sub-TLV can be carried in the SRv6 Locator | The Prefix Attribute Flags sub-TLV can be carried in the SRv6 Locator | |||
TLV as well as the Prefix Reachability TLVs. When a router | TLV as well as the Prefix Reachability TLVs. When a router | |||
originates both the Prefix Reachability TLV and the SRv6 Locator TLV | originates both the Prefix Reachability TLV and the SRv6 Locator TLV | |||
for a given prefix, and the router is originating the Prefix | for a given prefix, it SHOULD advertise the Prefix Attribute Flags | |||
Attribute Flags Sub-TLV in one of the TLVs, the router SHOULD | sub-TLV, if used, in both TLVs and use the same flags. However, | |||
advertise the same flags in the Prefix Attribute Flags Sub-TLV in | unlike TLVs 236 [RFC5308] and 237 [RFC5120], the X-flag in the Prefix | |||
both TLVs. However, unlike TLVs 236 [RFC5308] and 237 [RFC5120] the | Attributes Flags sub-TLV is valid when sent in the SRv6 Locator TLV. | |||
X-flag in the Prefix Attributes Flags sub-TLV is valid when sent in | When included in the Locator TLV, the state of the X-flag in the | |||
the SRv6 Locator TLV. The state of the X-flag in the Prefix | Prefix Attributes Flags sub-TLV MUST match the setting of the | |||
Attributes Flags sub-TLV when included in the Locator TLV MUST match | embedded "X-bit" in any advertisement for the same prefix in TLVs 236 | |||
the setting of the embedded "X-bit" in any advertisement for the same | [RFC5308] and 237 [RFC5120]. In case of any inconsistency between | |||
prefix in TLVs 236 [RFC5308] and 237 [RFC5120]. In case of any | the Prefix Attribute Flags advertised in the Locator TLV and in the | |||
inconsistency between the Prefix Attribute Flags advertised in the | Prefix Reachability TLV, the ones advertised in the Prefix | |||
Locator TLV and in the Prefix Reachability TLV, the ones advertised | Reachability TLV MUST be preferred. | |||
in Prefix Reachability TLV MUST be preferred. | ||||
7. Advertising Locators and End SIDs | 7. Advertising Locators and End SIDs | |||
The SRv6 Locator TLV is introduced to advertise SRv6 Locators and End | The SRv6 Locator TLV is introduced to advertise SRv6 Locators and End | |||
SIDs associated with each locator. | SIDs associated with each locator. | |||
This new TLV shares the sub-TLV space defined for TLVs 135, 235, 236 | This new TLV shares the sub-TLV space defined for TLVs 135, 235, 236, | |||
and 237. | and 237. | |||
7.1. SRv6 Locator TLV Format | 7.1. SRv6 Locator TLV Format | |||
The SRv6 Locator TLV has the following format: | The SRv6 Locator TLV has the following format: | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length |R|R|R|R| MT ID | | | Type | Length |R|R|R|R| MTID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Locator Entries . . . | | | Locator Entries . . . | | |||
Type: 27. Single octet as defined in section 9 of [ISO10589]. | Type: 27. Single octet, as defined in Section 9 of [ISO10589]. | |||
Length: Single octet as defined in section 9 of [ISO10589]. The | Length: Single octet, as defined in Section 9 of [ISO10589]. The | |||
length value is variable. | length value is variable. | |||
R bits: reserved for future use. They MUST be set to zero on | R Bits: Reserved for future use. They MUST be set to zero on | |||
transmission and MUST be ignored on receipt. | transmission and MUST be ignored on receipt. | |||
MT ID: Multitopology Identifier as defined in [RFC5120]. Note | MTID: Multi-Topology Identifier, as defined in [RFC5120]. Note that | |||
that the value 0 is legal. | the value 0 is legal. | |||
Followed by one or more locator entries of the form: | The SRv6 Locator TLV is followed by one or more locator entries of | |||
the form: | ||||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Metric | | | Metric | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Flags | Algorithm | Loc Size | | | Flags | Algorithm | Loc Size | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
// Locator (continued, variable) // | // Locator (continued, variable) // | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sub-TLV-len | Sub-TLVs (variable) . . . | | | Sub-TLV-len | Sub-TLVs (variable) . . . | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Metric: 4 octets. As described in Section 4 of [RFC5305]. | ||||
Flags: 1 octet. The following flags are defined: | Metric: 4 octets, as described in Section 4 of [RFC5305]. | |||
0 | Flags: 1 octet. The following flags are defined: | |||
0 1 2 3 4 5 6 7 | ||||
+-+-+-+-+-+-+-+-+ | ||||
|D| Reserved | | ||||
+-+-+-+-+-+-+-+-+ | ||||
D-flag: Same as described in section 4.1. of [RFC5305]. | 0 | |||
0 1 2 3 4 5 6 7 | ||||
+-+-+-+-+-+-+-+-+ | ||||
|D| Reserved | | ||||
+-+-+-+-+-+-+-+-+ | ||||
D-flag: "up/down bit" as described in Section 4.1 of [RFC5305]. | ||||
The remaining bits are reserved for future use. They MUST be | The remaining bits are reserved for future use. They MUST be | |||
set to zero on transmission and MUST be ignored on receipt. | set to zero on transmission and MUST be ignored on receipt. | |||
Algorithm: 1 octet. As defined in IGP Algorithm Types registry | Algorithm: 1 octet, as defined in the "IGP Algorithm Types" registry | |||
[RFC8665]. | [RFC8665]. | |||
Loc-Size: 1 octet. Number of bits in the SRv6 Locator field. | Loc-Size: 1 octet. Number of bits in the SRv6 Locator field, which | |||
MUST be from the range (1 - 128). The TLV MUST be ignored if the | MUST be from the range (1-128). The entire TLV MUST be ignored if | |||
Loc-Size is outside this range. | the Loc-Size is outside this range. | |||
Locator: 1-16 octets. This field encodes the advertised SRv6 | Locator: 1-16 octets. This field encodes the advertised SRv6 | |||
Locator. The Locator is encoded in the minimal number of octets | Locator. The SRv6 Locator is encoded in the minimal number of | |||
for the given number of bits. Trailing bits MUST be set to zero | octets for the given number of bits. Trailing bits MUST be set to | |||
and ignored when received. | zero and ignored when received. | |||
Sub-TLV-length: 1 octet. Number of octets used by sub-TLVs. | Sub-TLV-length: 1 octet. Number of octets used by sub-TLVs. | |||
Optional sub-TLVs: Supported sub-TLVs are specified in | Optional Sub-TLVs: Supported sub-TLVs are specified in | |||
Section 11.1.2. Any Sub-TLV that is not allowed in the SRv6 | Section 11.1.2. Any sub-TLV that is not allowed in the SRv6 | |||
Locator TLV MUST be ignored. | Locator TLV MUST be ignored. | |||
Prefix Attribute Flags Sub-TLV [RFC7794] SHOULD be included in the | The Prefix Attribute Flags sub-TLV [RFC7794] SHOULD be included in | |||
Locator TLV. | the Locator TLV. | |||
Prefix Attribute Flags Sub-TLV MUST be included in the the Locator | The Prefix Attribute Flags sub-TLV MUST be included in the Locator | |||
TLV when it is leaked upwards in the hierarchy or originated as a | TLV when it is leaked upwards in the hierarchy or originated as a | |||
result of the redistribution from another protocol or another ISIS | result of the redistribution from another protocol or another IS-IS | |||
instance. If the Prefix Attribute Flags Sub-TLV is not included in | instance. If the Prefix Attribute Flags sub-TLV is not included in | |||
these cases, receivers will be unable to determine the correct source | these cases, receivers will be unable to determine the correct source | |||
of the advertisement. The receivers will be unable to detect the | of the advertisement. The receivers will be unable to detect the | |||
violation. | violation. | |||
7.2. SRv6 End SID sub-TLV | 7.2. SRv6 End SID Sub-TLV | |||
The SRv6 End SID sub-TLV is introduced to advertise SRv6 Segment | The SRv6 End SID sub-TLV is introduced to advertise SRv6 SIDs with | |||
Identifiers (SID) with Endpoint behaviors which do not require a | Endpoint behaviors that do not require a particular neighbor in order | |||
particular neighbor in order to be correctly applied. SRv6 SIDs | to be correctly applied. SRv6 SIDs associated with a neighbor are | |||
associated with a neighbor are advertised using the sub-TLVs defined | advertised using the sub-TLVs defined in Section 8. | |||
in Section 8. | ||||
Supported behavior values, together with parent TLVs in which they | Supported behavior values, together with parent TLVs in which they | |||
are advertised, are specified in Section 10 of this document. Please | are advertised, are specified in Section 10 of this document. Please | |||
note that not all behaviors defined in [RFC8986] are defined in this | note that not all behaviors defined in [RFC8986] are defined in this | |||
document, e.g. END.T is not. | document, e.g., End.T is not. | |||
This new sub-TLV is advertised in the SRv6 Locator TLV defined in the | This new sub-TLV is advertised in the SRv6 Locator TLV defined in the | |||
previous section. SRv6 End SIDs inherit the topology/algorithm from | previous section. SRv6 End SIDs inherit the topology/algorithm from | |||
the parent locator. | the parent locator. | |||
The SRv6 End SID sub-TLV has the following format: | The SRv6 End SID sub-TLV has the following format: | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | Flags | | | Type | Length | Flags | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Endpoint Behavior | | | Endpoint Behavior | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (128 bits) . . . | | | SID (128 bits) . . . | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont . . .) | | | SID (cont . . .) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont . . .) | | | SID (cont . . .) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont . . .) | | | SID (cont . . .) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|Sub-sub-TLV-len| Sub-sub-TLVs (variable) . . . | | |Sub-sub-TLV-len| Sub-sub-TLVs (variable) . . . | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Type: 5. Single octet as defined in section 9 of [ISO10589]. | Type: 5. Single octet, as defined in Section 9 of [ISO10589]. | |||
Length: Single octet as defined in section 9 of [ISO10589]. The | Length: Single octet, as defined in Section 9 of [ISO10589]. The | |||
length value is variable. | length value is variable. | |||
Flags: 1 octet. No flags are currently defined. All bits are | Flags: 1 octet. No flags are currently defined. All bits are | |||
reserved for future use. They MUST be set to zero on transmission | reserved for future use. They MUST be set to zero on transmission | |||
and MUST be ignored on receipt. | and MUST be ignored on receipt. | |||
Endpoint Behavior: 2 octets, as defined in [RFC8986]. Supported | Endpoint Behavior: 2 octets, as defined in [RFC8986]. Supported | |||
behavior values for this sub-TLV are defined in Section 10 of this | behavior values for this sub-TLV are defined in Section 10 of this | |||
document. Unsupported or unrecognized behavior values are ignored | document. Unsupported or unrecognized behavior values are ignored | |||
by the receiver. | by the receiver. | |||
SID: 16 octets. This field encodes the advertised SRv6 SID. | SID: 16 octets. This field encodes the advertised SRv6 SID. | |||
Sub-sub-TLV-length: 1 octet. Number of octets used by sub-sub- | Sub-sub-TLV-length: 1 octet. Number of octets used by sub-sub-TLVs. | |||
TLVs. | ||||
Optional Sub-sub-TLVs: Supported Sub-sub-TLVs are specified in | Optional Sub-sub-TLVs: Supported sub-sub-TLVs are specified in | |||
Section 11.6. Any Sub-sub-TLV that is not allowed in SRv6 End SID | Section 11.6. Any sub-sub-TLV that is not allowed in the SRv6 End | |||
sub-TLV MUST be ignored. | SID sub-TLV MUST be ignored. | |||
The SRv6 End SID MUST be allocated from its associated locator. SRv6 | The SRv6 End SID MUST be allocated from its associated locator. SRv6 | |||
End SIDs that are not allocated from the associated locator MUST be | End SIDs that are not allocated from the associated locator MUST be | |||
ignored. | ignored. | |||
Multiple SRv6 End SIDs MAY be associated with the same locator. In | Multiple SRv6 End SIDs MAY be associated with the same locator. In | |||
cases where the number of SRv6 End SID sub-TLVs exceeds the capacity | cases where the number of SRv6 End SID sub-TLVs exceeds the capacity | |||
of a single TLV, multiple Locator TLVs for the same locator MAY be | of a single TLV, multiple Locator TLVs for the same locator MAY be | |||
advertised. For a given MTID/Locator the algorithm MUST be the same | advertised. For a given MTID/Locator, the algorithm MUST be the same | |||
in all TLVs. If this restriction is not met all TLVs for that MTID/ | in all TLVs. If this restriction is not met, all TLVs for that MTID/ | |||
Locator MUST be ignored. | Locator MUST be ignored. | |||
8. Advertising SRv6 Adjacency SIDs | 8. Advertising SRv6 Adjacency SIDs | |||
Certain SRv6 Endpoint behaviors [RFC8986] are associated with a | Certain SRv6 Endpoint behaviors [RFC8986] are associated with a | |||
particular adjacency. | particular adjacency. | |||
This document defines two new sub-TLVs of TLV 22, 23, 25, 141, 222, | This document defines two new sub-TLVs of TLVs 22, 23, 25, 141, 222, | |||
and 223 - namely "SRv6 End.X SID sub-TLVs" and "SRv6 LAN End.X SID | and 223 -- namely "SRv6 End.X SID sub-TLVs" and "SRv6 LAN End.X SID | |||
sub-TLVs". | sub-TLVs". | |||
IS-IS Neighbor advertisements are topology specific - but not | IS-IS neighbor advertisements are topology specific but not algorithm | |||
algorithm specific. SIDs advertised in SRv6 End.X SID and SRv6 LAN | specific. SIDs advertised in SRv6 End.X SID and SRv6 LAN End.X SID | |||
End.X SID sub-TLVs therefore inherit the topology from the associated | sub-TLVs therefore inherit the topology from the associated neighbor | |||
neighbor advertisement, but the algorithm is specified in the | advertisement, but the algorithm is specified in the individual SID. | |||
individual SID. | ||||
All SIDs advertised in SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs | All SIDs advertised in SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs | |||
MUST be a subnet of a Locator with matching topology and algorithm | MUST be a subnet of a Locator with matching topology and algorithm | |||
which is advertised by the same node in an SRv6 Locator TLV. SIDs | that are advertised by the same node in an SRv6 Locator TLV. SIDs | |||
that do not meet this requirement MUST be ignored. This ensures that | that do not meet this requirement MUST be ignored. This ensures that | |||
the node advertising these SIDs is also advertising its corresponding | the node advertising these SIDs is also advertising its corresponding | |||
Locator with the algorithm that will be used for computing paths | Locator with the algorithm that will be used for computing paths | |||
destined to the SID. | destined to the SID. | |||
8.1. SRv6 End.X SID sub-TLV | 8.1. SRv6 End.X SID Sub-TLV | |||
This sub-TLV is used to advertise an SRv6 SID associated with a point | This sub-TLV is used to advertise an SRv6 SID associated with a | |||
to point adjacency. Multiple SRv6 End.X SID sub-TLVs MAY be | point-to-point adjacency. Multiple SRv6 End.X SID sub-TLVs MAY be | |||
associated with the same adjacency. | associated with the same adjacency. | |||
The SRv6 End.X SID sub-TLV has the following format: | The SRv6 End.X SID sub-TLV has the following format: | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | Flags | Algorithm | | | Type | Length | Flags | Algorithm | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Weight | Endpoint Behavior | | | Weight | Endpoint Behavior | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (128 bits) . . . | | | SID (128 bits) . . . | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont . . .) | | | SID (cont . . .) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont . . .) | | | SID (cont . . .) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont . . .) | | | SID (cont . . .) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|Sub-sub-tlv-len| Sub-sub-TLVs (variable) . . . | | |Sub-sub-tlv-len| Sub-sub-TLVs (variable) . . . | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Type: 43. Single octet as defined in section 9 of [ISO10589]. | Type: 43. Single octet, as defined in Section 9 of [ISO10589]. | |||
Length: Single octet as defined in section 9 of [ISO10589]. The | Length: Single octet, as defined in Section 9 of [ISO10589]. The | |||
length value is variable. | length value is variable. | |||
Flags: 1 octet. | Flags: 1 octet. | |||
0 1 2 3 4 5 6 7 | ||||
+-+-+-+-+-+-+-+-+ | ||||
|B|S|P|Reserved | | ||||
+-+-+-+-+-+-+-+-+ | ||||
where: | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | ||||
|B|S|P|Reserved | | ||||
+-+-+-+-+-+-+-+-+ | ||||
B-Flag: Backup flag. If set, the SID is eligible for | where: | |||
protection, e.g., using IP Fast Re-route (IPFRR) [RFC5286], as | B-Flag: Backup flag. If set, the SID is eligible for | |||
described in [RFC8355]. | protection, e.g., using IP Fast Reroute (IPFRR) [RFC5286], | |||
as described in [RFC8355]. | ||||
S-Flag. Set flag. When set, the S-Flag indicates that the SID | S-Flag: Set flag. When set, the S-flag indicates that the SID | |||
refers to a set of adjacencies (and therefore MAY be assigned | refers to a set of adjacencies (and therefore MAY be | |||
to other adjacencies as well). | assigned to other adjacencies as well). | |||
P-Flag. Persistent flag. When set, the P-Flag indicates that | P-Flag: Persistent flag. When set, the P-flag indicates that | |||
the SID is persistently allocated, i.e., the SID value remains | the SID is persistently allocated, i.e., the SID value | |||
consistent across router restart and/or interface flap. | remains consistent across router restart and/or interface | |||
flap. | ||||
Reserved bits: MUST be zero when originated and MUST be ignored | Reserved bits: Reserved bits MUST be zero when originated and | |||
when received. | MUST be ignored when received. | |||
Algorithm: 1 octet. As defined in IGP Algorithm Types registry | Algorithm: 1 octet, as defined in the "IGP Algorithm Types" registry | |||
[RFC8665]. | [RFC8665]. | |||
Weight: 1 octet. The value represents the weight of the SID for | Weight: 1 octet. The value represents the weight of the SID for the | |||
the purpose of load balancing. The use of the weight is defined | purpose of load balancing. The use of the weight is defined in | |||
in [RFC8402]. | [RFC8402]. | |||
Endpoint Behavior: 2 octets. As defined in [RFC8986]. Supported | Endpoint Behavior: 2 octets, as defined in [RFC8986]. Supported | |||
behavior values for this sub-TLV are defined in Section 10 of this | behavior values for this sub-TLV are defined in Section 10 of this | |||
document. Unsupported or unrecognized behavior values are ignored | document. Unsupported or unrecognized behavior values are ignored | |||
by the receiver. | by the receiver. | |||
SID: 16 octets. This field encodes the advertised SRv6 SID. | SID: 16 octets. This field encodes the advertised SRv6 SID. | |||
Sub-sub-TLV-length: 1 octet. Number of octets used by sub-sub- | Sub-sub-TLV-length: 1 octet. Number of octets used by sub-sub- | |||
TLVs. | TLVs. | |||
Optional Sub-sub-TLVs: Supported Sub-sub-TLVs are specified in | Optional Sub-sub-TLVs: Supported sub-sub-TLVs are specified in | |||
Section 11.6. Any Sub-sub-TLV that is not allowed in SRv6 End.X | Section 11.6. Any sub-sub-TLV that is not allowed in SRv6 End.X | |||
SID sub-TLV MUST be ignored. | SID sub-TLV MUST be ignored. | |||
Note that multiple TLVs for the same neighbor may be required in | Note that multiple TLVs for the same neighbor may be required in | |||
order to advertise all the SRv6 SIDs associated with that neighbor. | order to advertise all the SRv6 SIDs associated with that neighbor. | |||
8.2. SRv6 LAN End.X SID sub-TLV | 8.2. SRv6 LAN End.X SID Sub-TLV | |||
This sub-TLV is used to advertise an SRv6 SID associated with a LAN | This sub-TLV is used to advertise an SRv6 SID associated with a LAN | |||
adjacency. Since the parent TLV is advertising an adjacency to the | adjacency. Since the parent TLV is advertising an adjacency to the | |||
Designated Intermediate System (DIS) for the LAN, it is necessary to | Designated Intermediate System (DIS) for the LAN, it is necessary to | |||
include the System ID of the physical neighbor on the LAN with which | include the System-ID of the physical neighbor on the LAN with which | |||
the SRv6 SID is associated. Given that many neighbors may exist on a | the SRv6 SID is associated. Given that many neighbors may exist on a | |||
given LAN, multiple SRv6 LAN END.X SID sub-TLVs may be associated | given LAN, multiple SRv6 LAN END.X SID sub-TLVs may be associated | |||
with the same LAN. Note that multiple TLVs for the same DIS neighbor | with the same LAN. Note that multiple TLVs for the same DIS neighbor | |||
may be required in order to advertise all the SRv6 SIDs associated | may be required in order to advertise all the SRv6 SIDs associated | |||
with that neighbor. | with that neighbor. | |||
The SRv6 LAN End.X SID sub-TLV has the following format: | The SRv6 LAN End.X SID sub-TLV has the following format: | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | | Type | Length | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |||
| Neighbor System-ID (ID length octets) | | | Neighbor System-ID (ID length octets) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Flags | Algorithm | Weight | | | Flags | Algorithm | Weight | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Endpoint Behavior | | | Endpoint Behavior | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (128 bits) . . . | | | SID (128 bits) . . . | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont . . .) | | | SID (cont . . .) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont . . .) | | | SID (cont . . .) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont . . .) | | | SID (cont . . .) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|Sub-sub-TLV-len| sub-sub-TLVs (variable) . . . | | |Sub-sub-TLV-len| Sub-sub-TLVs (variable) . . . | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Type: 44. Single octet as defined in section 9 of [ISO10589]. | Type: 44. Single octet, as defined in Section 9 of [ISO10589]. | |||
Length: Single octet as defined in section 9 of [ISO10589]. The | Length: Single octet, as defined in Section 9 of [ISO10589]. The | |||
length value is variable. | length value is variable. | |||
Neighbor System-ID: IS-IS System-ID of length "ID Length" as | Neighbor System-ID: IS-IS System-ID of length "ID Length", as | |||
defined in [ISO10589]. | defined in [ISO10589]. | |||
Flags: 1 octet. | Flags: 1 octet. | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|B|S|P|Reserved | | |B|S|P|Reserved | | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
where B,S, and P flags are as described in Section 8.1. | The B-, S-, and P-flags are as described in Section 8.1. Reserved | |||
Reserved bits MUST be zero when originated and MUST be ignored | bits MUST be zero when originated and MUST be ignored when | |||
when received. | received. | |||
Algorithm: 1 octet. As defined in IGP Algorithm Types registry | Algorithm: 1 octet, as defined in the "IGP Algorithm Types" registry | |||
[RFC8665]. | [RFC8665]. | |||
Weight: 1 octet. The value represents the weight of the SID for | Weight: 1 octet. The value represents the weight of the SID for the | |||
the purpose of load balancing. The use of the weight is defined | purpose of load balancing. The use of the weight is defined in | |||
in [RFC8402]. | [RFC8402]. | |||
Endpoint Behavior: 2 octets. As defined in [RFC8986]. Supported | Endpoint Behavior: 2 octets, as defined in [RFC8986]. Supported | |||
behavior values for this sub-TLV are defined in Section 10 of this | behavior values for this sub-TLV are defined in Section 10 of this | |||
document. Unsupported or unrecognized behavior values are ignored | document. Unsupported or unrecognized behavior values are ignored | |||
by the receiver. | by the receiver. | |||
SID: 16 octets. This field encodes the advertised SRv6 SID. | SID: 16 octets. This field encodes the advertised SRv6 SID. | |||
Sub-sub-TLV-length: 1 octet. Number of octets used by sub-sub- | Sub-sub-TLV-length: 1 octet. Number of octets used by sub-sub- | |||
TLVs. | TLVs. | |||
Optional Sub-sub-TLVs: Supported Sub-sub-TLVs are specified in | Optional Sub-sub-TLVs: Supported sub-sub-TLVs are specified in | |||
Section 11.6. Any Sub-sub-TLV that is not allowed in SRv6 LAN | Section 11.6. Any sub-sub-TLV that is not allowed in SRv6 LAN | |||
End.X SID sub-TLV MUST be ignored. | End.X SID sub-TLV MUST be ignored. | |||
Note that multiple TLVs for the same neighbor, on the same LAN, may | Note that multiple TLVs for the same neighbor, on the same LAN, may | |||
be required in order to advertise all the SRv6 SIDs associated with | be required in order to advertise all the SRv6 SIDs associated with | |||
that neighbor. | that neighbor. | |||
9. SRv6 SID Structure Sub-Sub-TLV | 9. SRv6 SID Structure Sub-Sub-TLV | |||
SRv6 SID Structure Sub-Sub-TLV is an optional Sub-Sub-TLV of: | The SRv6 SID Structure sub-sub-TLV is an optional sub-sub-TLV of: | |||
SRv6 End SID Sub-TLV (Section 7.2) | * SRv6 End SID sub-TLV (Section 7.2) | |||
SRv6 End.X SID Sub-TLV (Section 8.1) | * SRv6 End.X SID sub-TLV (Section 8.1) | |||
SRv6 LAN End.X SID Sub-TLV (Section 8.2) | * SRv6 LAN End.X SID sub-TLV (Section 8.2) | |||
SRv6 SID Structure Sub-Sub-TLV is used to advertise the structure of | The SRv6 SID Structure sub-sub-TLV is used to advertise the structure | |||
the SRv6 SID as defined in [RFC8986]. It has the following format: | of the SRv6 SID, as defined in [RFC8986]. It has the following | |||
format: | ||||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| LB Length | LN Length | Fun. Length | Arg. Length | | | LB Length | LN Length | Fun. Length | Arg. Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
where: | where: | |||
Type: 1. Single octet, as defined in Section 9 of [ISO10589]. | ||||
Type: 1. Single octet as defined in section 9 of [ISO10589]. | Length: Single octet, as defined in Section 9 of [ISO10589]. The | |||
length value is 4 octets. | ||||
Length: Single octet as defined in section 9 of [ISO10589]. The | ||||
length value is 4 octets. | ||||
LB Length: 1 octet. SRv6 SID Locator Block length in bits. | LB Length: 1 octet. SRv6 SID Locator Block length in bits. | |||
LN Length: 1 octet. SRv6 SID Locator Node length in bits. | LN Length: 1 octet. SRv6 SID Locator Node length in bits. | |||
Fun. Length: 1 octet. SRv6 SID Function length in bits. | Fun. Length: 1 octet. SRv6 SID Function length in bits. | |||
Arg. Length: 1 octet. SRv6 SID Arguments length in bits. | Arg. Length: 1 octet. SRv6 SID Arguments length in bits. | |||
ISIS SRv6 SID Structure Sub-Sub-TLV MUST NOT appear more than once in | The IS-IS SRv6 SID Structure sub-sub-TLV MUST NOT appear more than | |||
its parent Sub-TLV. If it appears more than once in its parent Sub- | once in its parent sub-TLV. If it appears more than once in its | |||
TLV, the parent Sub-TLV MUST be ignored by the receiver. | parent sub-TLV, the parent sub-TLV MUST be ignored by the receiver. | |||
The sum of all four sizes advertised in ISIS SRv6 SID Structure Sub- | The sum of all four sizes advertised in the IS-IS SRv6 SID Structure | |||
Sub-TLV MUST be less than or equal to 128 bits. If the sum of all | sub-sub-TLV MUST be less than or equal to 128 bits. If the sum of | |||
four sizes advertised in the ISIS SRv6 SID Structure Sub-Sub-TLV is | all four sizes advertised in the IS-IS SRv6 SID Structure sub-sub-TLV | |||
larger than 128 bits, the parent Sub-TLV MUST be ignored by the | is larger than 128 bits, the parent sub-TLV MUST be ignored by the | |||
receiver. | receiver. | |||
The SRv6 SID Structure Sub-Sub-TLV is intended for informational use | The SRv6 SID Structure sub-sub-TLV is intended for informational use | |||
by the control and management planes. It MUST NOT be used at a | by the control and management planes. It MUST NOT be used at a | |||
transit node (as defined in [RFC8754]) for forwarding packets. As an | transit node (as defined in [RFC8754]) for forwarding packets. As an | |||
example, this information could be used for: | example, this information could be used for the following: | |||
o validation of SRv6 SIDs being instantiated in the network and | * validation of SRv6 SIDs being instantiated in the network and | |||
advertised via ISIS. These can be learnt by controllers via BGP- | advertised via IS-IS. These can be learned by controllers via | |||
LS and then be monitored for conformance to the SRv6 SID | Border Gateway Protocol - Link State (BGP-LS) and then be | |||
allocation scheme chosen by the operator as described in | monitored for conformance to the SRv6 SID allocation scheme chosen | |||
Section 3.2 of [RFC8986]. | by the operator, as described in Section 3.2 of [RFC8986]. | |||
o verification and the automation for securing the SRv6 domain by | * verification and automation for securing the SRv6 domain by | |||
provisioning filtering rules at SR domain boundaries as described | provisioning filtering rules at SR domain boundaries, as described | |||
in Section 5 of [RFC8754]. | in Section 5 of [RFC8754]. | |||
The details of these potential applications are outside the scope of | The details of these potential applications are outside the scope of | |||
this document. | this document. | |||
10. Advertising Endpoint Behaviors | 10. Advertising Endpoint Behaviors | |||
Endpoint behaviors are defined in [RFC8986]. The codepoints for the | Endpoint behaviors are defined in [RFC8986]. The codepoints for the | |||
Endpoint behaviors are defined in the "SRv6 Endpoint Behaviors" | Endpoint behaviors are defined in the "SRv6 Endpoint Behaviors" | |||
registry defined in [RFC8986]. If a behavior is advertised it MUST | registry defined in [RFC8986]. If a behavior is advertised, it MUST | |||
only be advertised in the TLV[s] marked with "Y" in the table below, | only be advertised in the TLV(s) marked with "Y" in the table below | |||
and MUST NOT be advertised in the TLV[s] marked with "N" in the table | and MUST NOT be advertised in the TLV(s) marked with "N" in the table | |||
below. | below. | |||
Endpoint |Endpoint | End | End.X | Lan End.X | | +===================+===================+=====+=======+===========+ | |||
Behavior |Behavior Codepoint| SID | SID | SID | | | Endpoint Behavior | Endpoint Behavior | End | End.X | Lan End.X | | |||
----------------------|------------------|-----|-------|-----------| | | | Codepoint | SID | SID | SID | | |||
End (PSP, USP, USD)| 1-4, 28-31 | Y | N | N | | +===================+===================+=====+=======+===========+ | |||
----------------------|------------------|-----|-------|-----------| | | End (PSP, USP, | 1-4, 28-31 | Y | N | N | | |||
End.X (PSP, USP, USD)| 5-8, 32-35 | N | Y | Y | | | USD) | | | | | | |||
----------------------|------------------|-----|-------|-----------| | +-------------------+-------------------+-----+-------+-----------+ | |||
End.DX6 | 16 | N | Y | Y | | | End.X (PSP, USP, | 5-8, 32-35 | N | Y | Y | | |||
----------------------|------------------|-----|-------|-----------| | | USD) | | | | | | |||
End.DX4 | 17 | N | Y | Y | | +-------------------+-------------------+-----+-------+-----------+ | |||
----------------------|------------------|-----|-------|-----------| | | End.DX6 | 16 | N | Y | Y | | |||
End.DT6 | 18 | Y | N | N | | +-------------------+-------------------+-----+-------+-----------+ | |||
----------------------|------------------|-----|-------|-----------| | | End.DX4 | 17 | N | Y | Y | | |||
End.DT4 | 19 | Y | N | N | | +-------------------+-------------------+-----+-------+-----------+ | |||
----------------------|------------------|-----|-------|-----------| | | End.DT6 | 18 | Y | N | N | | |||
End.DT46 | 20 | Y | N | N | | +-------------------+-------------------+-----+-------+-----------+ | |||
| End.DT4 | 19 | Y | N | N | | ||||
+-------------------+-------------------+-----+-------+-----------+ | ||||
| End.DT46 | 20 | Y | N | N | | ||||
+-------------------+-------------------+-----+-------+-----------+ | ||||
Table 1: Endpoint Behaviors | ||||
11. IANA Considerations | 11. IANA Considerations | |||
This document requests allocation for the following TLVs, sub-TLVs, | This document requests allocation for the following TLVs, sub-TLVs, | |||
and sub-sub-TLVs as well as updating the ISIS TLV registry and | and sub-sub-TLVs by updating the existing registries and defining new | |||
defining new registries. | registries under the "IS-IS TLV Codepoints" grouping. | |||
11.1. SRv6 Locator TLV | 11.1. SRv6 Locator TLV | |||
This document makes the following registrations in the IS-IS TLV | The SRv6 Locator TLV shares sub-TLV space with TLVs advertising | |||
Codepoints registry. | prefix reachability. IANA has updated the "IS-IS Sub-TLVs for TLVs | |||
Advertising Prefix Reachability" registry initially defined in | ||||
Type Description IIH LSP SNP Purge | [RFC7370] by adding this document as a reference and updating the | |||
---- --------------------- --- --- --- ----- | description of that registry to include the SRv6 Locator TLV (27). | |||
27 SRv6 Locator TLV n y n n | ||||
11.1.1. SRv6 End SID sub-TLV | ||||
The SRv6 Locator TLV shares sub-TLV space with TLVs 135, 235, 236 and | ||||
237. This document updates the "Sub-TLVs for TLVs 135, 235, 236, and | ||||
237 (Extended IP reachability, MT IP. Reach, IPv6 IP. Reach, and MT | ||||
IPv6 IP. Reach TLVs)" registry defined in [RFC7370]. IANA is | ||||
requested to update the name of the "Sub-TLVs for TLVs 135, 235, 236, | ||||
and 237 (Extended IP reachability, MT IP. Reach, IPv6 IP. Reach, | ||||
and MT IPv6 IP. Reach TLVs)" registry to "Sub-TLVs for TLVs 27, 135, | ||||
235, 236, and 237 (SRv6 Locator, Extended IP reachability, MT IP. | ||||
Reach, IPv6 IP. Reach, and MT IPv6 IP. Reach TLVs)". | ||||
IANA is asked to add this document as a reference to (renamed) "Sub- | ||||
TLVs for TLVs 27, 135, 235, 236, and 237 (SRv6 Locator, Extended IP | ||||
reachability, MT IP. Reach, IPv6 IP. Reach, and MT IPv6 IP. Reach | ||||
TLVs)" registry. | ||||
This document makes the following registrations in the (renamed) | ||||
"Sub-TLVs for TLVs 27, 135, 235, 236, and 237 (SRv6 Locator, Extended | ||||
IP reachability, MT IP. Reach, IPv6 IP. Reach, and MT IPv6 IP. | ||||
Reach TLVs)" registry: | ||||
Type: 5 | ||||
Description: SRv6 End SID sub-TLV. | This document makes the following registration in the "IS-IS Top- | |||
Level TLV Codepoints" registry: | ||||
Reference: This document (Section 7.2). | +=======+==============+=====+=====+=====+=======+ | |||
| Value | Name | IIH | LSP | SNP | Purge | | ||||
+=======+==============+=====+=====+=====+=======+ | ||||
| 27 | SRv6 Locator | n | y | n | n | | ||||
+-------+--------------+-----+-----+-----+-------+ | ||||
11.1.2. Revised sub-TLV table | Table 2: IS-IS Top-Level TLV Codepoints Registry | |||
The revised table of sub-TLVs for the (renamed) "Sub-TLVs for TLVs | 11.1.1. SRv6 End SID Sub-TLV | |||
27, 135, 235, 236, and 237 (SRv6 Locator, Extended IP reachability, | ||||
MT IP. Reach, IPv6 IP. Reach, and MT IPv6 IP. Reach TLVs)" | ||||
registry is shown below: | ||||
Type 27 135 235 236 237 | This document makes the following registration: | |||
1 y y y y y | +======+==============+====+=====+=====+=====+=====+=============+ | |||
2 y y y y y | | Type | Description | 27 | 135 | 235 | 236 | 237 | Reference | | |||
3 n y y y y | +======+==============+====+=====+=====+=====+=====+=============+ | |||
4 y y y y y | | 5 | SRv6 End SID | y | n | n | n | n | RFC 9352, | | |||
5 y n n n n | | | | | | | | | Section 7.2 | | |||
6 n y y y y | +------+--------------+----+-----+-----+-----+-----+-------------+ | |||
11 y y y y y | ||||
12 y y y y y | ||||
32 n y y y y | ||||
11.2. SRv6 Capabilities sub-TLV | Table 3: IS-IS Sub-TLVs for TLVs Advertising Prefix | |||
Reachability Registry | ||||
This document makes the following registrations in the "Sub-TLVs for | 11.1.2. IS-IS Sub-TLVs for TLVs Advertising Prefix Reachability | |||
TLV 242 (IS-IS Router CAPABILITY TLV)": | Registry | |||
Type: 25 | IANA has updated the "IS-IS Sub-TLVs for TLVs Advertising Prefix | |||
Reachability" registry to include a column for the SRv6 Locator TLV | ||||
(27) as shown below: | ||||
Description: SRv6 Capabilities sub-TLV. | +======+=======================+====+=====+=====+=====+=====+ | |||
| Type | Description | 27 | 135 | 235 | 236 | 237 | | ||||
+======+=======================+====+=====+=====+=====+=====+ | ||||
| 1 | 32-bit Administrative | y | y | y | y | y | | ||||
| | Tag Sub-TLV | | | | | | | ||||
+------+-----------------------+----+-----+-----+-----+-----+ | ||||
| 2 | 64-bit Administrative | y | y | y | y | y | | ||||
| | Tag Sub-TLV | | | | | | | ||||
+------+-----------------------+----+-----+-----+-----+-----+ | ||||
| 3 | Prefix Segment | n | y | y | y | y | | ||||
| | Identifier | | | | | | | ||||
+------+-----------------------+----+-----+-----+-----+-----+ | ||||
| 4 | Prefix Attribute | y | y | y | y | y | | ||||
| | Flags | | | | | | | ||||
+------+-----------------------+----+-----+-----+-----+-----+ | ||||
| 6 | Flexible Algorithm | n | y | y | y | y | | ||||
| | Prefix Metric (FAPM) | | | | | | | ||||
+------+-----------------------+----+-----+-----+-----+-----+ | ||||
| 11 | IPv4 Source Router ID | y | y | y | y | y | | ||||
+------+-----------------------+----+-----+-----+-----+-----+ | ||||
| 12 | IPv6 Source Router ID | y | y | y | y | y | | ||||
+------+-----------------------+----+-----+-----+-----+-----+ | ||||
| 32 | BIER Info | n | y | y | y | y | | ||||
+------+-----------------------+----+-----+-----+-----+-----+ | ||||
Reference: This document (Section 2). | Table 4: IS-IS Sub-TLVs for TLVs Advertising Prefix | |||
Reachability Registry | ||||
11.3. Sub-Sub-TLVs of the SRv6 Capability sub-TLV | 11.2. SRv6 Capabilities Sub-TLV | |||
This document requests a new IANA registry be created under the IS-IS | This document makes the following registration in the "IS-IS Sub-TLVs | |||
TLV Codepoints Registry to control the assignment of sub-TLV types | for IS-IS Router CAPABILITY TLV" registry: | |||
for the SRv6 Capability sub-TLV specified in this document - | ||||
Section 2. The suggested name of the new registry is "sub-sub-TLVs | ||||
of the SRv6 Capability sub-TLV". The registration procedure is | ||||
"Expert Review" as defined in [RFC8126]. Guidance for the Designated | ||||
Experts is provided in the [RFC7370]. No sub-sub-TLVs are defined by | ||||
this document except for the reserved type 0. | ||||
Type Description Encoding | +=======+===================+=====================+ | |||
Reference | | Value | Description | Reference | | |||
--------------------------------------------------------- | +=======+===================+=====================+ | |||
0 Reserved | | 25 | SRv6 Capabilities | RFC 9352, Section 2 | | |||
1-255 Unassigned | +-------+-------------------+---------------------+ | |||
11.4. SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs | Table 5: IS-IS Sub-TLVs for IS-IS Router | |||
CAPABILITY TLV Registry | ||||
This document makes the following registrations in the "Sub-TLVs for | 11.3. IS-IS Sub-Sub-TLVs for the SRv6 Capabilities Sub-TLV Registry | |||
TLVs 22, 23, 25, 141, 222, and 223 (Extended IS reachability, IS | ||||
Neighbor Attribute, L2 Bundle Member Attributes, inter-AS | ||||
reachability information, MT-ISN, and MT IS Neighbor Attribute TLVs)" | ||||
registry: | ||||
Type: 43 | IANA has created the "IS-IS Sub-Sub-TLVs for SRv6 Capabilities Sub- | |||
TLV" registry under the "IS-IS TLV Codepoints" grouping for the | ||||
assignment of sub-TLV types for the SRv6 Capabilities sub-TLV | ||||
specified in this document (Section 2). This registry defines sub- | ||||
sub-TLVs for the SRv6 Capabilities sub-TLV (25) advertised in the IS- | ||||
IS Router CAPABILITY TLV (242). | ||||
Description: SRv6 End.X SID sub-TLV. | The registration procedure is "Expert Review", as defined in | |||
[RFC8126]. Guidance for the designated experts is provided in | ||||
[RFC7370]. No sub-sub-TLVs are defined by this document, except for | ||||
the reserved type 0. | ||||
Reference: This document (Section 8.1). | +=======+=============+===========+ | |||
| Value | Description | Reference | | ||||
+=======+=============+===========+ | ||||
| 0 | Reserved | RFC 9532 | | ||||
+-------+-------------+-----------+ | ||||
| 1-255 | Unassigned | | | ||||
+-------+-------------+-----------+ | ||||
Type: 44 | Table 6: IS-IS Sub-Sub-TLVs for | |||
SRv6 Capabilities Sub-TLV | ||||
Registry | ||||
Description: SRv6 LAN End.X SID sub-TLV. | 11.4. SRv6 End.X SID and SRv6 LAN End.X SID Sub-TLVs | |||
Reference: This document (Section 8.2). | This document makes the following registrations in the "IS-IS Sub- | |||
TLVs for TLVs Advertising Neighbor Information" registry: | ||||
Type 22 23 25 141 222 223 | +======+=============+====+====+====+=====+=====+=====+=============+ | |||
| Type | Description | 22 | 23 | 25 | 141 | 222 | 223 | Reference | | ||||
+======+=============+====+====+====+=====+=====+=====+=============+ | ||||
| 43 | SRv6 End.X | y | y | y | y | y | y | RFC 9352, | | ||||
| | SID | | | | | | | Section | | ||||
| | | | | | | | | 8.1 | | ||||
+------+-------------+----+----+----+-----+-----+-----+-------------+ | ||||
| 44 | SRv6 LAN | y | y | y | y | y | y | RFC 9352, | | ||||
| | End.X SID | | | | | | | Section | | ||||
| | | | | | | | | 8.2 | | ||||
+------+-------------+----+----+----+-----+-----+-----+-------------+ | ||||
43 y y y y y y | Table 7: IS-IS Sub-TLVs for TLVs Advertising Neighbor Information | |||
44 y y y y y y | Registry | |||
11.5. MSD Types | 11.5. MSD Types | |||
This document makes the following registrations in the IGP MSD-Types | This document makes the following registrations in the "IGP MSD- | |||
registry: | Types" registry: | |||
Value Name Reference | ||||
------------------ | ||||
41 SRH Max SL [This Document] | ||||
42 SRH Max End Pop [This Document] | ||||
44 SRH Max H.encaps [This Document] | ||||
45 SRH Max End D [This Document] | ||||
11.6. Sub-Sub-TLVs for SID Sub-TLVs | ||||
This document requests a new IANA registry be created under the IS-IS | ||||
TLV Codepoints Registry to control the assignment of sub-TLV types | ||||
for the SID Sub-TLVs specified in this document - Section 7.2, | ||||
Section 8.1, Section 8.2. The suggested name of the new registry is | ||||
"sub-sub-TLVs for SRv6 End SID and SRv6 End.X SID". The registration | ||||
procedure is "Expert Review" as defined in [RFC8126]. Guidance for | ||||
the Designated Experts is provided in [RFC7370]. The following | ||||
assignments are made by this document: | ||||
Type Description Encoding | +=======+==================+===========+ | |||
Reference | | Value | Name | Reference | | |||
--------------------------------------------------------- | +=======+==================+===========+ | |||
0 Reserved | | 41 | SRH Max SL | RFC 9352 | | |||
1 SRv6 SID Structure Sub-Sub-TLV [This Document] | +-------+------------------+-----------+ | |||
2-255 Unassigned | | 42 | SRH Max End Pop | RFC 9352 | | |||
+-------+------------------+-----------+ | ||||
| 44 | SRH Max H.encaps | RFC 9352 | | ||||
+-------+------------------+-----------+ | ||||
| 45 | SRH Max End D | RFC 9352 | | ||||
+-------+------------------+-----------+ | ||||
Type 5 43 44 | Table 8: IGP MSD-Types | |||
1 y y y | 11.6. IS-IS Sub-Sub-TLVs for SRv6 SID Sub-TLVs Registry | |||
11.7. Prefix Attribute Flags Sub-TLV | IANA has created the "IS-IS Sub-Sub-TLVs for SRv6 SID Sub-TLVs" | |||
registry under the "IS-IS TLV Codepoints" grouping to assign sub-TLV | ||||
types for the SID sub-TLVs specified in this document (Sections 7.2, | ||||
8.1, and 8.2). | ||||
This document adds a new bit in the "Bit Values for Prefix Attribute | This registry defines sub-sub-TLVs for SRv6 SID sub-TLVs. This | |||
Flags Sub-TLV" registry: | includes the following sub-TLVs: | |||
Bit #: 4 | * SRv6 End SID (5) (Advertised in SRv6 Locator TLV (27)) | |||
Description: Anycast Flag (A-flag) | * SRv6 End.X SID (43) (Advertised in TLVs advertising neighbor | |||
information) | ||||
Reference: This document (Section 6). | * SRv6 LAN End.X SID (44) (Advertised in TLVs advertising neighbor | |||
information) | ||||
11.8. ISIS SRv6 Capabilities sub-TLV Flags Registry | The registration procedure is "Expert Review", as defined in | |||
[RFC8126]. Guidance for the designated experts is provided in | ||||
[RFC7370]. The following assignments are made by this document: | ||||
This document requests a new IANA registry be created under the IS-IS | +=======+====================+===+====+====+===========+ | |||
TLV Codepoints Registry to control the assignment of bits 0 to 15 in | | Type | Description | 5 | 43 | 44 | Reference | | |||
the Flags field of the ISIS SRv6 Capabilities sub-TLV specified in | +=======+====================+===+====+====+===========+ | |||
this document (Section 2). The suggested name of the new registry is | | 0 | Reserved | | | | RFC 9352 | | |||
"ISIS SRv6 Capabilities sub-TLV Flags". The registration procedure | +-------+--------------------+---+----+----+-----------+ | |||
is "Expert Review" as defined in [RFC8126]. Guidance for the | | 1 | SRv6 SID Structure | y | y | y | RFC 9352 | | |||
Designated Experts is provided in [RFC7370]. The following | +-------+--------------------+---+----+----+-----------+ | |||
assignments are made by this document: | | 2-255 | Unassigned | | | | | | |||
+-------+--------------------+---+----+----+-----------+ | ||||
Bit #: 1 | Table 9: IS-IS Sub-Sub-TLVs for SRv6 SID Sub-TLVs | |||
Registry | ||||
Description: O-flag | 11.7. Prefix Attribute Flags Sub-TLV | |||
Reference: This document (Section 2). | This document adds a new bit in the "IS-IS Bit Values for Prefix | |||
Attribute Flags Sub-TLV" registry: | ||||
Bit #: 0, 2-7 | +=======+=======================+=====================+ | |||
| Bit # | Name | Reference | | ||||
+=======+=======================+=====================+ | ||||
| 4 | Anycast Flag (A-flag) | RFC 9352, Section 6 | | ||||
+-------+-----------------------+---------------------+ | ||||
Description: Unassigned | Table 10: IS-IS Bit Values for Prefix Attribute | |||
Flags Sub-TLV Registry | ||||
11.9. ISIS SRv6 Locator TLV Flags Registry | 11.8. IS-IS SRv6 Capabilities Sub-TLV Flags Registry | |||
This document requests a new IANA registry be created under the IS-IS | IANA has created the "IS-IS SRv6 Capabilities Sub-TLV Flags" registry | |||
TLV Codepoints Registry to control the assignment of bits 0 to 7 in | under the "IS-IS TLV Codepoints" grouping to assign bits 0 to 15 in | |||
the Flags field of the ISIS SRv6 Locator TLV specified in this | the Flags field of the IS-IS SRv6 Capabilities sub-TLV specified in | |||
document (Section 7.1). The suggested name of the new registry is | this document (Section 2). This registry defines bit values | |||
"ISIS SRv6 Locator TLV Flags". The registration procedure is "Expert | advertised in the Flags field of the SRv6 Capabilities sub-TLV (25). | |||
Review" as defined in [RFC8126]. Guidance for the Designated Experts | This sub-TLV is advertised in the IS-IS Router CAPABILITY TLV (242). | |||
is provided in [RFC7370]. The following assignments are made by this | ||||
document: | ||||
Bit #: 0 | The registration procedure is "Expert Review", as defined in | |||
[RFC8126]. Guidance for the designated experts is provided in | ||||
[RFC7370]. The following assignments are made by this document: | ||||
Description: D-flag | +======+=============+=====================+ | |||
| Type | Description | Reference | | ||||
+======+=============+=====================+ | ||||
| 0 | Unassigned | | | ||||
+------+-------------+---------------------+ | ||||
| 1 | O-flag | RFC 9352, Section 2 | | ||||
+------+-------------+---------------------+ | ||||
| 2-15 | Unassigned | | | ||||
+------+-------------+---------------------+ | ||||
Reference: This document (Section 7.1). | Table 11: IS-IS SRv6 Capabilities Sub- | |||
TLV Flags Registry | ||||
Bit #: 1-7 | 11.9. IS-IS SRv6 Locator TLV Flags Registry | |||
Description: Unassigned | IANA has created the "IS-IS SRv6 Locator TLV Flags" registry under | |||
the "IS-IS TLV Codepoints" grouping to assign bits 0 to 7 in the | ||||
Flags field of the SRv6 Locator TLV specified in this document | ||||
(Section 7.1). This registry defines bit values advertised in the | ||||
Flags field of the SRv6 Locator TLV (27). | ||||
11.10. ISIS SRv6 End SID sub-TLV Flags Registry | The registration procedure is "Expert Review", as defined in | |||
[RFC8126]. Guidance for the designated experts is provided in | ||||
[RFC7370]. The following assignments are made by this document: | ||||
This document requests a new IANA registry be created under the IS-IS | +=======+=============+=======================+ | |||
TLV Codepoints Registry to control the assignment of bits 0 to 7 in | | Value | Description | Reference | | |||
the Flags field of the ISIS SRv6 End SID sub-TLV specified in this | +=======+=============+=======================+ | |||
document (Section 7.2). The suggested name of the new registry is | | 0 | D-flag | RFC 9352, Section 7.1 | | |||
"ISIS SRv6 End SID sub-TLV Flags". The registration procedure is | +-------+-------------+-----------------------+ | |||
"Expert Review" as defined in [RFC8126]. Guidance for the Designated | | 1-7 | Unassigned | | | |||
Experts is provided in [RFC7370]. No assignments are made by this | +-------+-------------+-----------------------+ | |||
document. | ||||
Bit #: 0-7 | Table 12: IS-IS SRv6 Locator TLV Flags Registry | |||
Description: Unassigned | ||||
11.11. ISIS SRv6 End.X SID and LAN End.X SID sub-TLVs Flags Registry | 11.10. IS-IS SRv6 End SID Sub-TLV Flags Registry | |||
This document requests a new IANA registry be created under the IS-IS | IANA has created the "IS-IS SRv6 End SID Sub-TLV Flags" registry | |||
TLV Codepoints Registry to control the assignment of bits 0 to 7 in | under the "IS-IS TLV Codepoints" grouping to assign bits 0 to 7 in | |||
the Flags field of the ISIS SRv6 End.X SID and LAN End.X SID sub-TLVs | the Flags field of the IS-IS SRv6 End SID sub-TLV specified in this | |||
(Section 8.1 and Section 8.2). The suggested name of the new | document (Section 7.2). This registry defines bit values advertised | |||
registry is "ISIS SRv6 End.X SID and LAN End.X SID sub-TLVs Flags". | in the Flags field of the SRv6 End SID sub-TLV (5), which is | |||
The registration procedure is "Expert Review" as defined in | advertised in the SRv6 Locator TLV (27). | |||
[RFC8126]. Guidance for the Designated Experts is provided in | ||||
[RFC7370]. The following assignments are made by this document: | ||||
Bit #: 0 | The registration procedure is "Expert Review", as defined in | |||
[RFC8126]. Guidance for the designated experts is provided in | ||||
[RFC7370]. No assignments are made by this document. | ||||
Description: B-flag | +=======+=============+===========+ | |||
| Value | Description | Reference | | ||||
+=======+=============+===========+ | ||||
| 0-7 | Unassigned | | | ||||
+-------+-------------+-----------+ | ||||
Reference: This document (Section 8.1). | Table 13: IS-IS SRv6 End SID | |||
Sub-TLV Flags Registry | ||||
Bit #: 1 | 11.11. IS-IS SRv6 Adjacency SID Sub-TLVs Flags Registry | |||
Description: S-flag | IANA has created the "IS-IS SRv6 Adjacency SID Sub-TLVs Flags" | |||
registry under the "IS-IS TLV Codepoints" grouping to assign bits 0 | ||||
to 7 in the Flags field of the IS-IS SRv6 End.X SID and LAN End.X SID | ||||
sub-TLVs (Sections 8.1 and 8.2). | ||||
Reference: This document (Section 8.1). | This registry defines bit values advertised in the Flags field of | |||
SRv6 SID sub-TLVs associated with adjacencies. These sub-TLVs are | ||||
advertised in TLVs advertising neighbor information. The list of | ||||
sub-TLVs includes: | ||||
Bit #: 2 | * SRv6 End.X SID (43) | |||
Description: P-flag | * SRv6 LAN End.X SID (44) | |||
Reference: This document (Section 8.1). | The registration procedure is "Expert Review", as defined in | |||
[RFC8126]. Guidance for the designated experts is provided in | ||||
[RFC7370]. The following assignments are made by this document: | ||||
Bit #: 3-7 | +=======+=============+=======================+ | |||
| Value | Description | Reference | | ||||
+=======+=============+=======================+ | ||||
| 0 | B-flag | RFC 9352, Section 8.1 | | ||||
+-------+-------------+-----------------------+ | ||||
| 1 | S-flag | RFC 9352, Section 8.1 | | ||||
+-------+-------------+-----------------------+ | ||||
| 2 | P-flag | RFC 9352, Section 8.1 | | ||||
+-------+-------------+-----------------------+ | ||||
| 3-7 | Unassigned | | | ||||
+-------+-------------+-----------------------+ | ||||
Description: Unassigned | Table 14: IS-IS SRv6 Adjacency SID Sub-TLVs | |||
Flags Registry | ||||
12. Security Considerations | 12. 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 describes the IS-IS extensions required to support | This document describes the IS-IS extensions required to support SR | |||
Segment Routing over an IPv6 data plane. The security considerations | over an IPv6 data plane. The security considerations for SR are | |||
for Segment Routing are discussed in [RFC8402]. [RFC8986] defines | discussed in [RFC8402]. [RFC8986] defines the SRv6 Network | |||
the SRv6 Network Programming concept and specifies the main Segment | Programming concept and specifies the main SR behaviors to enable the | |||
Routing behaviors to enable the creation of interoperable overlays; | creation of interoperable overlays; the security considerations from | |||
the security considerations from that document apply too. | that document apply too. | |||
The advertisement for an incorrect MSD value may have negative | The advertisement for an incorrect MSD value may have negative | |||
consequences, see [RFC8491] for additional considerations. | consequences; see [RFC8491] for additional considerations. | |||
Security concerns associated with the setting of the O-flag are | Security concerns associated with the setting of the O-flag are | |||
described in [I-D.ietf-6man-spring-srv6-oam]. | described in [RFC9259]. | |||
Security concerns associated with the usage of Flex-Algorithms are | ||||
described in [I-D.ietf-lsr-flex-algo]). | ||||
13. Contributors | ||||
The following people gave a substantial contribution to the content | ||||
of this document and should be considered as co-authors: | ||||
Stefano Previdi | ||||
Huawei Technologies | ||||
Email: stefano@previdi.net | ||||
Paul Wells | ||||
Cisco Systems | ||||
Saint Paul, | ||||
Minnesota | ||||
United States | ||||
Email: pauwells@cisco.com | ||||
Daniel Voyer | ||||
Email: daniel.voyer@bell.ca | ||||
Satoru Matsushima | ||||
Email: satoru.matsushima@g.softbank.co.jp | ||||
Bart Peirens | ||||
Email: bart.peirens@proximus.com | ||||
Hani Elmalky | ||||
Email: hani.elmalky@ericsson.com | ||||
Prem Jonnalagadda | ||||
Email: prem@barefootnetworks.com | ||||
Milad Sharif | ||||
Email: msharif@barefootnetworks.com> | ||||
Robert Hanzl | ||||
Cisco Systems | ||||
Millenium Plaza Building, V Celnici 10, Prague 1, | ||||
Prague, Czech Republic | ||||
Email rhanzl@cisco.com | ||||
Ketan Talaulikar | ||||
Cisco Systems, Inc. | ||||
Email: ketant@cisco.com | ||||
14. Acknowledgments | ||||
Thanks to Christian Hopps for his review comments and shepherd work. | ||||
Thanks to Alvaro Retana and John Scudder for AD review and comments. | ||||
15. References | ||||
15.1. Normative References | Security concerns associated with the usage of Flexible Algorithms | |||
are described in [RFC9350]). | ||||
[I-D.ietf-6man-spring-srv6-oam] | 13. References | |||
Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M. | ||||
Chen, "Operations, Administration, and Maintenance (OAM) | ||||
in Segment Routing Networks with IPv6 Data plane (SRv6)", | ||||
draft-ietf-6man-spring-srv6-oam-11 (work in progress), | ||||
June 2021. | ||||
[I-D.ietf-lsr-flex-algo] | 13.1. Normative References | |||
Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and | ||||
A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- | ||||
algo-17 (work in progress), July 2021. | ||||
[ISO10589] | [ISO10589] ISO, "Information technology - Telecommunications and | |||
International Organization for Standardization, | information exchange between systems - Intermediate System | |||
"Intermediate system to Intermediate system intra-domain | to Intermediate System intra-domain routeing information | |||
routeing information exchange protocol for use in | exchange protocol for use in conjunction with the protocol | |||
conjunction with the protocol for providing the | for providing the connectionless-mode network service (ISO | |||
connectionless-mode Network Service (ISO 8473)", Nov 2002. | 8473)", Second Edition, ISO/IEC 10589:2002, November 2002. | |||
[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>. | |||
[RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi | [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi | |||
Topology (MT) Routing in Intermediate System to | Topology (MT) Routing in Intermediate System to | |||
Intermediate Systems (IS-ISs)", RFC 5120, | Intermediate Systems (IS-ISs)", RFC 5120, | |||
DOI 10.17487/RFC5120, February 2008, | DOI 10.17487/RFC5120, February 2008, | |||
skipping to change at page 28, line 11 ¶ | skipping to change at line 1230 ¶ | |||
Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | |||
(SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | |||
<https://www.rfc-editor.org/info/rfc8754>. | <https://www.rfc-editor.org/info/rfc8754>. | |||
[RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, | [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, | |||
D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 | D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 | |||
(SRv6) Network Programming", RFC 8986, | (SRv6) Network Programming", RFC 8986, | |||
DOI 10.17487/RFC8986, February 2021, | DOI 10.17487/RFC8986, February 2021, | |||
<https://www.rfc-editor.org/info/rfc8986>. | <https://www.rfc-editor.org/info/rfc8986>. | |||
15.2. Informative References | [RFC9259] Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M. | |||
Chen, "Operations, Administration, and Maintenance (OAM) | ||||
in Segment Routing over IPv6 (SRv6)", RFC 9259, | ||||
DOI 10.17487/RFC9259, June 2022, | ||||
<https://www.rfc-editor.org/info/rfc9259>. | ||||
[RFC9350] Psenak, P., Ed., Hegde, S., Filsfils, C., Talaulikar, K., | ||||
and A. Gulko, "IGP Flexible Algorithm", RFC 9350, | ||||
DOI 10.17487/RFC9350, February 2023, | ||||
<https://www.rfc-editor.org/rfc/rfc9350>. | ||||
13.2. Informative References | ||||
[RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for | [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for | |||
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>. | |||
[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 28, line 33 ¶ | skipping to change at line 1263 ¶ | |||
and M. Fanto, "IS-IS Generic Cryptographic | and M. Fanto, "IS-IS Generic Cryptographic | |||
Authentication", RFC 5310, DOI 10.17487/RFC5310, February | Authentication", RFC 5310, DOI 10.17487/RFC5310, February | |||
2009, <https://www.rfc-editor.org/info/rfc5310>. | 2009, <https://www.rfc-editor.org/info/rfc5310>. | |||
[RFC8355] Filsfils, C., Ed., Previdi, S., Ed., Decraene, B., and R. | [RFC8355] Filsfils, C., Ed., Previdi, S., Ed., Decraene, B., and R. | |||
Shakir, "Resiliency Use Cases in Source Packet Routing in | Shakir, "Resiliency Use Cases in Source Packet Routing in | |||
Networking (SPRING) Networks", RFC 8355, | Networking (SPRING) Networks", RFC 8355, | |||
DOI 10.17487/RFC8355, March 2018, | DOI 10.17487/RFC8355, March 2018, | |||
<https://www.rfc-editor.org/info/rfc8355>. | <https://www.rfc-editor.org/info/rfc8355>. | |||
Acknowledgements | ||||
Thanks to Christian Hopps for his review comments and shepherd work. | ||||
Thanks to Alvaro Retana and John Scudder for AD review and comments. | ||||
Contributors | ||||
The following people gave a substantial contribution to the content | ||||
of this document and should be considered coauthors: | ||||
Stefano Previdi | ||||
Huawei Technologies | ||||
Email: stefano@previdi.net | ||||
Paul Wells | ||||
Cisco Systems | ||||
Saint Paul, Minnesota | ||||
United States of America | ||||
Email: pauwells@cisco.com | ||||
Daniel Voyer | ||||
Email: daniel.voyer@bell.ca | ||||
Satoru Matsushima | ||||
Email: satoru.matsushima@g.softbank.co.jp | ||||
Bart Peirens | ||||
Email: bart.peirens@proximus.com | ||||
Hani Elmalky | ||||
Email: hani.elmalky@ericsson.com | ||||
Prem Jonnalagadda | ||||
Email: prem@barefootnetworks.com | ||||
Milad Sharif | ||||
Email: msharif@barefootnetworks.com | ||||
Robert Hanzl | ||||
Cisco Systems | ||||
Millenium Plaza Building, V Celnici 10, Prague 1 | ||||
Prague | ||||
Czech Republic | ||||
Email: rhanzl@cisco.com | ||||
Ketan Talaulikar | ||||
Cisco Systems, Inc. | ||||
Email: ketant@cisco.com | ||||
Authors' Addresses | Authors' Addresses | |||
Peter Psenak (editor) | Peter Psenak (editor) | |||
Cisco Systems | Cisco Systems | |||
Pribinova Street 10 | Pribinova Street 10 | |||
Bratislava 81109 | 81109 Bratislava | |||
Slovakia | Slovakia | |||
Email: ppsenak@cisco.com | Email: ppsenak@cisco.com | |||
Clarence Filsfils | Clarence Filsfils | |||
Cisco Systems | Cisco Systems | |||
Brussels | Brussels | |||
Belgium | Belgium | |||
Email: cfilsfil@cisco.com | Email: cfilsfil@cisco.com | |||
Ahmed Bashandy | ||||
Individual | ||||
Email: abashandy.ietf@gmail.com | Ahmed Bashandy | |||
Cisco Systems | ||||
Milpitas, | ||||
United States of America | ||||
Email: bashandy@cisco.com | ||||
Bruno Decraene | Bruno Decraene | |||
Orange | Orange | |||
Issy-les-Moulineaux | Chatillon | |||
France | France | |||
Email: bruno.decraene@orange.com | Email: bruno.decraene@orange.com | |||
Zhibo Hu | Zhibo Hu | |||
Huawei Technologies | Huawei Technologies | |||
Email: huzhibo@huawei.com | Email: huzhibo@huawei.com | |||
End of changes. 228 change blocks. | ||||
681 lines changed or deleted | 737 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |