draft-ietf-lsr-isis-srv6-extensions-11.txt | draft-ietf-lsr-isis-srv6-extensions-12.txt | |||
---|---|---|---|---|
Networking Working Group P. Psenak, Ed. | Networking Working Group P. Psenak, Ed. | |||
Internet-Draft C. Filsfils | Internet-Draft C. Filsfils | |||
Intended status: Standards Track Cisco Systems | Updates: 7370 (if approved) Cisco Systems | |||
Expires: April 11, 2021 A. Bashandy | Intended status: Standards Track A. Bashandy | |||
Individual | Expires: October 10, 2021 Individual | |||
B. Decraene | B. Decraene | |||
Orange | Orange | |||
Z. Hu | Z. Hu | |||
Huawei Technologies | Huawei Technologies | |||
October 8, 2020 | April 8, 2021 | |||
IS-IS Extension to Support Segment Routing over IPv6 Dataplane | IS-IS Extension to Support Segment Routing over IPv6 Dataplane | |||
draft-ietf-lsr-isis-srv6-extensions-11 | draft-ietf-lsr-isis-srv6-extensions-12 | |||
Abstract | Abstract | |||
Segment Routing (SR) allows for a flexible definition of end-to-end | The Segment Routing (SR) allows for a flexible definition of end-to- | |||
paths by encoding paths as sequences of topological sub-paths, called | end paths by encoding paths as sequences of topological sub-paths, | |||
"segments". Segment routing architecture can be implemented over an | called "segments". Segment routing architecture can be implemented | |||
MPLS data plane as well as an IPv6 data plane. This draft describes | over an MPLS data plane as well as an IPv6 data plane. This document | |||
the IS-IS extensions required to support Segment Routing over an IPv6 | describes the IS-IS extensions required to support Segment Routing | |||
data plane. | over an IPv6 data plane. | |||
This documents updates [RFC7370] by modifying an existing registry. | ||||
Requirements Language | Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
Status of This Memo | Status of This Memo | |||
skipping to change at page 1, line 48 ¶ | skipping to change at page 2, line 4 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on October 10, 2021. | ||||
This Internet-Draft will expire on April 11, 2021. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2021 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 Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. SRv6 Capabilities sub-TLV . . . . . . . . . . . . . . . . . . 4 | 2. SRv6 Capabilities sub-TLV . . . . . . . . . . . . . . . . . . 3 | |||
3. Advertising Supported Algorithms . . . . . . . . . . . . . . 4 | 3. Advertising Supported Algorithms . . . . . . . . . . . . . . 4 | |||
4. Advertising Maximum SRv6 SID Depths . . . . . . . . . . . . . 5 | 4. Advertising Maximum SRv6 SID Depths . . . . . . . . . . . . . 4 | |||
4.1. Maximum Segments Left MSD Type . . . . . . . . . . . . . 5 | 4.1. Maximum Segments Left MSD Type . . . . . . . . . . . . . 5 | |||
4.2. Maximum End Pop MSD Type . . . . . . . . . . . . . . . . 5 | 4.2. Maximum End Pop MSD Type . . . . . . . . . . . . . . . . 5 | |||
4.3. Maximum H.Encaps MSD Type . . . . . . . . . . . . . . . . 5 | 4.3. Maximum H.Encaps MSD Type . . . . . . . . . . . . . . . . 5 | |||
4.4. Maximum End D MSD Type . . . . . . . . . . . . . . . . . 6 | 4.4. Maximum End D MSD Type . . . . . . . . . . . . . . . . . 5 | |||
5. SRv6 SIDs and Reachability . . . . . . . . . . . . . . . . . 6 | 5. SRv6 SIDs and Reachability . . . . . . . . . . . . . . . . . 6 | |||
6. Advertising Anycast Property . . . . . . . . . . . . . . . . 7 | 6. Advertising Anycast Property . . . . . . . . . . . . . . . . 7 | |||
7. Advertising Locators and End SIDs . . . . . . . . . . . . . . 8 | 7. Advertising Locators and End SIDs . . . . . . . . . . . . . . 8 | |||
7.1. SRv6 Locator TLV Format . . . . . . . . . . . . . . . . . 8 | 7.1. SRv6 Locator TLV Format . . . . . . . . . . . . . . . . . 8 | |||
7.2. SRv6 End SID sub-TLV . . . . . . . . . . . . . . . . . . 10 | 7.2. SRv6 End SID sub-TLV . . . . . . . . . . . . . . . . . . 10 | |||
8. Advertising SRv6 Adjacency SIDs . . . . . . . . . . . . . . . 11 | 8. Advertising SRv6 Adjacency SIDs . . . . . . . . . . . . . . . 11 | |||
8.1. SRv6 End.X SID sub-TLV . . . . . . . . . . . . . . . . . 12 | 8.1. SRv6 End.X SID sub-TLV . . . . . . . . . . . . . . . . . 12 | |||
8.2. SRv6 LAN End.X SID sub-TLV . . . . . . . . . . . . . . . 13 | 8.2. SRv6 LAN End.X SID sub-TLV . . . . . . . . . . . . . . . 13 | |||
9. SRv6 SID Structure Sub-Sub-TLV . . . . . . . . . . . . . . . 15 | 9. SRv6 SID Structure Sub-Sub-TLV . . . . . . . . . . . . . . . 15 | |||
10. Advertising Endpoint Behaviors . . . . . . . . . . . . . . . 16 | 10. Advertising Endpoint Behaviors . . . . . . . . . . . . . . . 16 | |||
11. Implementation Status . . . . . . . . . . . . . . . . . . . . 16 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | |||
11.1. Cisco . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 11.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 16 | |||
11.2. Huawei . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 11.1.1. SRv6 End SID sub-TLV . . . . . . . . . . . . . . . . 17 | |||
11.3. Juniper . . . . . . . . . . . . . . . . . . . . . . . . 17 | 11.1.2. Revised sub-TLV table . . . . . . . . . . . . . . . 17 | |||
11.4. Arrcus . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 11.2. SRv6 Capabilities sub-TLV . . . . . . . . . . . . . . . 18 | |||
11.5. Interoperability Testing. . . . . . . . . . . . . . . . 18 | 11.3. SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs . . . . . 18 | |||
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 | 11.4. MSD Types . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
12.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 18 | 11.5. Sub-Sub-TLVs for SID Sub-TLVs . . . . . . . . . . . . . 19 | |||
12.1.1. SRv6 End SID sub-TLV . . . . . . . . . . . . . . . . 18 | 11.6. Prefix Attribute Flags Sub-TLV . . . . . . . . . . . . . 20 | |||
12.1.2. Revised sub-TLV table . . . . . . . . . . . . . . . 18 | 12. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | |||
12.2. SRv6 Capabilities sub-TLV . . . . . . . . . . . . . . . 19 | 13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
12.3. SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs . . . . . 19 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
12.4. MSD Types . . . . . . . . . . . . . . . . . . . . . . . 20 | 14.1. Normative References . . . . . . . . . . . . . . . . . . 21 | |||
12.5. Sub-Sub-TLVs for SID Sub-TLVs . . . . . . . . . . . . . 20 | 14.2. Informative References . . . . . . . . . . . . . . . . . 24 | |||
12.6. Prefix Attribute Flags Sub-TLV . . . . . . . . . . . . . 20 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
13. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | ||||
14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 21 | ||||
15. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 | ||||
15.1. Normative References . . . . . . . . . . . . . . . . . . 22 | ||||
15.2. Informative References . . . . . . . . . . . . . . . . . 24 | ||||
15.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 25 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 | ||||
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, 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 | Segment Routing can be directly instantiated on the IPv6 data plane | |||
through the use of the Segment Routing Header defined in [RFC8754]. | through the use of the Segment Routing Header defined in [RFC8754]. | |||
SRv6 refers to this SR instantiation on the IPv6 dataplane. | SRv6 refers to this SR instantiation on the IPv6 dataplane. | |||
The network programming paradigm | The network programming paradigm [RFC8986] is central to SRv6. It | |||
[I-D.ietf-spring-srv6-network-programming] 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 | Familiarity with the network programming paradigm [RFC8986] is | |||
[I-D.ietf-spring-srv6-network-programming] is necessary to understand | necessary to understand the extensions specified in this document. | |||
the extensions specified in this document. | ||||
This document defines one new top level IS-IS TLV and several new IS- | The new SRv6 Locator top level TLV announces SRv6 locators - a form | |||
IS sub-TLVs. | of summary address for the set of topology/algorithm specific SIDs | |||
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. | |||
The new SRv6 Locator top level TLV announces SRv6 locators - a form | ||||
of summary address for the set of topology/algorithm specific SIDs | ||||
instantiated at the node. | ||||
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 documents updates [RFC7370] by modifying an existing registry | ||||
Section 11.1.2. | ||||
2. SRv6 Capabilities sub-TLV | 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 capabilities 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 | Type: 25 | |||
Length: 2 + length of sub-sub-TLVs | Length: 2 + length of sub-sub-TLVs | |||
skipping to change at page 4, line 40 ¶ | skipping to change at page 4, line 32 ¶ | |||
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| | | | |O| | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
where: | where: | |||
O-flag: If set, the router supports use of the O-bit | O-flag: If set, the router supports use of the O-bit | |||
in the Segment Routing Header(SRH) as defined in | in the Segment Routing Header (SRH) as defined in | |||
[I-D.ietf-6man-spring-srv6-oam]. | [I-D.ietf-6man-spring-srv6-oam]. | |||
3. Advertising Supported Algorithms | 3. Advertising Supported Algorithms | |||
SRv6 capable router indicates supported algorithm(s) by advertising | An SRv6 capable router indicates supported algorithm(s) by | |||
the SR Algorithm TLV as defined in [RFC8667]. | advertising the SR Algorithm sub-TLV as defined in [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 Maximum SID Depths (MSD) of various types. Node MSDs are | |||
advertised in a sub-TLV of the Router Capabilities TLV [RFC7981]. | advertised in a sub-TLV of the Router Capabilities TLV [RFC7981]. | |||
Link MSDs are advertised in a sub-TLV of TLVs 22, 23, 141, 222, and | Link MSDs are advertised in a sub-TLV of TLVs 22, 23, 141, 222, and | |||
223. | 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 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 specifies the maximum value of the | The Maximum Segments Left MSD Type specifies the maximum value of the | |||
"SL" field [RFC8754] in the SRH of a received packet before applying | "Segments Left" field [RFC8754] in the SRH of a received packet | |||
the Endpoint behavior associated with a SID. | before applying the Endpoint behavior associated with a SID. | |||
SRH Max SL Type: 41 | SRH Max Segments Left Type: 41 | |||
If no value is advertised the supported value is assumed to be 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 specifies 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 "PSP" or USP" behavior, as | the SRH to which the router can apply "Penultimate Segment Pop of the | |||
defined in [I-D.ietf-spring-srv6-network-programming] flavors. | SRH" or "Ultimate Segment Pop of the SRH" behavior, as defined in | |||
[RFC8986] flavors. | ||||
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 it is assumed that the router cannot apply PSP or USP flavors. | then 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 specifies the maximum number of SIDs | The Maximum H.Encaps MSD Type signals the maximum number of SIDs that | |||
that can be included as part of the "H.Encaps" behavior as defined in | can be added as part of the "H.Encaps" behavior as defined in | |||
[I-D.ietf-spring-srv6-network-programming]. | [RFC8986]. | |||
SRH Max H.encaps Type: 44 | SRH Max H.encaps Type: 44 | |||
If the advertised value is zero or no value is advertised | If the advertised value is zero or no value is advertised then the | |||
then the router can apply H.Encaps only by encapsulating | headend can apply an SR Policy that only contains one segment, without | |||
the incoming packet in another IPv6 header without SRH | inserting any SRH header. | |||
the same way IPinIP encapsulation is performed. | ||||
If the advertised value is non-zero then the router supports both | A non-zero SRH Max H.encaps MSD indicates that the headend can insert | |||
IPinIP and SRH encapsulation subject to the SID limitation | an SRH up to the advertised value. | |||
specified by the advertised value. | ||||
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 in an | The Maximum End D MSD Type specifies the maximum number of SIDs | |||
SRH when performing decapsulation associated with "End.Dx" behaviors | present in an SRH when performing decapsulation. These includes, but | |||
(e.g., "End.DX6" and "End.DT6") as defined in | not limited to, End.DX6, End.DT4, End.DT46, End with USD, End.X with | |||
[I-D.ietf-spring-srv6-network-programming]. | USD as defined in [RFC8986]). | |||
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 it is assumed that the router cannot apply | then the router cannot apply any behavior that results in | |||
"End.DX6" or "End.DT6" behaviors if the outer IPv6 header | decapsulation and forwarding of the inner packet if the | |||
contains an SRH. | other IPv6 header contains an SRH. | |||
5. SRv6 SIDs and Reachability | 5. SRv6 SIDs and Reachability | |||
As discussed in [I-D.ietf-spring-srv6-network-programming], an SRv6 | As discussed in [RFC8986], an SRv6 Segment Identifier (SID) is 128 | |||
Segment Identifier (SID) is 128 bits and consists of Locator, | bits and consists of Locator, Function and Argument parts. | |||
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. | which 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. | is supported by the receiving node. The processing of the prefix | |||
advertised in the SRv6 Locator TLV, the calculation of its | ||||
Locators are routable and MAY also be advertised in Prefix | reachability and the installation in the forwarding plane follows the | |||
Reachability TLVs (236 or 237). | process defined for the Prefix Reachability TLV 236 [RFC5308], or TLV | |||
237 [RFC5120]. | ||||
Locators associated with Flexible Algorithms [I-D.ietf-lsr-flex-algo] | ||||
SHOULD NOT be advertised in Prefix Reachability TLVs (236 or 237). | ||||
Locators associated with algorithm 0 and 1 (for all supported | Locators associated with algorithm 0 and 1 (for all supported | |||
topologies) SHOULD be advertised in a Prefix Reachability TLV (236 or | topologies) SHOULD be advertised in a Prefix Reachability TLV (236 or | |||
237) so that legacy routers (i.e., routers which do NOT support SRv6) | 237) so that legacy routers (i.e., routers which do NOT support SRv6) | |||
will install a forwarding entry for algorithm 0 and 1 SRv6 traffic. | will install a forwarding entry for algorithm 0 and 1 SRv6 traffic. | |||
In cases where a locator advertisement is received in both a Prefix | In cases where a locator advertisement is received in both a Prefix | |||
Reachability TLV and an SRv6 Locator TLV, the Prefix Reachability | Reachability TLV and an SRv6 Locator TLV - (e.g. prefix, prefix- | |||
advertisement MUST be preferred when installing entries in the | length, MTID all being equal and Algorithm being 0 in Locator TLV), | |||
forwarding plane. This is to prevent inconsistent forwarding entries | the Prefix Reachability advertisement MUST be preferred when | |||
between SRv6 capable and SRv6 incapable routers. | installing entries in the forwarding plane. This is to prevent | |||
inconsistent forwarding entries between SRv6 capable and SRv6 | ||||
incapable routers. Such preference of Prefix Reachability | ||||
advertisement does not have any impact on the rest of the data | ||||
advertised in the SRv6 Locator TLV. | ||||
Locators associated with Flexible Algorithms (see Section 4 of | ||||
[I-D.ietf-lsr-flex-algo]) SHOULD NOT be advertised in Prefix | ||||
Reachability TLVs (236 or 237). Advertising the Flexible Algorithm | ||||
locator in regular Prefix Reachability TLV (236 or 237) would make | ||||
the forwarding for it to follow algo 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 End.X SIDs/LAN End.X SIDs which are associated with a | for SRv6 SIDs which are associated with a specific Neighbor/Link and | |||
specific Neighbor/Link and are therefore advertised as sub-TLVs in | are therefore advertised as sub-TLVs in TLVs 22, 23, 222, 223, and | |||
TLVs 22, 23, 222, 223, and 141. | 141. | |||
SRv6 SIDs are not directly routable and MUST NOT be installed in the | SRv6 SIDs received from other nodes are not directly routable and | |||
forwarding plane. Reachability to SRv6 SIDs depends upon the | MUST NOT be installed in the forwarding plane. Reachability to SRv6 | |||
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 assure 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. There are a number | installed in the forwarding plane for those SIDs. In order to ensure | |||
of ways in which this requirement could be compromised. In order to | correct forwarding, network operators should take steps to make sure | |||
ensure correct forwarding, network operators should take steps to | that this requirement is not compromised. For example, the following | |||
make sure that this requirement is not compromised. | situations should be avoided: | |||
o Another locator associated with a different topology/algorithm is | o Another locator associated with a different topology/algorithm is | |||
the longest match | the longest match | |||
o A prefix advertisement (i.e., from TLV 236 or 237) is the longest | o Another prefix advertisement (i.e., from TLV 236 or 237) is the | |||
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 and 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 "Bit Values for Prefix Attribute Flags Sub-TLV" | A new flag in Prefix Attribute Flags Sub-TLV [RFC7794] is defined to | |||
registry [RFC7794] is defined to advertise the anycast property: | 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 leaked between levels. | The A-flag MUST be preserved when the advertisement is leaked between | |||
levels. | ||||
The A-flag and the N-flag MUST NOT both be set. | ||||
If both N-flag and A-flag are set in the prefix/SRv6 Locator | The A-flag and the N-flag MUST NOT both be set. If both N-flag and | |||
advertisement, the receiving routers MUST ignore the N-flag. | A-flag are set in the prefix/SRv6 Locator advertisement, the | |||
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 SHOULD be interpreted as a node specific locator. | an A-Flag is 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 such anycast locator. Failure to do | the exact same set of SIDs under such anycast locator. Failure to do | |||
so may result in traffic being black-holed or mis-routed. | so may result in traffic being black-holed or mis-routed. | |||
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, and the router is originating the Prefix | |||
Attribute Flags Sub-TLV in one of the TLVs, the router SHOULD | Attribute Flags Sub-TLV in one of the TLVs, the router SHOULD | |||
advertise identical versions of the Prefix Attribute Flags Sub-TLV in | advertise the same flags in the Prefix Attribute Flags Sub-TLV in | |||
both TLVs. | both TLVs. However, unlike TLVs 236 [RFC5308] and 237 [RFC5120] the | |||
X-flag in the Prefix Attributes Flags sub-TLV is valid when sent in | ||||
the SRv6 Locator TLV. The state of the X-flag in the Prefix | ||||
Attributes Flags sub-TLV when included in the Locator TLV MUST match | ||||
the setting of the embedded "X-bit" in any advertisement of the same | ||||
prefix in TLVs 236 [RFC5308] and 237 [RFC5120]. In case of any | ||||
inconsistency between the Prefix Attribute Flags advertised in the | ||||
Locator TLV and in the Prefix Reachability TLV, the ones advertised | ||||
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| MTID | | | Type | Length |R|R|R|R| MT ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Type: 27 | ||||
Type: 27 | ||||
Length: variable. | Length: variable. | |||
R bits: reserved for future use. They MUST be | R bits: 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. | |||
MTID: Multitopology Identifier as defined in [RFC5120]. | MT ID: Multitopology Identifier as defined in [RFC5120]. | |||
Note that the value 0 is legal. | Note that the value 0 is legal. | |||
Followed by one or more locator entries of the form: | 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 | | | Flags | Algorithm | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Loc Size | Locator (variable)... | | Loc Size | Locator (variable)... | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sub-tlv-len | Sub-TLVs (variable) . . . | | | Sub-TLV-len | Sub-TLVs (variable) . . . | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Metric: 4 octets. As described in [RFC5305]. | Metric: 4 octets. As described in [RFC5305]. | |||
Flags: 1 octet. The following flags are defined | Flags: 1 octet. The following flags are defined | |||
0 | 0 | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|D| Reserved | | |D| Reserved | | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
where: | where: | |||
D bit: When the Locator is leaked from level-2 to level-1, the D | D bit: Same as described in section 4.1. of [RFC5305]. | |||
bit MUST be set. Otherwise, this bit MUST be clear. Locators | ||||
with the D bit set MUST NOT be leaked from level-1 to level-2. | ||||
This is to prevent looping. | ||||
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. Associated algorithm. Algorithm values | Algorithm: 1 octet. As defined in [RFC8665]. | |||
are defined in the IGP Algorithm Type registry. | ||||
Loc-Size: 1 octet. Number of bits in the SRv6 Locator field. | Loc-Size: 1 octet. Number of bits in the SRv6 Locator field. | |||
(1 - 128) | MUST be from the range (1 - 128). The TLV MUST be ignored if | |||
the Loc-Size is outside of 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 | Locator. The Locator is encoded in the minimal number of | |||
octets for the given number of bits. Trailing bits MUST be set | octets for the given number of bits. Trailing bits MUST be set | |||
to zero and ignored when received. | to 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. | Optional sub-TLVs: Sub-TLVs 1, 2, 4, 5, 11, 12 are allowed. | |||
Any other Sub-TLVs MUST be ignored. | ||||
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 Segment | |||
Identifiers (SID) with Endpoint behaviors which do not require a | Identifiers (SID) with Endpoint behaviors which do not require a | |||
particular neighbor in order to be correctly applied | particular neighbor in order to be correctly applied. SRv6 SIDs | |||
[I-D.ietf-spring-srv6-network-programming]. SRv6 SIDs associated | associated with a neighbor are advertised using the sub-TLVs defined | |||
with a neighbor are advertised using the sub-TLVs defined in | in Section 8. | |||
Section 8. | ||||
Supported behavior values together with parent TLVs in which they | ||||
area advertised are specified in Section 10 of this document. Please | ||||
note that not all behaviors defined in [RFC8986] are defined in this | ||||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 10, line 39 ¶ | skipping to change at page 10, line 47 ¶ | |||
| Flags | Endpoint Behavior | | | Flags | 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. | Type: 5. | |||
Length: variable. | Length: variable. | |||
Flags: 1 octet. No flags are currently defined. | Flags: 1 octet. No flags are currently defined. | |||
Endpoint Behavior: 2 octets, as defined in [I-D.ietf-spring-srv6- | Endpoint Behavior: 2 octets, as defined in [RFC8986]. Supported | |||
network-programming]. Legal behavior values for this sub-TLV are | behavior values for this sub-TLV are defined in Section 10 of this | |||
defined in Section 10 of this document. | document. Unsupported or unrecognized behavior values are ignored | |||
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. | Optional Sub-sub-TLVs. | |||
The SRv6 End SID MUST be a subnet of the associated Locator. SRv6 | The SRv6 End SID MUST be a subnet of the associated Locator. SRv6 | |||
End SIDs which are NOT a subnet of the associated locator MUST be | End SIDs which are not a subnet of 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 | Certain SRv6 Endpoint behaviors [RFC8986] are associated with a | |||
[I-D.ietf-spring-srv6-network-programming] are associated with a | ||||
particular adjacency. | particular adjacency. | |||
This document defines two new sub-TLVs of TLV 22, 23, 222, 223, and | This document defines two new sub-TLVs of TLV 22, 23, 222, 223, and | |||
141 - namely "SRv6 End.X SID" and "SRv6 LAN End.X SID". | 141 - namely "SRv6 End.X SID sub-TLVs" and "SRv6 LAN End.X SID sub- | |||
TLVs". | ||||
IS-IS Neighbor advertisements are topology specific - but not | IS-IS Neighbor advertisements are topology specific - but not | |||
algorithm specific. End.X SIDs therefore inherit the topology from | algorithm specific. SIDs advertised in SRv6 End.X SID and SRv6 LAN | |||
the associated neighbor advertisement, but the algorithm is specified | End.X SID sub-TLVs therefore inherit the topology from the associated | |||
in the individual SID. | neighbor advertisement, but the algorithm is specified in the | |||
individual SID. | ||||
All End.X SIDs MUST be a subnet of a Locator with matching topology | ||||
and algorithm which is advertised by the same node in an SRv6 Locator | ||||
TLV. End.X SIDs which do not meet this requirement MUST be ignored. | ||||
All End.X and LAN End.X SIDs MUST be subsumed by the subnet of a | All SIDs advertised in SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs | |||
Locator with the matching algorithm which is advertised by the same | MUST be a subnet of a Locator with matching topology and algorithm | |||
node in an SRv6 Locator TLV. End.X SIDs which do not meet this | which is advertised by the same node in an SRv6 Locator TLV. SIDs | |||
requirement MUST be ignored. This ensures that the node advertising | that do not meet this requirement MUST be ignored. This ensures that | |||
the End.X or LAN End.X SID 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 point | |||
to point adjacency. Multiple SRv6 End.X SID sub-TLVs MAY be | 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: | |||
skipping to change at page 12, line 46 ¶ | skipping to change at page 12, line 48 ¶ | |||
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: | where: | |||
B-Flag: Backup flag. If set, the End.X SID is eligible for | B-Flag: Backup flag. If set, the SID is eligible for | |||
protection (e.g., using IPFRR) as described in [RFC8355]. | protection (e.g., using IPFRR) as described in [RFC8355]. | |||
S-Flag. Set flag. When set, the S-Flag indicates that the | S-Flag. Set flag. When set, the S-Flag indicates that the SID | |||
End.X SID refers to a set of adjacencies (and therefore MAY be | refers to a set of adjacencies (and therefore MAY be assigned | |||
assigned to other adjacencies as well). | 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 End.X SID is persistently allocated, i.e., the End.X SID | the SID is persistently allocated, i.e., the SID value remains | |||
value remains consistent across router restart and/or interface | consistent across router restart and/or interface flap. | |||
flap. | ||||
Reserved bits: MUST be zero when originated and ignored when | Reserved bits: MUST be zero when originated and ignored when | |||
received. | received. | |||
Algorithm: 1 octet. Associated algorithm. Algorithm values are | Algorithm: 1 octet. As defined in [RFC8665]. | |||
defined in the IGP Algorithm Type registry. | ||||
Weight: 1 octet. The value represents the weight of the End.X SID | Weight: 1 octet. The value represents the weight of the SID for | |||
for the purpose of load balancing. The use of the weight is | the purpose of load balancing. The use of the weight is defined | |||
defined in [RFC8402]. | in [RFC8402]. | |||
Endpoint Behavior: 2 octets. As defined in [I-D.ietf-spring-srv6- | Endpoint Behavior: 2 octets. As defined in [RFC8986]. Supported | |||
network-programming] Legal behavior values for this sub-TLV are | behavior values for this sub-TLV are defined in Section 10 of this | |||
defined in Section 10. | document. Unsupported or unrecognized behavior values are ignored | |||
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. | |||
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 of the SRv6 End.X SIDs associated with that | order to advertise all of the SRv6 SIDs associated with that | |||
neighbor. | 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 a large number of neighbors | the SRv6 SID is associated. Given that a large number of neighbors | |||
may exist on a given LAN a large number of SRv6 LAN END.X SID sub- | may exist on a given LAN a large number of SRv6 LAN END.X SID sub- | |||
TLVs may be associated with the same LAN. Note that multiple TLVs | TLVs may be associated with the same LAN. Note that multiple TLVs | |||
for the same DIS neighbor may be required in order to advertise all | for the same DIS neighbor may be required in order to advertise all | |||
of the SRv6 End.X SIDs associated with that neighbor. | of the SRv6 SIDs associated 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) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 14, line 24 ¶ | skipping to change at page 14, line 24 ¶ | |||
| 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 | Type: 44 | |||
Length: variable. | Length: 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. | where B,S, and P flags are as described in Section 8.1. | |||
Reserved bits MUST be zero when originated and MUST be ignored | Reserved bits MUST be zero when originated and MUST be ignored | |||
when received. | when received. | |||
Algorithm: 1 octet. Associated algorithm. Algorithm values are | Algorithm: 1 octet. As defined in [RFC8665]. | |||
defined in the IGP Algorithm Type registry. | ||||
Weight: 1 octet. The value represents the weight of the End.X SID | Weight: 1 octet. The value represents the weight of the SID for | |||
for the purpose of load balancing. The use of the weight is | the purpose of load balancing. The use of the weight is defined | |||
defined in [RFC8402]. | in [RFC8402]. | |||
Endpoint Behavior: 2 octets. As defined in [I-D.ietf-spring-srv6- | Endpoint Behavior: 2 octets. As defined in [RFC8986]. Supported | |||
network-programming] Legal behavior values for this sub-TLV are | behavior values for this sub-TLV are defined in Section 10 of this | |||
defined in Section 10. | document. Unsupported or unrecognized behavior values are ignored | |||
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. | |||
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: | 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 length of | SRv6 SID Structure Sub-Sub-TLV is used to advertise the as defined in | |||
each individual part of the SRv6 SID as defined in | [RFC8986]. It has the following format: | |||
[I-D.ietf-spring-srv6-network-programming]. 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: | |||
skipping to change at page 16, line 12 ¶ | skipping to change at page 16, line 6 ¶ | |||
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 | ISIS SRv6 SID Structure Sub-Sub-TLV MUST NOT appear more than once in | |||
its parent Sub-TLV. If it appears more than once in its parent Sub- | its parent Sub-TLV. If it appears more than once in its parent Sub- | |||
TLV, the parent Sub-TLV MUST be ignored by the receiver. | 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 ISIS SRv6 SID Structure Sub- | |||
Sub-TLV must be lower or equal to 128 bits. If the sum of all four | Sub-TLV MUST be lower or equal to 128 bits. If the sum of all four | |||
sizes advertised in the ISIS SRv6 SID Structure Sub-Sub-TLV is larger | sizes advertised in the ISIS SRv6 SID Structure Sub-Sub-TLV is larger | |||
than 128 bits, the parent Sub-TLV MUST be ignored by the receiver. | than 128 bits, the parent Sub-TLV MUST be ignored by the receiver. | |||
The SRv6 SID Structure Sub-Sub-TLV indicates the structure of the SID | ||||
associated with it. It's usage is outside of the scope of this | ||||
document. | ||||
10. Advertising Endpoint Behaviors | 10. Advertising Endpoint Behaviors | |||
Endpoint behaviors are defined in | Endpoint behaviors are defined in [RFC8986]. The codepoints for the | |||
[I-D.ietf-spring-srv6-network-programming]. 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 [I-D.ietf-spring-srv6-network-programming]. This | registry defined in [RFC8986]. If this behavior is advertised it | |||
section lists the Endpoint behaviors which MAY be advertised by ISIS, | ||||
together with their codepoints. If this behavior is advertised it | ||||
MUST only be advertised in the TLV[s] as indicated by "Y" in the | MUST only be advertised in the TLV[s] as indicated by "Y" in the | |||
table below, and MUST NOT be advertised in the TLV[s] as indicated by | table below, and MUST NOT be advertised in the TLV[s] as indicated by | |||
"N" in the table below. | "N" in the table below. | |||
Endpoint |Endpoint | End | End.X | Lan End.X | | Endpoint |Endpoint | End | End.X | Lan End.X | | |||
Behavior |Behavior Codepoint| SID | SID | SID | | Behavior |Behavior Codepoint| SID | SID | SID | | |||
----------------------|------------------|-----|-------|-----------| | ----------------------|------------------|-----|-------|-----------| | |||
End (PSP, USP, USD)| 1-4, 28-31 | Y | N | N | | End (PSP, USP, USD)| 1-4, 28-31 | Y | N | N | | |||
----------------------|------------------|-----|-------|-----------| | ----------------------|------------------|-----|-------|-----------| | |||
End.X (PSP, USP, USD)| 5-8, 32-35 | N | Y | Y | | End.X (PSP, USP, USD)| 5-8, 32-35 | N | Y | Y | | |||
----------------------|------------------|-----|-------|-----------| | ----------------------|------------------|-----|-------|-----------| | |||
End.DX6 | 16 | N | Y | Y | | End.DX6 | 16 | N | Y | Y | | |||
----------------------|------------------|-----|-------|-----------| | ----------------------|------------------|-----|-------|-----------| | |||
End.DX4 | 17 | N | Y | Y | | End.DX4 | 17 | N | Y | Y | | |||
----------------------|------------------|-----|-------|-----------| | ----------------------|------------------|-----|-------|-----------| | |||
End.DT6 | 18 | Y | N | N | | End.DT6 | 18 | Y | N | N | | |||
----------------------|------------------|-----|-------|-----------| | ----------------------|------------------|-----|-------|-----------| | |||
End.DT4 | 19 | Y | N | N | | End.DT4 | 19 | Y | N | N | | |||
----------------------|------------------|-----|-------|-----------| | ----------------------|------------------|-----|-------|-----------| | |||
End.DT64 | 20 | Y | N | N | | End.DT46 | 20 | Y | N | N | | |||
11. Implementation Status | ||||
RFC Ed.: Please remove this section prior to publication. | ||||
This section describes the implementation status of the ISIS SRv6 | ||||
extensions. | ||||
11.1. Cisco | ||||
Cisco's ISIS SRv6 implementation supports following functionalities: | ||||
Types of SID supported: End, End.X, LAN End.X, END.OP | ||||
Intra/Inter area/level support: Yes | ||||
Anycast SID support: Yes, including A-flag (Section 6) | ||||
SID Structure Sub-Sub-TLV: Yes | ||||
11.2. Huawei | ||||
Huawei's ISIS SRv6 implementation supports following functionalities: | ||||
Types of SID supported: End, End.X, LAN End.X | ||||
Intra/Inter area/level support: Yes | ||||
Anycast SID support: Yes, no A-flag support (Section 6) | ||||
SID Structure Sub-Sub-TLV: Yes | ||||
11.3. Juniper | ||||
Juniper's ISIS SRv6 implementation supports following | ||||
functionalities: | ||||
Types of SID supported: End, End.X, LAN End.X | ||||
Intra/Inter area/level support: Yes | ||||
Anycast SID support: Yes, no A-flag support (Section 6) | ||||
SID Structure Sub-Sub-TLV: No | ||||
11.4. Arrcus | ||||
Arrcus's ISIS SRv6 implementation supports following functionalities: | ||||
Types of SID supported: End, End.X, LAN End.X | ||||
Intra/Inter area/level support: Yes | ||||
Anycast SID support: No (Section 6) | ||||
SID Structure Sub-Sub-TLV: Yes | ||||
11.5. Interoperability Testing. | ||||
EANTC interoperability testing has been performed in April 2019. | ||||
Results can be found at EANTC site [1]. | ||||
12. 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 updating the ISIS TLV registry and defining | and sub-sub-TLVs as well updating the ISIS TLV registry and defining | |||
a new registry. | a new registry. | |||
12.1. SRv6 Locator TLV | 11.1. SRv6 Locator TLV | |||
This document makes the following registrations in the the IS-IS TLV | This document makes the following registrations in the the IS-IS TLV | |||
Codepoints registry: | Codepoints registry. | |||
Type: 27 | ||||
Description: SRv6 Locator TLV. | Type Description IIH LSP SNP Purge | |||
---- --------------------- --- --- --- ----- | ||||
27 SRv6 Locator TLV n y n n | ||||
Reference: This document (Section 7.1). | 11.1.1. SRv6 End SID sub-TLV | |||
A Locator TLV shares sub-TLV space with existing "Sub-TLVs for TLVs | The SRv6 Locator TLV shares sub-TLV space with TLVs 135, 235, 236 and | |||
135, 235, 236 and 237 registry". The name of this registry needs to | 237. This document updates the "Sub-TLVs for TLVs 135, 235, 236, and | |||
be changed to "Sub-TLVs for TLVs 27, 135, 235, 236 and 237 registry". | 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)". | ||||
12.1.1. SRv6 End SID sub-TLV | 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) | This document makes the following registrations in the (renamed) | |||
"Sub-TLVs for TLVs 27, 135, 235, 236 and 237 registry": | "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 | Type: 5 | |||
Description: SRv6 End SID sub-TLV. | Description: SRv6 End SID sub-TLV. | |||
Reference: This document (Section 7.2). | Reference: This document (Section 7.2). | |||
12.1.2. Revised sub-TLV table | 11.1.2. Revised sub-TLV table | |||
The revised table of sub-TLVs for the (renamed) "Sub-TLVs for TLVs | The revised table of sub-TLVs for the (renamed) "Sub-TLVs for TLVs | |||
27, 135, 235, 236 and 237 registry" is shown below: | 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 | Type 27 135 235 236 237 | |||
1 y y y y y | 1 y y y y y | |||
2 y y y y y | 2 y y y y y | |||
3 n y y y y | 3 n y y y y | |||
4 y y y y y | 4 y y y y y | |||
5 y n n n n | 5 y n n n n | |||
6 n y y y y | 6 n y y y y | |||
11 y y y y y | 11 y y y y y | |||
12 y y y y y | 12 y y y y y | |||
32 n y y y y | 32 n y y y y | |||
12.2. SRv6 Capabilities sub-TLV | 11.2. SRv6 Capabilities sub-TLV | |||
This document makes the following registrations in the "Sub- TLVs for | This document makes the following registrations in the "Sub-TLVs for | |||
TLV 242 registry": | TLV 242 (IS-IS Router CAPABILITY TLV)": | |||
Type: 25 | Type: 25 | |||
Description: SRv6 Capabilities sub-TLV. | Description: SRv6 Capabilities sub-TLV. | |||
Reference: This document (Section 2). | Reference: This document (Section 2). | |||
This document requests the creation of a new IANA managed registry | This document requests the creation of a new IANA managed registry, | |||
for sub-sub-TLVs of the SRv6 Capability sub-TLV. The registration | under "IS-IS TLV Codepoints" registry - sub-sub-TLVs of the SRv6 | |||
procedure is "Expert Review" as defined in [RFC8126]. Suggested | Capability sub-TLV. The registration procedure is "Expert Review" as | |||
registry name is "sub-sub-TLVs for SRv6 Capability sub-TLV". No sub- | defined in [RFC8126]. Guidance for the Designated Experts is | |||
sub-TLVs are defined by this document except for the reserved value. | provided in [RFC7370]. Suggested registry name is "sub-sub-TLVs for | |||
SRv6 Capability sub-TLV". No sub-sub-TLVs are defined by this | ||||
document except for the reserved value. | ||||
0: Reserved | 0: Reserved | |||
1-255: Unassigned | 1-255: Unassigned | |||
12.3. SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs | 11.3. SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs | |||
This document makes the following registrations in the "sub- TLVs for | This document makes the following registrations in the "Sub-TLVs for | |||
TLV 22, 23, 25, 141, 222 and 223 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 | Type: 43 | |||
Description: SRv6 End.X SID sub-TLV. | Description: SRv6 End.X SID sub-TLV. | |||
Reference: This document (Section 8.1). | Reference: This document (Section 8.1). | |||
Type: 44 | Type: 44 | |||
Description: SRv6 LAN End.X SID sub-TLV. | Description: SRv6 LAN End.X SID sub-TLV. | |||
Reference: This document (Section 8.2). | Reference: This document (Section 8.2). | |||
Type 22 23 25 141 222 223 | Type 22 23 25 141 222 223 | |||
43 y y y y y y | 43 y y y y y y | |||
44 y y y y y y | 44 y y y y y y | |||
12.4. MSD Types | 11.4. MSD Types | |||
This document makes the following registrations in the IGP MSD Types | This document makes the following registrations in the IGP MSD-Types | |||
registry: | registry: | |||
Type Description | Value Name Reference | |||
------------------ | ------------------ | |||
41 SRH Max SL | 41 SRH Max SL Section 4.1 | |||
42 SRH Max End Pop | 42 SRH Max End Pop Section 4.2 | |||
44 SRH Max H.encaps | 44 SRH Max H.encaps Section 4.3 | |||
45 SRH Max End D | 45 SRH Max End D Section 4.4 | |||
12.5. Sub-Sub-TLVs for SID Sub-TLVs | 11.5. Sub-Sub-TLVs for SID Sub-TLVs | |||
This document requests a new IANA registry be created under the IS-IS | This document requests a new IANA registry be created under the IS-IS | |||
TLV Codepoints Registry to control the assignment of sub-TLV types | TLV Codepoints Registry to control the assignment of sub-TLV types | |||
for the SID Sub-TLVs specified in this document - Section 7.2, | 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 | Section 8.1, Section 8.2. The suggested name of the new registry is | |||
"Sub-Sub-TLVs for SID Sub-TLVs". The registration procedure is | "sub-sub-TLVs for SRv6 End SID (5) (sub-TLV of TLVs 27, 135, 235, 236 | |||
"Expert Review" as defined in [RFC8126]. The following assignments | and 237) and SRv6 End.X SID (43)/SRv6 LAN End.X SID (44) (sub-TLVs of | |||
are made by this document: | TLVs 27, 135, 235, 236 and 237)". 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: | ||||
0: Reserved | Type Description Encoding | |||
Reference | ||||
--------------------------------------------------------- | ||||
0 Reserved | ||||
1 SRv6 SID Structure Sub-Sub-TLV Section 9 | ||||
2-255 Unassigned | ||||
1: SRv6 SID Structure Sub-Sub-TLV (Section 9). | Type 5 43 44 | |||
12.6. Prefix Attribute Flags Sub-TLV | 1 y y y | |||
11.6. Prefix Attribute Flags Sub-TLV | ||||
This document adds a new bit in the "Bit Values for Prefix Attribute | This document adds a new bit in the "Bit Values for Prefix Attribute | |||
Flags Sub-TLV" registry: | Flags Sub-TLV" registry: | |||
Bit #: 4 | Bit #: 4 | |||
Description: A bit | Description: Anycast Flag (A-flag) | |||
Reference: This document (Section 6). | Reference: This document (Section 6). | |||
13. 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]. | and [RFC5310]. While IS-IS is deployed under a single administrative | |||
domain, there can be deployments where potential attackers have | ||||
access to one or more networks in the IS-IS routing domain. In these | ||||
deployments, the stronger authentication mechanisms defined in the | ||||
aforementioned documents SHOULD be used. | ||||
14. Contributors | This document describes the IS-IS extensions required to support | |||
Segment Routing over an IPv6 data plane. The security considerations | ||||
for Segment Routing are discussed in [RFC8402]. [RFC8986] defines | ||||
the SRv6 Network Programming concept and specifies the main Segment | ||||
Routing behaviors to enable the creation of interoperable overlays; | ||||
the security considerations from that document apply too. | ||||
The advertisement of an incorrect MSD value may have negative | ||||
consequences, see [RFC8491] for additional considerations. | ||||
13. Contributors | ||||
The following people gave a substantial contribution to the content | The following people gave a substantial contribution to the content | |||
of this document and should be considered as co-authors: | of this document and should be considered as co-authors: | |||
Stefano Previdi | Stefano Previdi | |||
Huawei Technologies | Huawei Technologies | |||
Email: stefano@previdi.net | Email: stefano@previdi.net | |||
Paul Wells | Paul Wells | |||
Cisco Systems | Cisco Systems | |||
skipping to change at page 22, line 44 ¶ | skipping to change at page 21, line 44 ¶ | |||
Robert Hanzl | Robert Hanzl | |||
Cisco Systems | Cisco Systems | |||
Millenium Plaza Building, V Celnici 10, Prague 1, | Millenium Plaza Building, V Celnici 10, Prague 1, | |||
Prague, Czech Republic | Prague, Czech Republic | |||
Email rhanzl@cisco.com | Email rhanzl@cisco.com | |||
Ketan Talaulikar | Ketan Talaulikar | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
Email: ketant@cisco.com | Email: ketant@cisco.com | |||
15. References | 14. References | |||
15.1. Normative References | 14.1. Normative References | |||
[I-D.ietf-6man-spring-srv6-oam] | [I-D.ietf-6man-spring-srv6-oam] | |||
Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M. | Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M. | |||
Chen, "Operations, Administration, and Maintenance (OAM) | Chen, "Operations, Administration, and Maintenance (OAM) | |||
in Segment Routing Networks with IPv6 Data plane (SRv6)", | in Segment Routing Networks with IPv6 Data plane (SRv6)", | |||
draft-ietf-6man-spring-srv6-oam-07 (work in progress), | draft-ietf-6man-spring-srv6-oam-08 (work in progress), | |||
July 2020. | October 2020. | |||
[I-D.ietf-spring-srv6-network-programming] | [I-D.ietf-lsr-flex-algo] | |||
Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., | Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and | |||
Matsushima, S., and Z. Li, "SRv6 Network Programming", | A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- | |||
draft-ietf-spring-srv6-network-programming-24 (work in | algo-13 (work in progress), October 2020. | |||
progress), October 2020. | ||||
[ISO10589] | [ISO10589] | |||
Standardization", I. ". O. F., "Intermediate system to | International Organization for Standardization, | |||
Intermediate system intra-domain routeing information | "Intermediate system to Intermediate system intra-domain | |||
exchange protocol for use in conjunction with the protocol | routeing information exchange protocol for use in | |||
for providing the connectionless-mode Network Service (ISO | conjunction with the protocol for providing the | |||
8473), ISO/IEC 10589:2002, Second Edition.", Nov 2002. | connectionless-mode Network Service (ISO 8473)", Nov 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, | |||
<https://www.rfc-editor.org/info/rfc5120>. | <https://www.rfc-editor.org/info/rfc5120>. | |||
[RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic | ||||
Authentication", RFC 5304, DOI 10.17487/RFC5304, October | ||||
2008, <https://www.rfc-editor.org/info/rfc5304>. | ||||
[RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic | [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic | |||
Engineering", RFC 5305, DOI 10.17487/RFC5305, October | Engineering", RFC 5305, DOI 10.17487/RFC5305, October | |||
2008, <https://www.rfc-editor.org/info/rfc5305>. | 2008, <https://www.rfc-editor.org/info/rfc5305>. | |||
[RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., | [RFC5308] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308, | |||
and M. Fanto, "IS-IS Generic Cryptographic | DOI 10.17487/RFC5308, October 2008, | |||
Authentication", RFC 5310, DOI 10.17487/RFC5310, February | <https://www.rfc-editor.org/info/rfc5308>. | |||
2009, <https://www.rfc-editor.org/info/rfc5310>. | ||||
[RFC7370] Ginsberg, L., "Updates to the IS-IS TLV Codepoints | [RFC7370] Ginsberg, L., "Updates to the IS-IS TLV Codepoints | |||
Registry", RFC 7370, DOI 10.17487/RFC7370, September 2014, | Registry", RFC 7370, DOI 10.17487/RFC7370, September 2014, | |||
<https://www.rfc-editor.org/info/rfc7370>. | <https://www.rfc-editor.org/info/rfc7370>. | |||
[RFC7794] Ginsberg, L., Ed., Decraene, B., Previdi, S., Xu, X., and | [RFC7794] Ginsberg, L., Ed., Decraene, B., Previdi, S., Xu, X., and | |||
U. Chunduri, "IS-IS Prefix Attributes for Extended IPv4 | U. Chunduri, "IS-IS Prefix Attributes for Extended IPv4 | |||
and IPv6 Reachability", RFC 7794, DOI 10.17487/RFC7794, | and IPv6 Reachability", RFC 7794, DOI 10.17487/RFC7794, | |||
March 2016, <https://www.rfc-editor.org/info/rfc7794>. | March 2016, <https://www.rfc-editor.org/info/rfc7794>. | |||
skipping to change at page 24, line 24 ¶ | skipping to change at page 23, line 19 ¶ | |||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
<https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | ||||
Decraene, B., Litkowski, S., and R. Shakir, "Segment | ||||
Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | ||||
July 2018, <https://www.rfc-editor.org/info/rfc8402>. | ||||
[RFC8491] Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, | [RFC8491] Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, | |||
"Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491, | "Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491, | |||
DOI 10.17487/RFC8491, November 2018, | DOI 10.17487/RFC8491, November 2018, | |||
<https://www.rfc-editor.org/info/rfc8491>. | <https://www.rfc-editor.org/info/rfc8491>. | |||
[RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler, | ||||
H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | ||||
Extensions for Segment Routing", RFC 8665, | ||||
DOI 10.17487/RFC8665, December 2019, | ||||
<https://www.rfc-editor.org/info/rfc8665>. | ||||
[RFC8667] Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C., | [RFC8667] Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C., | |||
Bashandy, A., Gredler, H., and B. Decraene, "IS-IS | Bashandy, A., Gredler, H., and B. Decraene, "IS-IS | |||
Extensions for Segment Routing", RFC 8667, | Extensions for Segment Routing", RFC 8667, | |||
DOI 10.17487/RFC8667, December 2019, | DOI 10.17487/RFC8667, December 2019, | |||
<https://www.rfc-editor.org/info/rfc8667>. | <https://www.rfc-editor.org/info/rfc8667>. | |||
[RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | |||
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>. | |||
15.2. Informative References | [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, | |||
D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 | ||||
(SRv6) Network Programming", RFC 8986, | ||||
DOI 10.17487/RFC8986, February 2021, | ||||
<https://www.rfc-editor.org/info/rfc8986>. | ||||
[I-D.ietf-lsr-flex-algo] | 14.2. Informative References | |||
Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and | ||||
A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- | [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic | |||
algo-12 (work in progress), October 2020. | Authentication", RFC 5304, DOI 10.17487/RFC5304, October | |||
2008, <https://www.rfc-editor.org/info/rfc5304>. | ||||
[RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., | ||||
and M. Fanto, "IS-IS Generic Cryptographic | ||||
Authentication", RFC 5310, DOI 10.17487/RFC5310, February | ||||
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>. | |||
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | ||||
Decraene, B., Litkowski, S., and R. Shakir, "Segment | ||||
Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | ||||
July 2018, <https://www.rfc-editor.org/info/rfc8402>. | ||||
15.3. URIs | ||||
[1] http://www.eantc.de/fileadmin/eantc/downloads/events/2017- | ||||
2020/MPLS2019/Segment_Routing_IPv6__SRv6_.pdf | ||||
Authors' Addresses | Authors' Addresses | |||
Peter Psenak (editor) | Peter Psenak (editor) | |||
Cisco Systems | Cisco Systems | |||
Pribinova Street 10 | Pribinova Street 10 | |||
Bratislava 81109 | Bratislava 81109 | |||
Slovakia | Slovakia | |||
Email: ppsenak@cisco.com | Email: ppsenak@cisco.com | |||
End of changes. 126 change blocks. | ||||
371 lines changed or deleted | 360 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |