draft-ietf-lsr-isis-srv6-extensions-12.txt | draft-ietf-lsr-isis-srv6-extensions-13.txt | |||
---|---|---|---|---|
Networking Working Group P. Psenak, Ed. | Networking Working Group P. Psenak, Ed. | |||
Internet-Draft C. Filsfils | Internet-Draft C. Filsfils | |||
Updates: 7370 (if approved) Cisco Systems | Updates: 7370 (if approved) Cisco Systems | |||
Intended status: Standards Track A. Bashandy | Intended status: Standards Track A. Bashandy | |||
Expires: October 10, 2021 Individual | Expires: October 14, 2021 Individual | |||
B. Decraene | B. Decraene | |||
Orange | Orange | |||
Z. Hu | Z. Hu | |||
Huawei Technologies | Huawei Technologies | |||
April 8, 2021 | April 12, 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-12 | draft-ietf-lsr-isis-srv6-extensions-13 | |||
Abstract | Abstract | |||
The Segment Routing (SR) allows for a flexible definition of end-to- | The Segment Routing (SR) allows for a flexible definition of end-to- | |||
end paths by encoding paths as sequences of topological sub-paths, | end paths by encoding paths as sequences of topological sub-paths, | |||
called "segments". Segment routing architecture can be implemented | called "segments". Segment routing architecture can be implemented | |||
over an MPLS data plane as well as an IPv6 data plane. This document | over an MPLS data plane as well as an IPv6 data plane. This document | |||
describes the IS-IS extensions required to support Segment Routing | describes the IS-IS extensions required to support Segment Routing | |||
over an IPv6 data plane. | over an IPv6 data plane. | |||
This documents updates [RFC7370] by modifying an existing registry. | This documents updates RFC 7370 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 2, line 4 ¶ | 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 October 14, 2021. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2021 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 | |||
skipping to change at page 2, line 36 ¶ | skipping to change at page 2, line 36 ¶ | |||
4. Advertising Maximum SRv6 SID Depths . . . . . . . . . . . . . 4 | 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 . . . . . . . . . . . . . . . . . 5 | 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 . . . . . . . . . . . . . . . 12 | |||
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 . . . . . . . . . . . . . . . 14 | |||
9. SRv6 SID Structure Sub-Sub-TLV . . . . . . . . . . . . . . . 15 | 9. SRv6 SID Structure Sub-Sub-TLV . . . . . . . . . . . . . . . 16 | |||
10. Advertising Endpoint Behaviors . . . . . . . . . . . . . . . 16 | 10. Advertising Endpoint Behaviors . . . . . . . . . . . . . . . 17 | |||
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 | |||
11.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 16 | 11.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 17 | |||
11.1.1. SRv6 End SID sub-TLV . . . . . . . . . . . . . . . . 17 | 11.1.1. SRv6 End SID sub-TLV . . . . . . . . . . . . . . . . 18 | |||
11.1.2. Revised sub-TLV table . . . . . . . . . . . . . . . 17 | 11.1.2. Revised sub-TLV table . . . . . . . . . . . . . . . 18 | |||
11.2. SRv6 Capabilities sub-TLV . . . . . . . . . . . . . . . 18 | 11.2. SRv6 Capabilities sub-TLV . . . . . . . . . . . . . . . 19 | |||
11.3. SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs . . . . . 18 | 11.3. SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs . . . . . 19 | |||
11.4. MSD Types . . . . . . . . . . . . . . . . . . . . . . . 19 | 11.4. MSD Types . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
11.5. Sub-Sub-TLVs for SID Sub-TLVs . . . . . . . . . . . . . 19 | 11.5. Sub-Sub-TLVs for SID Sub-TLVs . . . . . . . . . . . . . 20 | |||
11.6. Prefix Attribute Flags Sub-TLV . . . . . . . . . . . . . 20 | 11.6. Prefix Attribute Flags Sub-TLV . . . . . . . . . . . . . 21 | |||
12. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | 12. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | |||
13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 20 | 13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
14.1. Normative References . . . . . . . . . . . . . . . . . . 21 | 14.1. Normative References . . . . . . . . . . . . . . . . . . 22 | |||
14.2. Informative References . . . . . . . . . . . . . . . . . 24 | 14.2. Informative References . . . . . . . . . . . . . . . . . 25 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | 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]. | |||
skipping to change at page 3, line 45 ¶ | skipping to change at page 3, line 45 ¶ | |||
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 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 | This documents updates [RFC7370] by modifying an existing registry | |||
Section 11.1.2. | (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. | |||
skipping to change at page 5, line 7 ¶ | skipping to change at page 5, line 7 ¶ | |||
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 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 | |||
skipping to change at page 5, line 47 ¶ | skipping to change at page 5, line 47 ¶ | |||
inserting any SRH header. | 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 insert | |||
an SRH up to the advertised value. | an SRH up to 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 | The Maximum End D MSD Type specifies the maximum number of SIDs | |||
present in an SRH when performing decapsulation. These includes, but | present in an SRH when performing decapsulation. These includes, but | |||
not limited to, End.DX6, End.DT4, End.DT46, End with USD, End.X with | not limited to, End.DX6, End.DT4, End.DT46, End with USD, End.X with | |||
USD as defined in [RFC8986]). | 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 the router cannot apply any behavior that results in | then the router cannot apply any behavior that results in | |||
decapsulation and forwarding of the inner packet if the | decapsulation and forwarding of the inner packet if the | |||
other IPv6 header contains an SRH. | other IPv6 header contains an SRH. | |||
5. SRv6 SIDs and Reachability | 5. SRv6 SIDs and Reachability | |||
skipping to change at page 6, line 34 ¶ | skipping to change at page 6, line 34 ¶ | |||
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 the | |||
process defined for the Prefix Reachability TLV 236 [RFC5308], or TLV | process defined for the Prefix Reachability TLV 236 [RFC5308], or TLV | |||
237 [RFC5120]. | 237 [RFC5120]. | |||
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 - (e.g. prefix, prefix- | Reachability TLV and an SRv6 Locator TLV - (e.g. prefix, prefix- | |||
length, MTID all being equal and Algorithm being 0 in Locator TLV), | length, MTID all being equal and Algorithm being 0 in Locator TLV), | |||
the Prefix Reachability advertisement MUST be preferred when | In case where the same prefix, with the same prefix-length, MTID, and | |||
installing entries in the forwarding plane. This is to prevent | algorithm is received in both a Prefix Reachability TLV and an SRv6 | |||
Locator TLV, the Prefix Reachability advertisement MUST be preferred | ||||
when installing entries in the forwarding plane. This is to prevent | ||||
inconsistent forwarding entries between SRv6 capable and SRv6 | inconsistent forwarding entries between SRv6 capable and SRv6 | |||
incapable routers. Such preference of Prefix Reachability | incapable routers. Such preference of Prefix Reachability | |||
advertisement does not have any impact on the rest of the data | advertisement does not have any impact on the rest of the data | |||
advertised in the SRv6 Locator TLV. | 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 | [I-D.ietf-lsr-flex-algo]) SHOULD NOT be advertised in Prefix | |||
Reachability TLVs (236 or 237). Advertising the Flexible Algorithm | Reachability TLVs (236 or 237). Advertising the Flexible Algorithm | |||
locator in regular Prefix Reachability TLV (236 or 237) would make | locator in regular Prefix Reachability TLV (236 or 237) would make | |||
the forwarding for it to follow algo 0 path. | the forwarding for it to follow algo 0 path. | |||
skipping to change at page 18, line 32 ¶ | skipping to change at page 19, line 32 ¶ | |||
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, | |||
under "IS-IS TLV Codepoints" registry - sub-sub-TLVs of the SRv6 | under "IS-IS TLV Codepoints" registry - sub-sub-TLVs of the SRv6 | |||
Capability sub-TLV. The registration procedure is "Expert Review" as | Capability sub-TLV. The registration procedure is "Expert Review" as | |||
defined in [RFC8126]. Guidance for the Designated Experts is | defined in [RFC8126]. Guidance for the Designated Experts is | |||
provided in [RFC7370]. Suggested registry name is "sub-sub-TLVs for | provided in the [RFC7370]. Suggested registry name is "sub-sub-TLVs | |||
SRv6 Capability sub-TLV". No sub-sub-TLVs are defined by this | for SRv6 Capability sub-TLV". No sub-sub-TLVs are defined by this | |||
document except for the reserved value. | document except for the reserved value. | |||
0: Reserved | 0: Reserved | |||
1-255: Unassigned | 1-255: Unassigned | |||
11.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 | |||
TLVs 22, 23, 25, 141, 222, and 223 (Extended IS reachability, IS | TLVs 22, 23, 25, 141, 222, and 223 (Extended IS reachability, IS | |||
skipping to change at page 19, line 23 ¶ | skipping to change at page 20, line 23 ¶ | |||
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 | |||
11.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: | |||
Value Name Reference | Value Name Reference | |||
------------------ | ------------------ | |||
41 SRH Max SL Section 4.1 | 41 SRH Max SL [This Document] | |||
42 SRH Max End Pop Section 4.2 | 42 SRH Max End Pop [This Document] | |||
44 SRH Max H.encaps Section 4.3 | 44 SRH Max H.encaps [This Document] | |||
45 SRH Max End D Section 4.4 | 45 SRH Max End D [This Document] | |||
11.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 SRv6 End SID (5) (sub-TLV of TLVs 27, 135, 235, 236 | "sub-sub-TLVs for SRv6 End SID (5) (sub-TLV of TLVs 27, 135, 235, 236 | |||
and 237) and SRv6 End.X SID (43)/SRv6 LAN End.X SID (44) (sub-TLVs of | and 237) and SRv6 End.X SID (43)/SRv6 LAN End.X SID (44) (Sub-TLVs | |||
TLVs 27, 135, 235, 236 and 237)". The registration procedure is | for TLVs 22, 23, 25, 141, 222, and 223)". The registration procedure | |||
"Expert Review" as defined in [RFC8126]. Guidance for the Designated | is "Expert Review" as defined in [RFC8126]. Guidance for the | |||
Experts is provided in [RFC7370]The following assignments are made by | Designated Experts is provided in [RFC7370]. The following | |||
this document: | assignments are made by this document: | |||
Type Description Encoding | Type Description Encoding | |||
Reference | Reference | |||
--------------------------------------------------------- | --------------------------------------------------------- | |||
0 Reserved | 0 Reserved | |||
1 SRv6 SID Structure Sub-Sub-TLV Section 9 | 1 SRv6 SID Structure Sub-Sub-TLV [This Document] | |||
2-255 Unassigned | 2-255 Unassigned | |||
Type 5 43 44 | Type 5 43 44 | |||
1 y y y | 1 y y y | |||
11.6. Prefix Attribute Flags Sub-TLV | 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: | |||
End of changes. 16 change blocks. | ||||
42 lines changed or deleted | 44 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/ |