| < draft-bashandy-isis-srv6-extensions-01.txt | draft-bashandy-isis-srv6-extensions-02.txt > | |||
|---|---|---|---|---|
| Networking Working Group L. Ginsberg | Networking Working Group L. Ginsberg | |||
| Internet-Draft A. Bashandy | Internet-Draft A. Bashandy | |||
| Intended status: Standards Track C. Filsfils | Intended status: Standards Track C. Filsfils | |||
| Expires: April 2, 2018 Cisco Systems | Expires: September 20, 2018 Cisco Systems | |||
| B. Decraene | B. Decraene | |||
| Orange | Orange | |||
| September 29, 2017 | Z. Hu | |||
| Huawei Technologies | ||||
| March 19, 2018 | ||||
| IS-IS Extensions to Support Routing over IPv6 Dataplane | IS-IS Extensions to Support Routing over IPv6 Dataplane | |||
| draft-bashandy-isis-srv6-extensions-01.txt | draft-bashandy-isis-srv6-extensions-02.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. | |||
| 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", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| document are to be interpreted as described in RFC 2119 [RFC2119]. | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 2, 2018. | This Internet-Draft will expire on September 20, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2018 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 . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. SRv6-Capabilities sub-TLV . . . . . . . . . . . . . . . . . . 3 | 2. SRv6-Capabilities sub-TLV . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. Maximum SL sub-sub-TLV . . . . . . . . . . . . . . . . . 4 | 2.1. Maximum SL sub-sub-TLV . . . . . . . . . . . . . . . . . 4 | |||
| 2.2. Maximum End Pop SRH sub-sub-TLV . . . . . . . . . . . . . 5 | 2.2. Maximum End Pop SRH sub-sub-TLV . . . . . . . . . . . . . 5 | |||
| 2.3. Maximum T.Insert SRH sub-sub-TLV . . . . . . . . . . . . 5 | 2.3. Maximum T.Insert SRH sub-sub-TLV . . . . . . . . . . . . 5 | |||
| 2.4. Maximum T.Encap SRH sub-sub-TLV . . . . . . . . . . . . . 5 | 2.4. Maximum T.Encap SRH sub-sub-TLV . . . . . . . . . . . . . 6 | |||
| 2.5. Maximum End D SRH sub-sub-TLV . . . . . . . . . . . . . . 6 | 2.5. Maximum End D SRH sub-sub-TLV . . . . . . . . . . . . . . 6 | |||
| 3. SRv6-function Descriptor . . . . . . . . . . . . . . . . . . 6 | 3. SRv6 Endpoint function Descriptor . . . . . . . . . . . . . . 7 | |||
| 4. SRv6-SID TLV . . . . . . . . . . . . . . . . . . . . . . . . 9 | 4. SRv6 Node SID TLV . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. Function Code Points . . . . . . . . . . . . . . . . . . . . 11 | 5. Endpoint function Code Points . . . . . . . . . . . . . . . . 9 | |||
| 6. Advertising SRv6 SIDs associated with a Neighbor . . . . . . 11 | 6. Advertising SRv6 SIDs associated with a Neighbor . . . . . . 9 | |||
| 6.1. P2P Srv6 X-SID sub-TLV . . . . . . . . . . . . . . . . . 11 | 6.1. SRv6 Adjacency-SID sub-TLV . . . . . . . . . . . . . . . 10 | |||
| 6.2. LAN SRv6 X-SID sub-TLV . . . . . . . . . . . . . . . . . 12 | 6.2. SRv6 LAN Adjacency-SID sub-TLV . . . . . . . . . . . . . 10 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 7.1. SRv6 SID TLV and sub-TLVs . . . . . . . . . . . . . . . . 14 | 7.1. SRv6 Node SID TLV . . . . . . . . . . . . . . . . . . . . 12 | |||
| 7.2. IS-IS SRv6-functions Codepoints Registry . . . . . . . . 14 | 7.2. SRv6 Capabilities sub-TLV . . . . . . . . . . . . . . . . 12 | |||
| 7.3. SRv6 Capabilities sub-TLV . . . . . . . . . . . . . . . . 15 | 7.3. SRv6 Adjacency-SID and SRv6 LAN Adjacecncy-SID sub-TLVs . 13 | |||
| 7.4. P2P SRv6 X-SID and LAN SRv6 X-SID sub-TLVs . . . . . . . 15 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | |||
| 7.5. IS-IS SRv6 X-SID sub-sub-TLV Codepoints Registry . . . . 16 | 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 16 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 15 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 10.2. Informative References . . . . . . . . . . . . . . . . . 16 | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . 18 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . 18 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | ||||
| 1. Introduction | 1. Introduction | |||
| With Segment Routing (SR)[SRARCH], a node steers a packet through an | With Segment Routing (SR) [I-D.ietf-spring-segment-routing], a node | |||
| ordered list of instructions, called segments. | steers a packet through 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 [SRH]. SRv6 | through the use of the Segment Routing Header defined in | |||
| refers to this SR instantiation on the IPv6 dataplane. | [I-D.ietf-6man-segment-routing-header]. SRv6 refers to this SR | |||
| instantiation on the IPv6 dataplane. | ||||
| The network programming paradigm [NP] is central to SRv6. | ||||
| The network programming paradigm | ||||
| [I-D.filsfils-spring-srv6-network-programming] is central to SRv6. | ||||
| It describes how any function can be bound to a SID and how any | It describes how any function can be bound to a SID and how any | |||
| network program can be expressed as a combination of SID's. | network program can be expressed as a combination of SID's. | |||
| It defines several well-known functions such as End, End.X, T.Insert, | ||||
| T.Encaps, etc. | ||||
| This document specifies IS-IS extensions that allow IS-IS protocol to | This document specifies IS-IS extensions that allow IS-IS protocol to | |||
| encode some of these functions. | encode some of these functions. | |||
| Familiarity with the network programming paradigm [NP] is necessary | Familiarity with the network programming paradigm | |||
| to understand the extensions specified in this document. | [I-D.filsfils-spring-srv6-network-programming] is necessary to | |||
| understand the extensions specified in this document. | ||||
| This document defines one new top level IS-IS_TLV and three 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 | |||
| and some functions defined in [NP] as well as advertising limitations | and some Endpoint functions listed in Section 5 as well as | |||
| when applying such functions. | advertising limitations when applying such Endpoint functions. | |||
| The SRv6 SID top level TLV, the P2P SRv6 X-SID sub-TLV, and the LAN | ||||
| SRv6 X-SID sub-TLV are used to advertise which SIDs are instantiated | ||||
| at a node and what function is bound to each instantiated SID. | ||||
| Only ISIS-related functions such as End and its variants D and X [NP] | The SRv6 Node SID top level TLV, the SRv6 Adjacency-SID sub-TLV, and | |||
| are defined in this document. | the SRv6 LAN Adjacency-SID sub-TLV are used to advertise which SIDs | |||
| are instantiated at a node and what Endpoint function is bound to | ||||
| each instantiated SID. | ||||
| 2. SRv6-Capabilities sub-TLV | 2. SRv6-Capabilities sub-TLV | |||
| As described in [SRH] and [NP], the list of Segments is stored in the | A node indicates that it has support for SRv6 by advertising a new | |||
| segment routing header referred hereafter as "SRH". | SRv6- capabilities sub-TLV of the router capabilities TLV [RFC7981]. | |||
| The SRv6- capabilities sub-TLV may contain optional sub-sub-TLVs. | ||||
| A router that supports SRv6 MUST be able to process the segment | ||||
| routing header as described in [SRH] and [NP] up to the limitations | ||||
| set by the advertised SRv6-capabilities sub-TLV. | ||||
| To announce this ability, a router uses the newly defined SRv6- | ||||
| capabilities sub-TLV of the router capabilities TLV [RFC7981]. The | ||||
| SRv6- capabilities sub-TLV may contain optional sub-sub-TLVs. | ||||
| 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | sub-sub-TLVs... | | optional sub-sub-TLVs... | |||
| Type: Suggested value 22, to be assigned by IANA | Type: Suggested value 25, to be assigned by IANA | |||
| Length: 2 + length of sub-sub-TLVs | Length: 2 + length of sub-sub-TLVs | |||
| Flags: 2 octets The following flags are defined: | Flags: 2 octets The following flags are defined: | |||
| 0 1 | 0 1 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |E| | | |E|O| | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | where: | |||
| E-flag: If set, then router is able to apply "T.Encap" | E-flag: If set, then router is able to apply "T.Encap" | |||
| operation | operation. Further limitations as regards T.encap are | |||
| indicated by the advertisement of the Maximum T.Insert | ||||
| sub-sub-TLV described below. | ||||
| O-flag: If set, the router supports use of the O-bit | ||||
| in the Segment Routing Header(SRH) as defined in | ||||
| [draft-ietf-6man-segment-routing-header]. | ||||
| The following sections define the supported sub-sub-TLVs. | The following sections define the supported sub-sub-TLVs. | |||
| 2.1. Maximum SL sub-sub-TLV | 2.1. Maximum SL sub-sub-TLV | |||
| The Maximum Segments Left sub-sub-TLV specifies the maximum value of | The Maximum Segments Left sub-sub-TLV specifies the maximum value of | |||
| the "SL" field [SRH] in the SRH of a received packet before applying | the "SL" field [I-D.ietf-6man-segment-routing-header] in the SRH of a | |||
| the function associated with a SID. | received packet before applying the Endpoint function associated with | |||
| a SID. | ||||
| 0 1 2 | 0 1 2 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Max SL | | | Type | Length | Max SL | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type: 1 | Type: 1 | |||
| Length: 1 | Length: 1 | |||
| SL Value: 1 octet | SL Value: 1 octet | |||
| An 8 bit unsigned integer. | An 8 bit unsigned integer. | |||
| If the sub-sub-TLV is NOT advertised the value is assumed to be 0. | If the sub-sub-TLV is NOT advertised the value is assumed to be 0. | |||
| 2.2. Maximum End Pop SRH sub-sub-TLV | 2.2. Maximum End Pop SRH sub-sub-TLV | |||
| The Maximum End Pop SRH sub-sub-TLV specifies the maximum number of | The Maximum End Pop SRH sub-sub-TLV specifies the maximum number of | |||
| SIDs in the top SRH in an SRH stack to which the router can apply | SIDs in the top SRH in an SRH stack to which the router can apply | |||
| "PSP" or USP" [NP] flavors. | "PSP" or USP" [I-D.filsfils-spring-srv6-network-programming] flavors. | |||
| 0 1 2 | 0 1 2 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length |Max-End-Pop-SRH| | | Type | Length |Max-End-Pop-SRH| | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type: 2 | Type: 2 | |||
| Length: 1 | Length: 1 | |||
| Max-End-Pop-SRH Value: 1 octet | Max-End-Pop-SRH Value: 1 octet | |||
| An 8 bit unsigned integer. | An 8 bit unsigned integer. | |||
| If the value is zero or the sub-sub-TLV is NOT advertised, | If the value is zero or the sub-sub-TLV is NOT 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. | |||
| 2.3. Maximum T.Insert SRH sub-sub-TLV | 2.3. Maximum T.Insert SRH sub-sub-TLV | |||
| The Maximum T.Insert SRH sub-sub-TLV specifies the maximum number of | The Maximum T.Insert SRH sub-sub-TLV specifies the maximum number of | |||
| SIDs that can be inserted as part of the "T.insert" behavior [NP]. | SIDs that can be inserted as part of the "T.insert" behavior | |||
| [I-D.filsfils-spring-srv6-network-programming]. | ||||
| 0 1 2 | 0 1 2 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Max-T.Insert | | | Type | Length | Max-T.Insert | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type: 3 | Type: 3 | |||
| Length: 1 | Length: 1 | |||
| Max-T.Insert Value: 1 octet | Max-T.Insert Value: 1 octet | |||
| An 8 bit unsigned integer. | An 8 bit unsigned integer. | |||
| If the value is zero or the sub-sub-TLV is omitted, | If the value is zero or the sub-sub-TLV is omitted, | |||
| then the router is assumed not to support any variation | then the router is assumed not to support any variation | |||
| of the "T.insert" behavior. | of the "T.insert" behavior. | |||
| 2.4. Maximum T.Encap SRH sub-sub-TLV | 2.4. Maximum T.Encap SRH sub-sub-TLV | |||
| The Maximum T.Encap SRH sub-sub-TLV specifies the maximum number of | The Maximum T.Encap SRH sub-sub-TLV specifies the maximum number of | |||
| SIDs that can be included as part of the "T.Encap" behavior [NP]. | SIDs that can be included as part of the "T.Encap" behavior | |||
| [I-D.filsfils-spring-srv6-network-programming]. | ||||
| 0 1 2 | 0 1 2 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Max-T.Encap | | | Type | Length | Max-T.Encap | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type: 4 | Type: 4 | |||
| Length: 1 | Length: 1 | |||
| Max-T.Encap Value: 1 octet | Max-T.Encap Value: 1 octet | |||
| skipping to change at page 6, line 27 ¶ | skipping to change at page 6, line 48 ¶ | |||
| the "E" flag is set in the associated SRv6 Capabilities | the "E" flag is set in the associated SRv6 Capabilities | |||
| sub-TLV, then it is assumed that the router can apply T.Encap | sub-TLV, then it is assumed that the router can apply T.Encap | |||
| by encapsulating the incoming packet in another IPv6 header | by encapsulating the incoming packet in another IPv6 header | |||
| without SRH the same way IPinIP encapsulation is performed. | without SRH the same way IPinIP encapsulation is performed. | |||
| If the "E" flag is clear, then this sub-sub-TLV SHOULD NOT | If the "E" flag is clear, then this sub-sub-TLV SHOULD NOT | |||
| be transmitted and MUST be ignored on receipt. | be transmitted and MUST be ignored on receipt. | |||
| 2.5. Maximum End D SRH sub-sub-TLV | 2.5. Maximum End D SRH sub-sub-TLV | |||
| The Maximum End D SRH sub-sub-TLV specifies the maximum number of | The Maximum End D SRH sub-sub-TLV specifies the maximum number of | |||
| SIDs in an SRH when applying "End.DX6" and "End.DT6" functions. | SIDs in an SRH when applying "End.DX6" and "End.DT6" Endpoint | |||
| functions. | ||||
| 0 1 2 | 0 1 2 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | Max End D | | | Type | Length | Max End D | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type: 5 | Type: 5 | |||
| Length: 1 | Length: 1 | |||
| Max End D Value: 1 octet | Max End D Value: 1 octet | |||
| An 8 bit unsigned integer. | An 8 bit unsigned integer. | |||
| If this value is zero or the sub-sub-TLV is omitted, | If this value is zero or the sub-sub-TLV is omitted, | |||
| 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" Endpoint functions if the extension | |||
| header right underneath the outer IPv6 header is an SRH. | header right underneath the outer IPv6 header is an SRH. | |||
| 3. SRv6-function Descriptor | 3. SRv6 Endpoint function Descriptor | |||
| The SRv6 SID TLV defined in Section 4, P2P SRv6 X-SID sub-TLV | The SRv6 SID TLV defined in Section 4, P2P SRv6 X-SID sub-TLV | |||
| specified in Section 6.1, and LAN SRv6 X-SID sub-TLV specified in | specified in Section 6.1, and LAN SRv6 X-SID sub-TLV specified in | |||
| section 6.2 MUST include one SRv6 function Descriptor. | section 6.2 MUST have one (and only one) SRv6 Endpoint function | |||
| Descriptor. | ||||
| When included in the SRv6 SID TLV, the descriptor is encoded as a | ||||
| sub-TLV. When included in a P2P/LAN SRv6 X-SID sub-TLV, the | ||||
| descriptor is encoded as a sub-sub-TLV. | ||||
| The SRv6-function Descriptor encodes the function (and its flavors) | ||||
| bound to the SRv6 SID advertised in the SRv6 SID TLV [NP]. | ||||
| The SRv6 SID function Descriptor has the following format: | ||||
| 0 1 | ||||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| | Type | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| | Length | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| | Flags | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Function (2 octets) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Type: See IANA considerations in Section 7. | ||||
| Length: 3 | ||||
| Flags: | ||||
| 0 1 2 3 4 5 6 7 | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| |P|U| Reserved | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| This document defines two flags to specify the | ||||
| flavor(s) [NP] associated with the SRv6 function | ||||
| specified in the "Function" field: | ||||
| P bit: If set, then the PSP flavor [NP] is associated with the | ||||
| function encoded in the "function" field | ||||
| U bit: If set, then the USP flavor [NP] is associated with the | The SRv6 Endpoint function Descriptor has the following format: | |||
| function encoded in the "function" field | ||||
| Reserved Bits SHOULD be transmitted as 0 and MUST be ignored on | 0 1 | |||
| receipt. | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | |||
| +-+-+-+-+-+-+-+-+ | ||||
| | Flags | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Endpoint function (2 octets) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| The second two octets encode the function. Function code points | No flags are currently defined. | |||
| are defined in Section 5. | ||||
| For a given SRv6 SID function encoded in the "Function" field, | The second two octets encode the Endpoint function. | |||
| the "P" and "U" bits are set/cleared according to the rules of | ||||
| enabling/disabling the PSP and USP flavors, respectively, for | ||||
| that function as specified in [NP]. | ||||
| 4. SRv6-SID TLV | 4. SRv6 Node SID TLV | |||
| A new top level TLV is introduced to advertise SRv6 Segment | The SRv6 Node SID TLV is introduced to advertise SRv6 Segment | |||
| Identifiers (SID) and their attributes. | Identifiers (SID) and their attributes. | |||
| The new TLV is used to advertise SRv6 SIDs with any of the functions | The new TLV is used to advertise SRv6 SIDs with Endpoint functions | |||
| defined in [NP] whose code point is defined in this document except | which do not require a particular neighbor in order to be correctly | |||
| those SIDs which must be associated with a particular neighbor in | applied [I-D.filsfils-spring-srv6-network-programming]. SRv6 SIDs | |||
| order to be correctly applied [NP]. SRv6 SIDs associated with a | associated with a neighbor are advertised using the sub-TLVs defined | |||
| neighbor are advertised in the sub-TLVs defined in Section 6. | in Section 6. | |||
| 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. The SRv6 SID TLV has the following format: | and 237. The SRv6 Node SID 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 | SID-size | | | Flags | Func-flags | Endpoint function Value | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (variable) . . . | | | SID size | SID (variable) . . . | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | sub-tlv-len | Sub-TLVs (variable) . . . | | | Sub-tlv-len | Sub-TLVs (variable) . . . | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type: 27 (Suggested value to be assigned by IANA) | Type: 27 (Suggested value to be assigned by IANA) | |||
| Length: variable. | Length: variable. | |||
| One or more SID entries, each of which has the following format: | One or more SID entries, each of which has the following format: | |||
| 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 SID is leaked from level-2 to level-1, the D | D bit: When the SID is leaked from level-2 to level-1, the D | |||
| bit MUST be set. Otherwise, this bit MUST be clear. SIDs with | bit MUST be set. Otherwise, this bit MUST be clear. SIDs with | |||
| the D bit set MUST NOT be leaked from level-1 to level-2. This | the D bit set MUST NOT be leaked from level-1 to level-2. This | |||
| is to prevent looping. | is to prevent looping. | |||
| The remaining bits are reserved for future use. They SHOULD be | The remaining bits are reserved for future use. They SHOULD be | |||
| set to zero on transmission and MUST be ignored on receipt. | set to zero on transmission and MUST be ignored on receipt. | |||
| SID-Size: 1 octet. Number of bits in the SID field. | Func-flags: 1 octet. As defined in Section 3 | |||
| SID: 1-16 octets. This field encodes the advertised SRv6 SID. The | Endpoint function Value: 2 octets. As defined in Section 3 | |||
| "SID-size" field can have the values 1-128 and indicates the | ||||
| number of bits in the SID. The SRv6 SID is encoded in the | SID-Size: 1 octet. Number of bits in the SID field. | |||
| minimal number of octets for the given number of bits. The owning | ||||
| router may associate one or more functions as specified in [NP], | SID: 1-16 octets. This field encodes the advertised SRv6 SID. The | |||
| in other documents, or as locally configured. | "SID-size" field can have the values 1-128 and indicates the | |||
| number of bits in the SID. The SRv6 SID is encoded in the | ||||
| minimal number of 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 | |||
| The function associated with the advertised SID is specified by | 5. Endpoint function Code Points | |||
| the SRv6-Function Descriptor sub-TLV specified in Section 3. | ||||
| 5. Function Code Points | Endpoint function code points are defined in | |||
| [I-D.filsfils-spring-srv6-network-programming]. The numerical values | ||||
| are defined in the "Endpoint Types" registry defined in | ||||
| [I-D.filsfils-spring-srv6-network-programming]. This section lists | ||||
| the Endpoint function types which may be advertised by IS-IS. | ||||
| This section defines the code points for supported functions | o End (no PSP, no USP) | |||
| associated with SRv6 SIDs. Functions are defined in [NP]. | ||||
| o 0: Reserved | o End with PSP | |||
| o 1: End Function | o End with USP | |||
| o 2: End.X Function | o End with PSP&USP | |||
| o 3: End.DX6 Function | o End.X (no PSP, no USP) | |||
| o 4: End.DT6 Function | o End.X with PSP | |||
| 6. Advertising SRv6 SIDs associated with a Neighbor | o End.X with USP | |||
| Certain SRv6 functions [NP] must be associated with a particular | o End.X with PSP&USP | |||
| neighbor, and in case of multiple layer 3 links to the same neighbor, | ||||
| with a particular link in order to be correctly applied. | ||||
| This document specifies how to advertise two such functions in IS- | o End.DX6 Function | |||
| IS, namely End.X and End.DX6 [NP]. | ||||
| SIDs associated with End.X and End.DX6 functions are advertised | o End.DT6 Function | |||
| within neighbor reachability TLVs. | ||||
| o End.OTP | ||||
| 6. Advertising SRv6 SIDs associated with a Neighbor | ||||
| Certain SRv6 Endpoint functions | ||||
| [I-D.filsfils-spring-srv6-network-programming] must be associated | ||||
| with a particular neighbor, and in case of multiple layer 3 links to | ||||
| the same neighbor, with a particular link in order to be correctly | ||||
| applied. | ||||
| This document specifies how to advertise the End.X and End.DX6 | ||||
| variants as described in Section 5. | ||||
| 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 "P2P SRv6 X-SID" and "LAN SRv6 X- SID". | 141 - namely "SRv6 Adjacency-SID" and "SRv6 LAN Adjacency-SID". | |||
| 6.1. P2P Srv6 X-SID sub-TLV | 6.1. SRv6 Adjacency-SID sub-TLV | |||
| This sub-TLV is used to advertise one or more SRv6 SIDs associated | This sub-TLV is used to advertise one or more SRv6 SIDs associated | |||
| with End.X and End.DX6 [NP] functions over a point to point | with a point to point adjacency. | |||
| adjacency. | ||||
| The "P2P SRv6 X-SID" sub-TLV has the following format: | The SRv6 Adjacency-SID sub-TLV has the following format: | |||
| 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 | SID-size | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (variable) . . . | | | Flags | Func-flags | Endpoint function Value | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |sub-sub-tlv-len| Sub-sub-TLVs (variable) . . . | | | SID size | SID (variable) . . . | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |Sub-sub-tlv-len| Sub-sub-TLVs (variable) . . . | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Type: 40 (Suggested value to be assigned by IANA) | Type: 40 (Suggested value to be assigned by IANA) | |||
| Length: variable. | Length: variable. | |||
| One or more SIDs each of which has the following format: | One or more SIDs each of which has the following format: | |||
| Flags: 1 octet. No flags defined in this document | Flags: 1 octet. No flags defined in this document | |||
| Func-flags: 1 octet. As defined in Section 3 | ||||
| Endpoint function Value: 2 octets. As defined in Section 3. | ||||
| Legal values are the End.X and End.DX6 variants. | ||||
| SID-Size: 1 octet. Number of bits in the SID field. | SID-Size: 1 octet. Number of bits in the SID field. | |||
| SID: 1-16 octets. This field encodes the advertised SRv6 SID. The | SID: 1-16 octets. This field encodes the advertised SRv6 SID. The | |||
| "SID-size" field can have the values 1-128 and indicates the | "SID-size" field can have the values 1-128 and indicates the | |||
| number of bits in the SID. The SRv6 SID is encoded in the | number of bits in the SID. The SRv6 SID is encoded in the | |||
| minimal number of octets for the given number of bits. The owning | minimal number of octets for the given number of bits. | |||
| router may associate one or more functions as specified in [NP], | ||||
| in other documents, or as locally configured. | ||||
| 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 | |||
| The function associated with the advertised SID is specified by the | 6.2. SRv6 LAN Adjacency-SID sub-TLV | |||
| SRv6-Function Descriptor sub-sub-TLV specified in Section 3. If the | ||||
| SRv6-Function Descriptor is encoded in the P2P SRv6 X-SID sub-TLV, | ||||
| then the encoded SRv6 SID function MUST include only the code points | ||||
| of SRv6 SID functions that require the specification of a neighbor to | ||||
| be correctly applied. This document specifies the code points of two | ||||
| such functions, namely End.X and End.DX6 [NP]. | ||||
| 6.2. LAN SRv6 X-SID sub-TLV | ||||
| This sub-TLV is used to advertise one or more SRv6 SIDs associated | This sub-TLV is used to advertise one or more SRv6 SIDs associated | |||
| with End.X and End.DX6 [NP] functions over a LAN adjacency. The "LAN | with a LAN adjacency. | |||
| SRv6 X-SID" sub-TLV has the following format: | ||||
| 0 1 2 3 | The SRv6 LAN Adjacency-SID sub-TLV has the following format: | |||
| 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 | SID-size | SID (variable) . . . | | | Flags | Func-flags | Endpoint function Value | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |sub-sub-tlv-len| sub-sub-TLVs (variable) . . . | | | SID-size | SID (variable) . . . | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |Sub-sub-tlv-len| sub-sub-TLVs (variable) . . . | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type: 41 (Suggested value to be assigned by IANA) | Type: 41 (Suggested value to be assigned by IANA) | |||
| Length: variable. | Length: variable. | |||
| 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]. | |||
| One or more SIDs each of which has the following format: | One or more SIDs each of which has the following format: | |||
| Flags 1 Octet. No flags are defined in this document | Flags 1 Octet. No flags are defined in this document | |||
| Func-flags: 1 octet. As defined in Section 3 | ||||
| Endpoint function Value: 2 octets. As defined in Section 3. | ||||
| Legal values are the End.X and End.DX6 variants. | ||||
| SID-Size: 1 octet. Number of bits in the SID field. | SID-Size: 1 octet. Number of bits in the SID field. | |||
| SID: 1-16 octets. This field encodes the advertised SRv6 SID. The | SID: 1-16 octets. This field encodes the advertised SRv6 SID. The | |||
| "SID-size" field can have the values 1-128 and indicates the | "SID-size" field can have the values 1-128 and indicates the | |||
| number of bits in the SID. The SRv6 SID is encoded in the | number of bits in the SID. The SRv6 SID is encoded in the | |||
| minimal number of octets for the given number of bits. The owning | minimal number of octets for the given number of bits. | |||
| router may associate one or more functions as specified in [NP], | ||||
| in other documents, or as locally configured. | ||||
| 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. | |||
| The function associated with the advertised SID is specified by the | ||||
| SRv6-Function Descriptor sub-sub-TLV specified in Section 3. If the | ||||
| SRv6-Function Descriptor is encoded in the P2P SRv6 X-SID sub-TLV, | ||||
| then the encoded SRv6 SID function MUST include only the code points | ||||
| of SRv6 SID functions that require the specification of a neighbor to | ||||
| be correctly applied. This document specifies the code points of two | ||||
| such functions, namely End.X and End.DX6 [NP]. | ||||
| 7. IANA Considerations | 7. IANA Considerations | |||
| This documents request allocation for the following TLVs, sub- TLVs, | This documents request 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. | |||
| 7.1. SRv6 SID TLV and sub-TLVs | 7.1. SRv6 Node SID TLV | |||
| This document adds the following new TLV to the IS-IS TLV Codepoints | This document adds the following new TLV to the IS-IS TLV Codepoints | |||
| registry. | registry. | |||
| Value: 27 (suggested - to be assigned by IANA) | Value: 27 (suggested - to be assigned by IANA) | |||
| Name: SRv6 SID | Name: SRv6 Node SID | |||
| The name of the "Sub-TLVs for TLVs 135, 235, 236 and 237 registry" | The name of the "Sub-TLVs for TLVs 135, 235, 236 and 237 registry" | |||
| needs to be changed to "Sub-TLVs for TLVs 27, 135, 235, 236 and 237 | needs to be changed to "Sub-TLVs for TLVs 27, 135, 235, 236 and 237 | |||
| registry". | registry". | |||
| This document adds a new sub-TLV to the (renamed) "Sub-TLVs for TLVs | ||||
| 27, 135, 235, 236 and 237 registry". | ||||
| Value: 5 (Suggested - to be assigned by IANA) | ||||
| Name: SRv6-function Descriptor | ||||
| The revised table of sub-TLVs in the registry should be: | The revised table of sub-TLVs in the registry should be: | |||
| 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 y y y y y | 3 y y y y y | |||
| 4 y y y y y | 4 y y y y y | |||
| 5(new)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 | |||
| 7.2. IS-IS SRv6-functions Codepoints Registry | 7.2. SRv6 Capabilities sub-TLV | |||
| This document requests the creation of a new IANA managed registry to | ||||
| identify SRv6 SID functions. The registration procedure is "Expert | ||||
| Review" as defined in [RFC7370]. Suggested registry name is "SRv6 | ||||
| SID Function Types". A function identifier is an unsigned 8 bit | ||||
| value. The following values are defined by this document: | ||||
| 0 Reserved | ||||
| 1 End function. | ||||
| 2 End.X function | ||||
| 3 End.DX6 function. | ||||
| 4 End.DT6 function. | ||||
| 7.3. 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: 22 (Suggested - to be assigned by IANA) | Type: 25 (Suggested - to be assigned by IANA) | |||
| Description: SRv6 Capabilities | Description: SRv6 Capabilities | |||
| Thuis document requests the creation of a new IANA managed registry | Thuis 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". The | registry name is "sub-sub-TLVs for SRv6 Capability sub-TLV". The | |||
| following sub-TLVs are defined by this document: | following sub-TLVs are defined by this document: | |||
| 0: Reserved | 0: Reserved | |||
| skipping to change at page 15, line 29 ¶ | skipping to change at page 13, line 4 ¶ | |||
| registry name is "sub-sub-TLVs for SRv6 Capability sub-TLV". The | registry name is "sub-sub-TLVs for SRv6 Capability sub-TLV". The | |||
| following sub-TLVs are defined by this document: | following sub-TLVs are defined by this document: | |||
| 0: Reserved | 0: Reserved | |||
| 1: Max-SL | 1: Max-SL | |||
| 2: Max-End-Pop-SRH | 2: Max-End-Pop-SRH | |||
| 3: Max-T-Ins-SRH | 3: Max-T-Ins-SRH | |||
| 4: Max-T-Encap-SRH | 4: Max-T-Encap-SRH | |||
| 5: Max-End-D-SR | 5: Max-End-D-SR | |||
| 7.4. P2P SRv6 X-SID and LAN SRv6 X-SID sub-TLVs | 7.3. SRv6 Adjacency-SID and SRv6 LAN Adjacecncy-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, 141, 222 and 223 registry". | TLVs for TLV 22, 23, 141, 222 and 223 registry". | |||
| Type: 40 (suggested - to be assigned by IANA) | Type: 40 (suggested - to be assigned by IANA) | |||
| Description: Point-to-Point SRv6 X-SID | Description: SRv6 Adjacency-SID | |||
| Type: 41 (suggested - to be assigned by IANA) | Type: 41 (suggested - to be assigned by IANA) | |||
| Description: LAN SRv6 X-SID | Description: SRv6 LAN Adjacency-SID | |||
| Type 22 23 141 222 223 | Type 22 23 141 222 223 | |||
| 40 y y y y y | 40 y y y y y | |||
| 41 y y y y y | 41 y y y y y | |||
| 7.5. IS-IS SRv6 X-SID sub-sub-TLV Codepoints Registry | ||||
| This document requests the creation of a new IANA managed registry to | ||||
| identify SRv6 SID functions encoded in P2P/LAN X-SID sub-TLVs. The | ||||
| registration procedure is "Expert Review" as defined in [RFC7370]. | ||||
| Suggested registry name is "SRv6 X-SID sub-sub-TLV Codepoints | ||||
| Registry". The following values are defined by this document: | ||||
| Value: 5 (Suggested - to be assigned by IANA) | ||||
| Name: SRv6-function | ||||
| Descriptor This sub-sub-TLV MAY appear in either the Point-to-Point | ||||
| SRv6 X-SID or the LAN SRv6 X-SID sub-TLVs described in Section 7.4. | ||||
| 8. Security Considerations | 8. 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]. | |||
| 9. Contributors | 9. 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 | |||
| Cisco Systems, Inc. | ||||
| Email: stefano@previdi.net | Email: stefano@previdi.net | |||
| Peter Psenak | Peter Psenak | |||
| Cisco Systems | Cisco Systems | |||
| Apollo Business Center Mlynske nivy 43 | Apollo Business Center Mlynske nivy 43 | |||
| Bratislava 821 09 | Bratislava 821 09 | |||
| Slovakia | Slovakia | |||
| Email: ppsenak@cisco.com | Email: ppsenak@cisco.com | |||
| Paul Wells | Paul Wells | |||
| skipping to change at page 18, line 6 ¶ | skipping to change at page 15, line 6 ¶ | |||
| 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 | |||
| 10. References | 10. References | |||
| 10.1. Normative References | 10.1. Normative References | |||
| [I-D.filsfils-spring-srv6-network-programming] | ||||
| Filsfils, C., Li, Z., Leddy, J., daniel.voyer@bell.ca, d., | ||||
| daniel.bernier@bell.ca, d., Steinberg, D., Raszuk, R., | ||||
| Matsushima, S., Lebrun, D., Decraene, B., Peirens, B., | ||||
| Salsano, S., Naik, G., Elmalky, H., Jonnalagadda, P., and | ||||
| M. Sharif, "SRv6 Network Programming", draft-filsfils- | ||||
| spring-srv6-network-programming-04 (work in progress), | ||||
| March 2018. | ||||
| [I-D.ietf-6man-segment-routing-header] | ||||
| Previdi, S., Filsfils, C., Leddy, J., Matsushima, S., and | ||||
| d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header | ||||
| (SRH)", draft-ietf-6man-segment-routing-header-10 (work in | ||||
| progress), March 2018. | ||||
| [ISO10589] | [ISO10589] | |||
| "Intermediate system to Intermediate system intra-domain | "Intermediate system to Intermediate system intra-domain | |||
| routeing information exchange protocol for use in | routeing information exchange protocol for use in | |||
| conjunction with the protocol for providing the | conjunction with the protocol for providing the | |||
| connectionless-mode Network Service (ISO 8473), ISO/IEC | connectionless-mode Network Service (ISO 8473), ISO/IEC | |||
| 10589:2002, Second Edition.", Nov 2002. | 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, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| skipping to change at page 18, line 36 ¶ | skipping to change at page 16, line 5 ¶ | |||
| [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>. | |||
| [RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions | [RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions | |||
| for Advertising Router Information", RFC 7981, | for Advertising Router Information", RFC 7981, | |||
| DOI 10.17487/RFC7981, October 2016, | DOI 10.17487/RFC7981, October 2016, | |||
| <https://www.rfc-editor.org/info/rfc7981>. | <https://www.rfc-editor.org/info/rfc7981>. | |||
| 10.2. Informative References | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | ||||
| [NP] "SRv6 Network Programming, draft-filsfils-spring-srv6- | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| network-programming-01 (work in progress)", June 2017. | ||||
| [SRARCH] "Segment Routing Architecture, draft-ietf-spring-segment- | 10.2. Informative References | |||
| routing-12(work in progress)", June 2017. | ||||
| [SRH] "IPv6 SegmentRouting Header (SRH), draft-ietf-6man- | [I-D.ietf-spring-segment-routing] | |||
| segment-routing-header-07 (work in progress)", July 2017. | Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., | |||
| Litkowski, S., and R. Shakir, "Segment Routing | ||||
| Architecture", draft-ietf-spring-segment-routing-15 (work | ||||
| in progress), January 2018. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Les Ginsberg | Les Ginsberg | |||
| Cisco Systems | Cisco Systems | |||
| 821 Alder Drive | 821 Alder Drive | |||
| Milpitas, CA 95035 | Milpitas, CA 95035 | |||
| USA | USA | |||
| Email: ginsberg@cisco.com | Email: ginsberg@cisco.com | |||
| Ahmed Bashandy | Ahmed Bashandy | |||
| Cisco Systems | Cisco Systems | |||
| skipping to change at line 756 ¶ | skipping to change at page 17, line 4 ¶ | |||
| Belgium | Belgium | |||
| Email: cfilsfil@cisco.com | Email: cfilsfil@cisco.com | |||
| Bruno Decraene | Bruno Decraene | |||
| Orange | Orange | |||
| Issy-les-Moulineaux | Issy-les-Moulineaux | |||
| France | France | |||
| Email: bruno.decraene@orange.com | Email: bruno.decraene@orange.com | |||
| Zhibo Hu | ||||
| Huawei Technologies | ||||
| Email: huzhibo@huawei.com | ||||
| End of changes. 94 change blocks. | ||||
| 257 lines changed or deleted | 206 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/ | ||||