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