draft-ietf-lsr-isis-srv6-extensions-03.txt | draft-ietf-lsr-isis-srv6-extensions-04.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 | Intended status: Standards Track Cisco Systems | |||
Expires: April 5, 2020 A. Bashandy | Expires: July 18, 2020 A. Bashandy | |||
Arrcus | Arrcus | |||
B. Decraene | B. Decraene | |||
Orange | Orange | |||
Z. Hu | Z. Hu | |||
Huawei Technologies | Huawei Technologies | |||
October 3, 2019 | January 15, 2020 | |||
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-03.txt | draft-ietf-lsr-isis-srv6-extensions-04.txt | |||
Abstract | Abstract | |||
Segment Routing (SR) allows for a flexible definition of end-to-end | Segment Routing (SR) allows for a flexible definition of end-to-end | |||
paths by encoding paths as sequences of topological sub-paths, called | paths by encoding paths as sequences of topological sub-paths, called | |||
"segments". Segment routing architecture can be implemented over an | "segments". Segment routing architecture can be implemented over an | |||
MPLS data plane as well as an IPv6 data plane. This draft describes | MPLS data plane as well as an IPv6 data plane. This draft describes | |||
the IS-IS extensions required to support Segment Routing over an IPv6 | the IS-IS extensions required to support Segment Routing over an IPv6 | |||
data plane. | data plane. | |||
skipping to change at page 1, line 49 ¶ | skipping to change at page 1, line 49 ¶ | |||
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 April 5, 2020. | This Internet-Draft will expire on July 18, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2020 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 . . . . . . . . . . . . . . . . . . 4 | |||
3. Advertising Supported Algorithms . . . . . . . . . . . . . . 4 | 3. Advertising Supported Algorithms . . . . . . . . . . . . . . 4 | |||
4. Advertising Maximum SRv6 SID Depths . . . . . . . . . . . . . 4 | 4. Advertising Maximum SRv6 SID Depths . . . . . . . . . . . . . 5 | |||
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 T.Insert MSD Type . . . . . . . . . . . . . . . . 5 | 4.3. Maximum H.Encaps MSD Type . . . . . . . . . . . . . . . . 5 | |||
4.4. Maximum T.Encaps MSD Type . . . . . . . . . . . . . . . . 5 | 4.4. Maximum End D MSD Type . . . . . . . . . . . . . . . . . 6 | |||
4.5. Maximum End D MSD Type . . . . . . . . . . . . . . . . . 6 | ||||
5. SRv6 SIDs and Reachability . . . . . . . . . . . . . . . . . 6 | 5. SRv6 SIDs and Reachability . . . . . . . . . . . . . . . . . 6 | |||
6. Advertising Anycast Property . . . . . . . . . . . . . . . . 8 | 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 . . . . . . . . . . . . . . . 12 | 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 . . . . . . . . . . . . . . . 14 | 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 . . . . . . . . . . . . . . . 15 | |||
10. Advertising Endpoint Behaviors . . . . . . . . . . . . . . . 16 | 10. Advertising Endpoint Behaviors . . . . . . . . . . . . . . . 16 | |||
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 | 11. Implementation Status . . . . . . . . . . . . . . . . . . . . 17 | |||
11.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 17 | 11.1. Cisco . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
11.1.1. SRv6 End SID sub-TLV . . . . . . . . . . . . . . . . 17 | 11.2. Huawei . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
11.1.2. Revised sub-TLV table . . . . . . . . . . . . . . . 18 | 11.3. Juniper . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
11.2. SRv6 Capabilities sub-TLV . . . . . . . . . . . . . . . 18 | 11.4. Interoperability Testing. . . . . . . . . . . . . . . . 18 | |||
11.3. SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs . . . . . 19 | 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 . . . . . . . . . . . . . . . 19 | |||
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 . . . . . . . . . . . . . . . . . 23 | 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) [I-D.ietf-spring-segment-routing], a node | With Segment Routing (SR) [I-D.ietf-spring-segment-routing], a node | |||
steers a packet through an ordered list of instructions, called | steers a packet through an ordered list of instructions, called | |||
segments. | 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 | through the use of the Segment Routing Header defined in | |||
[I-D.ietf-6man-segment-routing-header]. SRv6 refers to this SR | [I-D.ietf-6man-segment-routing-header]. SRv6 refers to this SR | |||
instantiation on the IPv6 dataplane. | instantiation on the IPv6 dataplane. | |||
The network programming paradigm | The network programming paradigm | |||
[I-D.ietf-spring-srv6-network-programming] is central to SRv6. It | [I-D.ietf-spring-srv6-network-programming] is central to SRv6. It | |||
describes how any function 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 SID's. | program can be expressed as a combination of SID's. | |||
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 functions. | protocol to encode some of these SIDs and their behaviors. | |||
Familiarity with the network programming paradigm | Familiarity with the network programming paradigm | |||
[I-D.ietf-spring-srv6-network-programming] is necessary to understand | [I-D.ietf-spring-srv6-network-programming] is 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- | This document defines one new top level IS-IS TLV and several new IS- | |||
IS sub-TLVs. | IS sub-TLVs. | |||
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 | The new SRv6 Locator top level TLV announces SRv6 locators - a form | |||
of summary address for the set of topology/algorithm specific SIDs | of summary address for the set of topology/algorithm specific SIDs | |||
associated with a node. | 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 function is bound to each | instantiated at a node and what Endpoint behavior is bound to each | |||
instantiated SID. | instantiated SID. | |||
2. SRv6 Capabilities sub-TLV | 2. SRv6 Capabilities sub-TLV | |||
A node indicates that it has support for SRv6 by advertising a new | A node indicates that it has support for SRv6 by advertising a new | |||
SRv6- capabilities sub-TLV of the router capabilities TLV [RFC7981]. | SRv6 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 | | |||
skipping to change at page 4, line 38 ¶ | skipping to change at page 4, line 40 ¶ | |||
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.ali-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 | SRv6 capable router indicates supported algorithm(s) by advertising | |||
the SR Algorithm TLV as defined in | the SR Algorithm TLV as defined in [RFC8667]. | |||
[I-D.ietf-isis-segment-routing-extensions]. | ||||
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 [I-D.ietf-6man-segment-routing-header] in the SRH of a | "SL" field [I-D.ietf-6man-segment-routing-header] in the SRH of a | |||
skipping to change at page 5, line 15 ¶ | skipping to change at page 5, line 20 ¶ | |||
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 [I-D.ietf-6man-segment-routing-header] in the SRH of a | "SL" field [I-D.ietf-6man-segment-routing-header] in the SRH of a | |||
received packet before applying the Endpoint function associated with | received packet before applying the Endpoint behavior associated with | |||
a SID. | a SID. | |||
SRH Max SL Type: 41 (Suggested value - to be assigned by IANA) | SRH Max SL Type: 41 (Suggested value - to be assigned by IANA) | |||
If no value is advertised the supported value is assumed to be 0. | If no value is advertised the supported value is assumed to be 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 specifies the maximum number of SIDs in | |||
the top SRH in an SRH stack to which the router can apply "PSP" or | the top SRH in an SRH stack to which the router can apply "PSP" or | |||
USP" as defined in [I-D.ietf-spring-srv6-network-programming] | USP" as defined in [I-D.ietf-spring-srv6-network-programming] | |||
flavors. | flavors. | |||
SRH Max End Pop Type: 42 (Suggested value - to be assigned by IANA) | SRH Max End Pop Type: 42 (Suggested value - to be assigned by IANA) | |||
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 it is assumed that the router cannot apply PSP or USP flavors. | |||
4.3. Maximum T.Insert MSD Type | 4.3. Maximum H.Encaps MSD Type | |||
The Maximum T.Insert MSD Type specifies the maximum number of SIDs | ||||
that can be inserted as part of the "T.insert" behavior as defined in | ||||
[I-D.ietf-spring-srv6-network-programming]. | ||||
SRH Max T.insert Type: 43 (Suggested value - to be assigned by IANA) | ||||
If the advertised value is zero or no value is advertised | ||||
then the router is assumed not to support any variation | ||||
of the "T.insert" behavior. | ||||
4.4. Maximum T.Encaps MSD Type | ||||
The Maximum T.Encaps MSD Type specifies the maximum number of SIDs | The Maximum H.Encaps MSD Type specifies the maximum number of SIDs | |||
that can be included as part of the "T.Encaps" behavior as defined in | that can be included as part of the "H.Encaps" behavior as defined in | |||
[I-D.ietf-spring-srv6-network-programming] . | [I-D.ietf-spring-srv6-network-programming] . | |||
SRH Max T.encaps Type: 44 (Suggested value - to be assigned by IANA) | SRH Max H.encaps Type: 44 (Suggested value - to be assigned by IANA) | |||
If the advertised value is zero then the router can apply T.Encaps | If the advertised value is zero then the router can apply H.Encaps | |||
only by encapsulating the incoming packet in another | only by encapsulating the incoming packet in another | |||
IPv6 header without SRH the same way IPinIP encapsulation is | IPv6 header without SRH the same way IPinIP encapsulation is | |||
performed. | performed. | |||
If the advertised value is non-zero then the router supports both | If the advertised value is non-zero then the router supports both | |||
IPinIP and SRH encapsulation subject to the SID limitation | IPinIP and SRH encapsulation subject to the SID limitation | |||
specified by the advertised value. | specified by the advertised value. | |||
4.5. 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 in an | |||
SRH when performing decapsulation associated with "End.Dx" functions | SRH when performing decapsulation associated with "End.Dx" behaviors | |||
(e.g., "End.DX6" and "End.DT6") as defined in | (e.g., "End.DX6" and "End.DT6") as defined in | |||
[I-D.ietf-spring-srv6-network-programming]. | [I-D.ietf-spring-srv6-network-programming]. | |||
SRH Max End D Type: 45 (Suggested value - to be assigned by IANA) | SRH Max End D Type: 45 (Suggested value - to be assigned by IANA) | |||
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 it is assumed that the router cannot apply | |||
"End.DX6" or "End.DT6" functions if the extension | "End.DX6" or "End.DT6" behaviors if the extension | |||
header right underneath the outer IPv6 header is an SRH. | header right underneath the outer IPv6 header is 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 [I-D.ietf-spring-srv6-network-programming], an SRv6 | |||
Segment Identifier (SID) is 128 bits and represented as | Segment Identifier (SID) is 128 bits and consists of Locator, | |||
Function and Argument parts. | ||||
LOC:FUNCT | ||||
where LOC (the locator portion) is the L most significant bits and | ||||
FUNCT is the 128-L least significant bits. L is called the locator | ||||
length and is flexible. Each operator is free to use the locator | ||||
length it chooses. | ||||
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 6.1). Forwarding entries for the locators advertised in the | Section 6.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. | |||
Locators are routable and MAY also be advertised in Prefix | Locators are routable and MAY also be advertised in Prefix | |||
Reachability TLVs (236 or 237). | Reachability TLVs (236 or 237). | |||
Locators associated with Flexible Algorithms SHOULD NOT be advertised | Locators associated with Flexible Algorithms [I-D.ietf-lsr-flex-algo] | |||
in Prefix Reachability TLVs (236 or 237). | SHOULD NOT be advertised in Prefix Reachability TLVs (236 or 237). | |||
Locators associated with algorithm 0 (for all supported topologies) | Locators associated with algorithm 0 (for all supported topologies) | |||
SHOULD be advertised in a Prefix Reachability TLV (236 or 237) so | SHOULD be advertised in a Prefix Reachability TLV (236 or 237) so | |||
that legacy routers (i.e., routers which do NOT support SRv6) will | that legacy routers (i.e., routers which do NOT support SRv6) will | |||
install a forwarding entry for algorithm 0 SRv6 traffic. | install a forwarding entry for algorithm 0 SRv6 traffic. | |||
In cases where a locator advertisement is received in both in a | In cases where a locator advertisement is received in both in a | |||
Prefix Reachability TLV and an SRv6 Locator TLV, the Prefix | Prefix Reachability TLV and an SRv6 Locator TLV, the Prefix | |||
Reachability advertisement MUST be preferred when installing entries | Reachability advertisement MUST be preferred when installing entries | |||
in the forwarding plane. This is to prevent inconsistent forwarding | in the forwarding plane. This is to prevent inconsistent forwarding | |||
skipping to change at page 10, line 14 ¶ | skipping to change at page 10, line 8 ¶ | |||
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. | octets for the given number of bits. | |||
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. | |||
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 functions 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 | |||
[I-D.ietf-spring-srv6-network-programming]. SRv6 SIDs associated | [I-D.ietf-spring-srv6-network-programming]. SRv6 SIDs associated | |||
with a neighbor are advertised using the sub-TLVs defined in | with a neighbor are advertised using the sub-TLVs defined in | |||
Section 6. | Section 6. | |||
This new sub-TLV is advertised in the SRv6 Locator TLV defined in the | This new sub-TLV is advertised in the SRv6 Locator TLV defined in the | |||
previous section. SRv6 End SIDs inherit the topology/algorithm from | previous section. SRv6 End SIDs inherit the topology/algorithm from | |||
the parent locator. | the parent locator. | |||
The SRv6 End SID sub-TLV has the following format: | The SRv6 End SID sub-TLV has the following format: | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Flags | SRv6 Endpoint Function | | | 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 (Suggested value to be assigned by IANA) | Type: 5 (Suggested value to be assigned by IANA) | |||
Length: variable. | Length: variable. | |||
Flags: 1 octet. No flags are currently defined. | Flags: 1 octet. No flags are currently defined. | |||
SRv6 Endpoint Function: 2 octets. As defined in | Endpoint Behavior: 2 octets, as defined in [I-D.ietf-spring-srv6-network-programming]. | |||
[I-D.ietf-spring-srv6-network-programming] | Legal behavior values for this sub-TLV are defined in Section 9 of this document. | |||
Legal function values for this sub-TLV are defined in Section 9. | ||||
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-TLVs | Sub-sub-TLV-length: 1 octet. Number of octets used by sub-sub-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 functions | Certain SRv6 Endpoint behaviors | |||
[I-D.ietf-spring-srv6-network-programming] must be associated with a | [I-D.ietf-spring-srv6-network-programming] must be associated with a | |||
particular neighbor, and in case of multiple layer 3 links to the | particular neighbor, and in case of multiple links to the same | |||
same neighbor, with a particular link in order to be correctly | neighbor, with a particular link in order to be correctly applied. | |||
applied. | ||||
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" and "SRv6 LAN End.X SID". | |||
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. End.X SIDs therefore inherit the topology from | |||
the associated neighbor advertisement, but the algorithm is specified | the associated neighbor advertisement, but the algorithm is specified | |||
in the individual SID. | in the individual SID. | |||
All End.X SIDs MUST be a subnet of a Locator with matching topology | All End.X SIDs MUST be a subnet of a Locator with matching topology | |||
skipping to change at page 12, line 40 ¶ | skipping to change at page 12, line 39 ¶ | |||
The SRv6 End.X SID sub-TLV has the following format: | The SRv6 End.X SID sub-TLV has the following format: | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Flags | Algorithm | Weight | | | Flags | Algorithm | Weight | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SRv6 Endpoint Function | | | Endpoint Behavior | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (128 bits) . . . | | | SID (128 bits) . . . | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont . . .) | | | SID (cont . . .) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont . . .) | | | SID (cont . . .) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont . . .) | | | SID (cont . . .) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|Sub-sub-tlv-len| Sub-sub-TLVs (variable) . . . | | |Sub-sub-tlv-len| Sub-sub-TLVs (variable) . . . | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Type: 43 (Suggested value to be assigned by IANA) | ||||
Type: 43 (Suggested value to be assigned by IANA) | ||||
Length: variable. | Length: variable. | |||
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: | |||
skipping to change at page 13, line 39 ¶ | skipping to change at page 13, line 37 ¶ | |||
Other bits: MUST be zero when originated and ignored when | Other bits: MUST be zero when originated and ignored when | |||
received. | received. | |||
Algorithm: 1 octet. Associated algorithm. Algorithm values | Algorithm: 1 octet. Associated algorithm. Algorithm values | |||
are defined in the IGP Algorithm Type registry. | are defined in the IGP Algorithm Type registry. | |||
Weight: 1 octet. The value represents the weight of the | Weight: 1 octet. The value represents the weight of the | |||
End.X SID for the purpose of load balancing. The use | End.X SID for the purpose of load balancing. The use | |||
of the weight is defined in [I-D.ietf-spring-segment-routing]. | of the weight is defined in [I-D.ietf-spring-segment-routing]. | |||
SRv6 Endpoint Function: 2 octets. As defined in | Endpoint Behavior: 2 octets. As defined in | |||
[I-D.ietf-spring-srv6-network-programming] | [I-D.ietf-spring-srv6-network-programming] | |||
Legal function values for this sub-TLV are defined in Section 9. | Legal behavior values for this sub-TLV are defined in Section 9. | |||
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 End.X SIDs associated with that | |||
neighbor. | neighbor. | |||
skipping to change at page 14, line 28 ¶ | skipping to change at page 14, line 28 ¶ | |||
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 | System ID (6 octets) | | | Type | Length | System ID (6 octets) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Flags | Algorithm | Weight | | | Flags | Algorithm | Weight | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SRv6 Endpoint Function | | | 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) . . . | | |||
skipping to change at page 15, line 5 ¶ | skipping to change at page 15, line 5 ¶ | |||
System-ID: 6 octets of IS-IS System-ID of length "ID Length" as | System-ID: 6 octets of 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 6.1. | where B,S, and P flags are as described in Section 8.1. | |||
Other bits: MUST be zero when originated and ignored when | Other bits: MUST be zero when originated and ignored when | |||
received. | received. | |||
Algorithm: 1 octet. Associated algorithm. Algorithm values | Algorithm: 1 octet. Associated algorithm. Algorithm values | |||
are defined in the IGP Algorithm Type registry. | are defined in the IGP Algorithm Type registry. | |||
Weight: 1 octet. The value represents the weight of the | Weight: 1 octet. The value represents the weight of the | |||
End.X SID for the purpose of load balancing. The use | End.X SID for the purpose of load balancing. The use | |||
of the weight is defined in [I-D.ietf-spring-segment-routing]. | of the weight is defined in [I-D.ietf-spring-segment-routing]. | |||
SRv6 Endpoint Function: 2 octets. As defined in | Endpoint Behavior: 2 octets. As defined in | |||
[I-D.ietf-spring-srv6-network-programming] | [I-D.ietf-spring-srv6-network-programming] | |||
Legal function values for this sub-TLV are defined in Section 9. | Legal behavior values for this sub-TLV are defined in Section 9. | |||
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: | |||
skipping to change at page 16, line 22 ¶ | skipping to change at page 16, line 22 ¶ | |||
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 TLV, | its parent sub-TLV. If it appears more than once in its parent TLV, | |||
the parent TLV MUST be ignored by the receiver. | the parent TLV MUST be ignored by the receiver. | |||
10. Advertising Endpoint Behaviors | 10. Advertising Endpoint Behaviors | |||
Endpoint behaviors are defined in | Endpoint behaviors are defined in | |||
[I-D.ietf-spring-srv6-network-programming] and | [I-D.ietf-spring-srv6-network-programming] and | |||
[I-D.ali-spring-srv6-oam]. The numerical identifiers for the | [I-D.ietf-6man-spring-srv6-oam]. The codepoints for the Endpoint | |||
Endpoint behaviors are defined in the "SRv6 Endpoint Behaviors" | behaviors are defined in the "SRv6 Endpoint Behaviors" registry | |||
registry defined in [I-D.ietf-spring-srv6-network-programming]. This | defined in [I-D.ietf-spring-srv6-network-programming]. This section | |||
section lists the Endpoint behaviors and their identifiers, which MAY | lists the Endpoint behaviors and their codepoints, which MAY be | |||
be advertised by IS-IS and the SID sub-TLVs in which each type MAY | advertised by IS-IS and the SID sub-TLVs in which each type MAY | |||
appear. | appear. | |||
Endpoint |Endpoint | End | End.X | Lan End.X | | Endpoint |Endpoint | End | End.X | Lan End.X | | |||
Behavior |Behavior Identifier | 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.T (PSP, USP, USD) | 9-12, 36-39 | Y | N | N | | End.T (PSP, USP, USD) | 9-12, 36-39 | Y | N | N | | |||
-----------------------|--------------------|-------|-------|-----------| | -----------------------|--------------------|-------|-------|-----------| | |||
End.DX6 | 16 | N | Y | Y | | End.DX6 | 16 | N | Y | Y | | |||
-----------------------|--------------------|-------|-------|-----------| | -----------------------|--------------------|-------|-------|-----------| | |||
End.DX4 | 17 | N | Y | Y | | End.DX4 | 17 | N | Y | Y | | |||
skipping to change at page 17, line 28 ¶ | skipping to change at page 17, line 28 ¶ | |||
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.DT64 | 20 | Y | N | N | | |||
-----------------------|--------------------|-------|-------|-----------| | -----------------------|--------------------|-------|-------|-----------| | |||
End.OP | 40 | Y | N | N | | End.OP | 40 | Y | N | N | | |||
-----------------------|--------------------|-------|-------|-----------| | -----------------------|--------------------|-------|-------|-----------| | |||
End.OTP | 41 | Y | N | N | | End.OTP | 41 | Y | N | N | | |||
11. IANA Considerations | 11. Implementation Status | |||
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 ISIS SRv6 implementation supports following functionalities: | ||||
Types of SID supported: End, 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.3. Juniper | ||||
Juniper's implementation is in beta stage and supports most of the | ||||
sections of the this draft. | ||||
11.4. Interoperability Testing. | ||||
EANTC interoperability testing has been performed in April 2019. | ||||
Results can be found at EANTC site [1]. | ||||
12. 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. | |||
11.1. SRv6 Locator TLV | 12.1. SRv6 Locator TLV | |||
This document adds one new TLV to the IS-IS TLV Codepoints registry. | This document adds one new TLV to the IS-IS TLV Codepoints registry. | |||
Value: 27 (suggested - to be assigned by IANA) | Value: 27 (suggested - to be assigned by IANA) | |||
Name: SRv6 Locator | Name: SRv6 Locator | |||
This TLV shares sub-TLV space with existing "Sub-TLVs for TLVs 135, | This TLV shares sub-TLV space with existing "Sub-TLVs for TLVs 135, | |||
235, 236 and 237 registry". The name of this registry needs to be | 235, 236 and 237 registry". The name of this registry needs to be | |||
changed to "Sub-TLVs for TLVs 27, 135, 235, 236 and 237 registry". | changed to "Sub-TLVs for TLVs 27, 135, 235, 236 and 237 registry". | |||
11.1.1. SRv6 End SID sub-TLV | 12.1.1. SRv6 End SID sub-TLV | |||
This document adds the following new sub-TLV to the (renamed) "Sub- | This document adds the following new sub-TLV to the (renamed) "Sub- | |||
TLVs for TLVs 27, 135, 235, 236 and 237 registry". | TLVs for TLVs 27, 135, 235, 236 and 237 registry". | |||
Value: 5 (suggested - to be assigned by IANA) | Value: 5 (suggested - to be assigned by IANA) | |||
Name: SRv6 End SID | Name: SRv6 End SID | |||
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 End SID sub-TLV. The registration | for sub-sub-TLVs of the SRv6 End SID sub-TLV. The registration | |||
procedure is "Expert Review" as defined in [RFC7370]. Suggested | procedure is "Expert Review" as defined in [RFC7370]. Suggested | |||
registry name is "sub-sub-TLVs for SRv6 End SID sub-TLV". No sub- | registry name is "sub-sub-TLVs for SRv6 End SID sub-TLV". No sub- | |||
sub-TLVs are defined by this document except for the reserved value. | sub-TLVs are defined by this document except for the reserved value. | |||
0: Reserved | 0: Reserved | |||
1-255: Unassigned | 1-255: Unassigned | |||
11.1.2. Revised sub-TLV table | 12.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 registry" is shown below: | |||
Type 27 135 235 236 237 | Type 27 135 235 236 237 | |||
1 n y y y y | 1 n y y y y | |||
2 n y y y y | 2 n 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 | |||
11 y y y y y | 11 y y y y y | |||
12 y y y y y | 12 y y y y y | |||
11.2. SRv6 Capabilities sub-TLV | 12.2. SRv6 Capabilities sub-TLV | |||
This document adds the definition of a new sub-TLV in the "Sub- TLVs | This document adds the definition of a new sub-TLV in the "Sub- TLVs | |||
for TLV 242 registry". | for TLV 242 registry". | |||
Type: 25 (Suggested - to be assigned by IANA) | Type: 25 (Suggested - to be assigned by IANA) | |||
Description: SRv6 Capabilities | Description: SRv6 Capabilities | |||
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 | for sub-sub-TLVs of the SRv6 Capability sub-TLV. The registration | |||
procedure is "Expert Review" as defined in [RFC7370]. Suggested | procedure is "Expert Review" as defined in [RFC7370]. Suggested | |||
registry name is "sub-sub-TLVs for SRv6 Capability sub-TLV". No sub- | 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. | sub-TLVs are defined by this 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 | 12.3. SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs | |||
This document adds the definition of two new sub-TLVs in the "sub- | This document adds the definition of two new sub-TLVs in the "sub- | |||
TLVs for TLV 22, 23, 25, 141, 222 and 223 registry". | TLVs for TLV 22, 23, 25, 141, 222 and 223 registry". | |||
Type: 43 (suggested - to be assigned by IANA) | Type: 43 (suggested - to be assigned by IANA) | |||
Description: SRv6 End.X SID | Description: SRv6 End.X SID | |||
Type: 44 (suggested - to be assigned by IANA) | Type: 44 (suggested - to be assigned by IANA) | |||
Description: SRv6 LAN End.X SID | Description: SRv6 LAN End.X SID | |||
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 | |||
11.4. MSD Types | 12.4. MSD Types | |||
This document defines the following new MSD types. These types are | This document defines the following new MSD types. These types are | |||
to be defined in the IGP MSD Types registry defined in [RFC8491] . | to be defined in the IGP MSD Types registry defined in [RFC8491] . | |||
All values are suggested values to be assigned by IANA. | All values are suggested values to be assigned by IANA. | |||
Type Description | Type Description | |||
------------------ | ------------------ | |||
41 SRH Max SL | 41 SRH Max SL | |||
42 SRH Max End Pop | 42 SRH Max End Pop | |||
43 SRH Max T.insert | 44 SRH Max H.encaps | |||
44 SRH Max T.encaps | ||||
45 SRH Max End D | 45 SRH Max End D | |||
11.5. Sub-Sub-TLVs for SID Sub-TLVs | 12.5. Sub-Sub-TLVs for SID Sub-TLVs | |||
This document creates the following Sub-Sub-TLV Registry within the | This document creates the following Sub-Sub-TLV Registry within the | |||
"IS-IS TLV Codepoints" registry: | "IS-IS TLV Codepoints" registry: | |||
Registry: Sub-Sub-TLVs for SID Sub-TLVs | Registry: Sub-Sub-TLVs for SID Sub-TLVs | |||
Registration Procedure: Expert review | Registration Procedure: Expert review | |||
Reference: This document (Section 7.2, Section 8.1, Section 8.2). | Reference: This document (Section 7.2, Section 8.1, Section 8.2). | |||
This document defines the following Sub-Sub-TLV in the "Sub-Sub-TLVs | This document defines the following Sub-Sub-TLV in the "Sub-Sub-TLVs | |||
for SID Sub-TLVs" registry: | for SID Sub-TLVs" registry: | |||
Type: 1 | Type: 1 | |||
Description: SRv6 SID Structure Sub-Sub-TLV. | Description: SRv6 SID Structure Sub-Sub-TLV. | |||
Reference: This document (Section 9). | Reference: This document (Section 9). | |||
11.6. Prefix Attribute Flags Sub-TLV | 12.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: A bit | |||
Reference: This document (Section 6). | Reference: This document (Section 6). | |||
12. Security Considerations | 13. 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]. | |||
13. Contributors | 14. 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 21, line 44 ¶ | skipping to change at page 22, 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 | |||
14. References | 15. References | |||
14.1. Normative References | ||||
[I-D.ali-spring-srv6-oam] | 15.1. Normative References | |||
Ali, Z., Filsfils, C., Kumar, N., Pignataro, C., | ||||
faiqbal@cisco.com, f., Gandhi, R., Leddy, J., Matsushima, | ||||
S., Raszuk, R., daniel.voyer@bell.ca, d., Dawra, G., | ||||
Peirens, B., Chen, M., and G. Naik, "Operations, | ||||
Administration, and Maintenance (OAM) in Segment Routing | ||||
Networks with IPv6 Data plane (SRv6)", draft-ali-spring- | ||||
srv6-oam-02 (work in progress), October 2018. | ||||
[I-D.ietf-6man-segment-routing-header] | [I-D.ietf-6man-segment-routing-header] | |||
Filsfils, C., Dukes, D., Previdi, S., Leddy, J., | Filsfils, C., Dukes, D., Previdi, S., Leddy, J., | |||
Matsushima, S., and d. daniel.voyer@bell.ca, "IPv6 Segment | Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | |||
Routing Header (SRH)", draft-ietf-6man-segment-routing- | (SRH)", draft-ietf-6man-segment-routing-header-26 (work in | |||
header-23 (work in progress), September 2019. | progress), October 2019. | |||
[I-D.ietf-isis-segment-routing-extensions] | [I-D.ietf-6man-spring-srv6-oam] | |||
Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A., | Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M. | |||
Gredler, H., and B. Decraene, "IS-IS Extensions for | Chen, "Operations, Administration, and Maintenance (OAM) | |||
Segment Routing", draft-ietf-isis-segment-routing- | in Segment Routing Networks with IPv6 Data plane (SRv6)", | |||
extensions-25 (work in progress), May 2019. | draft-ietf-6man-spring-srv6-oam-03 (work in progress), | |||
December 2019. | ||||
[I-D.ietf-spring-srv6-network-programming] | [I-D.ietf-spring-srv6-network-programming] | |||
Filsfils, C., Camarillo, P., Leddy, J., | Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., | |||
daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 | Matsushima, S., and Z. Li, "SRv6 Network Programming", | |||
Network Programming", draft-ietf-spring-srv6-network- | draft-ietf-spring-srv6-network-programming-08 (work in | |||
programming-03 (work in progress), September 2019. | progress), January 2020. | |||
[ISO10589] | [ISO10589] | |||
Standardization", I. ". O. F., "Intermediate system to | Standardization", I. ". O. F., "Intermediate system to | |||
Intermediate system intra-domain routeing information | Intermediate system intra-domain routeing information | |||
exchange protocol for use in conjunction with the protocol | exchange protocol for use in conjunction with the protocol | |||
for providing the connectionless-mode Network Service (ISO | for providing the connectionless-mode Network Service (ISO | |||
8473), ISO/IEC 10589:2002, Second Edition.", Nov 2002. | 8473), ISO/IEC 10589:2002, Second Edition.", 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, | |||
skipping to change at page 23, line 37 ¶ | skipping to change at page 24, line 33 ¶ | |||
[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>. | |||
[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>. | |||
14.2. Informative References | [RFC8667] Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C., | |||
Bashandy, A., Gredler, H., and B. Decraene, "IS-IS | ||||
Extensions for Segment Routing", RFC 8667, | ||||
DOI 10.17487/RFC8667, December 2019, | ||||
<https://www.rfc-editor.org/info/rfc8667>. | ||||
15.2. Informative References | ||||
[I-D.ietf-lsr-flex-algo] | ||||
Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and | ||||
A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- | ||||
algo-05 (work in progress), November 2019. | ||||
[I-D.ietf-spring-segment-routing] | [I-D.ietf-spring-segment-routing] | |||
Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., | Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., | |||
Litkowski, S., and R. Shakir, "Segment Routing | Litkowski, S., and R. Shakir, "Segment Routing | |||
Architecture", draft-ietf-spring-segment-routing-15 (work | Architecture", draft-ietf-spring-segment-routing-15 (work | |||
in progress), January 2018. | in progress), January 2018. | |||
[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>. | |||
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. 70 change blocks. | ||||
149 lines changed or deleted | 175 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |