Networking Working Group L. Ginsberg Internet-Draft A. Bashandy Intended status: Standards Track C. Filsfils Expires:April 2,September 20, 2018 Cisco Systems B. Decraene OrangeSeptember 29, 2017Z. Hu Huawei Technologies March 19, 2018 IS-IS Extensions to Support Routing over IPv6 Dataplanedraft-bashandy-isis-srv6-extensions-01.txtdraft-bashandy-isis-srv6-extensions-02.txt Abstract Segment Routing (SR) allows for a flexible definition of end-to-end paths by encoding paths as sequences of topological sub-paths, called "segments". Segment routing architecture can be implemented over an 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 data plane. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described inRFC 2119 [RFC2119].BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire onApril 2,September 20, 2018. Copyright Notice Copyright (c)20172018 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. SRv6-Capabilities sub-TLV . . . . . . . . . . . . . . . . . . 3 2.1. Maximum SL sub-sub-TLV . . . . . . . . . . . . . . . . . 4 2.2. Maximum End Pop SRH sub-sub-TLV . . . . . . . . . . . . . 5 2.3. Maximum T.Insert SRH sub-sub-TLV . . . . . . . . . . . . 5 2.4. Maximum T.Encap SRH sub-sub-TLV . . . . . . . . . . . . .56 2.5. Maximum End D SRH sub-sub-TLV . . . . . . . . . . . . . . 6 3.SRv6-functionSRv6 Endpoint function Descriptor . . . . . . . . . . . . . .. . . . 67 4.SRv6-SIDSRv6 Node SID TLV . . . . . . . . . . . . . . . . . . . . . .. . 97 5.FunctionEndpoint function Code Points . . . . . . . . . . . . . . . .. . . . 119 6. Advertising SRv6 SIDs associated with a Neighbor . . . . . .119 6.1.P2P Srv6 X-SIDSRv6 Adjacency-SID sub-TLV . . . . . . . . . . . . . . .. . 1110 6.2.LANSRv6X-SIDLAN Adjacency-SID sub-TLV . . . . . . . . . . . . .. . . . 1210 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . .1311 7.1. SRv6 Node SID TLVand sub-TLVs . . . .. . . . . . . . . . . .14 7.2. IS-IS SRv6-functions Codepoints Registry. . . . . . . .14 7.3.12 7.2. SRv6 Capabilities sub-TLV . . . . . . . . . . . . . . . .15 7.4. P2P12 7.3. SRv6X-SIDAdjacency-SID andLANSRv6X-SIDLAN Adjacecncy-SID sub-TLVs .. . . . . . 15 7.5. IS-IS SRv6 X-SID sub-sub-TLV Codepoints Registry . . . . 1613 8. Security Considerations . . . . . . . . . . . . . . . . . . .1613 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . .1613 10. References . . . . . . . . . . . . . . . . . . . . . . . . .1714 10.1. Normative References . . . . . . . . . . . . . . . . . .1815 10.2. Informative References . . . . . . . . . . . . . . . . .1816 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . .1816 1. Introduction With Segment Routing(SR)[SRARCH],(SR) [I-D.ietf-spring-segment-routing], a node steers a packet through an ordered list of instructions, called segments. Segments are identified through Segment Identifiers (SIDs). Segment Routing can be directly instantiated on the IPv6 data plane through the use of the Segment Routing Header defined in[SRH].[I-D.ietf-6man-segment-routing-header]. SRv6 refers to this SR instantiation on the IPv6 dataplane. The network programming paradigm[NP][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 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 encode some of these functions. Familiarity with the network programming paradigm[NP][I-D.filsfils-spring-srv6-network-programming] is necessary to understand the extensions specified in this document. This document defines one new top levelIS-IS_TLVIS-IS TLV andthreeseveral new IS- IS sub-TLVs. The SRv6 Capabilities sub-TLV announces the ability to support SRv6 and some Endpoint functionsdefinedlisted in[NP]Section 5 as well as advertising limitations when applying such Endpoint functions. The SRv6 Node SID top level TLV, theP2PSRv6X-SIDAdjacency-SID sub-TLV, and theLANSRv6X-SIDLAN 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.Only ISIS-related functions such as End and its variants D and X [NP] are defined in this document.2. SRv6-Capabilities sub-TLVAs described in [SRH] and [NP], the list of Segments is stored in the segment routing header referred hereafter as "SRH".Arouternode indicates thatsupportsit has support for SRv6MUST be able to process the segment routing header as described in [SRH] and [NP] up to the limitations setbythe advertised SRv6-capabilities sub-TLV. To announce this ability,advertising arouter uses the newly definednew 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: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | optional sub-sub-TLVs... Type: Suggested value22,25, to be assigned by IANA Length: 2 + length of sub-sub-TLVs Flags: 2 octets The following flags are defined: 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|E||E|O| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ where: E-flag: If set, then router is able to apply "T.Encap"operationoperation. 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. 2.1. Maximum SL sub-sub-TLV The Maximum Segments Left sub-sub-TLV specifies the maximum value of the "SL" field[SRH][I-D.ietf-6man-segment-routing-header] in the SRH of a received packet before applying the Endpoint function associated with a SID. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Max SL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 1 Length: 1 SL Value: 1 octet An 8 bit unsigned integer. If the sub-sub-TLV is NOT advertised the value is assumed to be 0. 2.2. Maximum End Pop SRH sub-sub-TLV 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 "PSP" or USP"[NP][I-D.filsfils-spring-srv6-network-programming] flavors. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length |Max-End-Pop-SRH| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 2 Length: 1 Max-End-Pop-SRH Value: 1 octet An 8 bit unsigned integer. 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. 2.3. Maximum T.Insert SRH sub-sub-TLV 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].[I-D.filsfils-spring-srv6-network-programming]. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Max-T.Insert | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 3 Length: 1 Max-T.Insert Value: 1 octet An 8 bit unsigned integer. If the value is zero or the sub-sub-TLV is omitted, then the router is assumed not to support any variation of the "T.insert" behavior. 2.4. Maximum T.Encap SRH sub-sub-TLV 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].[I-D.filsfils-spring-srv6-network-programming]. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Max-T.Encap | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 4 Length: 1 Max-T.Encap Value: 1 octet An 8 bit unsigned integer. If this value is zero or the sub-sub-TLV is omitted and the "E" flag is set in the associated SRv6 Capabilities sub-TLV, then it is assumed that the router can apply T.Encap by encapsulating the incoming packet in another IPv6 header without SRH the same way IPinIP encapsulation is performed. If the "E" flag is clear, then this sub-sub-TLV SHOULD NOT be transmitted and MUST be ignored on receipt. 2.5. Maximum End D SRH sub-sub-TLV The Maximum End D SRH sub-sub-TLV specifies the maximum number of SIDs in an SRH when applying "End.DX6" and "End.DT6" Endpoint functions. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Max End D | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 5 Length: 1 Max End D Value: 1 octet An 8 bit unsigned integer. If this value is zero or the sub-sub-TLV is omitted, then it is assumed that the router cannot apply "End.DX6" or "End.DT6" Endpoint functions if the extension header right underneath the outer IPv6 header is an SRH. 3.SRv6-functionSRv6 Endpoint function Descriptor 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 section 6.2 MUSTincludehave 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 SRv6SIDEndpoint 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |FunctionEndpoint 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 twoNo flagsto 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 function encoded in the "function" field Reserved Bits SHOULD be transmitted as 0 and MUST be ignored on receipt.are currently defined. The second two octets encode the Endpoint function.Function code points are defined in Section 5. For a given4. SRv6 Node SIDfunction encoded in the "Function" field, 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-SIDTLVA new top levelThe SRv6 Node SID TLV is introduced to advertise SRv6 Segment Identifiers (SID) and their attributes. The new TLV is used to advertise SRv6 SIDs withany of theEndpoint functionsdefined in [NP] whose code point is defined in this document except those SIDswhichmust be associated withdo not require a particular neighbor in order to be correctly applied[NP].[I-D.filsfils-spring-srv6-network-programming]. SRv6 SIDs associated with a neighbor are advertisedinusing the sub-TLVs defined in Section 6. This new TLV shares the sub-TLV space defined for TLVs 135, 235, 236 and 237. The SRv6 Node SID 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+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length |flags+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |SID-sizeFlags | Func-flags | Endpoint function Value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID size | SID (variable) . . .|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |sub-tlv-lenSub-tlv-len | Sub-TLVs (variable) . . . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 27 (Suggested value to be assigned by IANA) Length: variable. One or more SID entries, each of which has the following format: Flags: 1 octet. The following flags are defined 0 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |D| Reserved | +-+-+-+-+-+-+-+-+ where: 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 the D bit set MUST NOT be leaked from level-1 to level-2. This is to prevent looping. The remaining bits are reserved for future use. They SHOULD be set to zero on transmission and MUST be ignored on receipt. Func-flags: 1 octet. As defined in Section 3 Endpoint function Value: 2 octets. As defined in Section 3 SID-Size: 1 octet. Number of bits in the SID field. SID: 1-16 octets. This field encodes the advertised SRv6 SID. 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 minimal number of octets for the given number of bits.The owning router may associate one or more functions as specified in [NP], in other documents, or as locally configured.Sub-TLV-length: 1 octet. Number of octets used by sub-TLVsThe function associated with the advertised SID is specified by the SRv6-Function Descriptor sub-TLV specified in Section 3.5.FunctionEndpoint function Code PointsThis section defines theEndpoint function code pointsfor supported functions associated with SRv6 SIDs. Functionsare defined in[NP].[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. o0: ReservedEnd (no PSP, no USP) o1:EndFunctionwith PSP o End with USP o End with PSP&USP o2:End.XFunction(no PSP, no USP) o End.X with PSP o End.X with USP o End.X with PSP&USP o3:End.DX6 Function o4:End.DT6 Function o End.OTP 6. Advertising SRv6 SIDs associated with a Neighbor Certain SRv6 Endpoint functions[NP][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 advertisetwo such functions in IS- IS, namely End.X and End.DX6 [NP]. SIDs associated withthe End.X and End.DX6functions are advertised within neighbor reachability TLVs.variants as described in Section 5. This document defines two new sub-TLVs of TLV 22, 23, 222, 223, and 141 - namely"P2P SRv6 X-SID""SRv6 Adjacency-SID" and"LAN SRv6 X- SID"."SRv6 LAN Adjacency-SID". 6.1.P2P Srv6 X-SIDSRv6 Adjacency-SID sub-TLV This sub-TLV is used to advertise one or more SRv6 SIDs associated withEnd.X and End.DX6 [NP] functions overa point to point adjacency. The"P2PSRv6X-SID"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+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags |SID-sizeFunc-flags | Endpoint function Value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID size | SID (variable) . . .|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|sub-sub-tlv-len||Sub-sub-tlv-len| Sub-sub-TLVs (variable) . . . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 40 (Suggested value to be assigned by IANA) Length: variable. One or more SIDs each of which has the following format: 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: 1-16 octets. This field encodes the advertised SRv6 SID. 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 minimal number of octets for the given number of bits.The owning 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- TLVsThe 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].6.2.LANSRv6X-SIDLAN Adjacency-SID sub-TLV This sub-TLV is used to advertise one or more SRv6 SIDs associated withEnd.X and End.DX6 [NP] functions overa LAN adjacency. The"LANSRv6X-SID"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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | System ID (6 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Func-flags | Endpoint function Value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID-size | SID (variable) . . . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|sub-sub-tlv-len||Sub-sub-tlv-len| sub-sub-TLVs (variable) . . . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 41 (Suggested value to be assigned by IANA) Length: variable. System-ID: 6 octets of IS-IS System-ID of length "ID Length" as defined in [ISO10589]. One or more SIDs each of which has the following format: 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: 1-16 octets. This field encodes the advertised SRv6 SID. 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 minimal number of octets for the given number of bits.The owning 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- 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 This documents request allocation for the following TLVs, sub- TLVs, and sub-sub-TLVs as well updating the ISIS TLV registry and defining a new registry. 7.1. SRv6 Node SID TLVand sub-TLVsThis document adds the following new TLV to the IS-IS TLV Codepoints registry. Value: 27 (suggested - to be assigned by IANA) Name: SRv6 Node SID 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 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 DescriptorThe revised table of sub-TLVs in the registry should be: Type 27 135 235 236 237 1 n y y y y 2 n y y y y 3 y y y y y 4 y y y y y5(new)y n n n n11 y y y y y 12 y y y y y 7.2.IS-IS SRv6-functions Codepoints Registry 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 for TLV 242 registry". Type:2225 (Suggested - to be assigned by IANA) Description: SRv6 Capabilities Thuis document requests the creation of a new IANA managed registry for sub-sub-TLVs of the SRv6 Capability sub-TLV. The registration procedure is "Expert Review" as defined in [RFC7370]. Suggested registry name is "sub-sub-TLVs for SRv6 Capability sub-TLV". The following sub-TLVs are defined by this document: 0: Reserved 1: Max-SL 2: Max-End-Pop-SRH 3: Max-T-Ins-SRH 4: Max-T-Encap-SRH 5: Max-End-D-SR7.4. P2P7.3. SRv6X-SIDAdjacency-SID andLANSRv6X-SIDLAN Adjacecncy-SID sub-TLVs This document adds the definition of two new sub-TLVs in the "sub- TLVs for TLV 22, 23, 141, 222 and 223 registry". Type: 40 (suggested - to be assigned by IANA) Description:Point-to-PointSRv6X-SIDAdjacency-SID Type: 41 (suggested - to be assigned by IANA) Description:LANSRv6X-SIDLAN Adjacency-SID Type 22 23 141 222 223 40 y y y y y 41 y y y y y7.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 Security concerns for IS-IS are addressed in[ISO10589,[ISO10589], [RFC5304], and [RFC5310]. 9. Contributors The following people gave a substantial contribution to the content of this document and should be considered as co-authors: Stefano PrevidiCisco Systems, Inc.Email: stefano@previdi.net Peter Psenak Cisco Systems Apollo Business Center Mlynske nivy 43 Bratislava 821 09 Slovakia Email: ppsenak@cisco.com Paul Wells Cisco Systems Saint Paul, Minnesota United States Email: pauwells@cisco.com Daniel Voyer Email: daniel.voyer@bell.ca Satoru Matsushima Email: satoru.matsushima@g.softbank.co.jp Bart Peirens Email: bart.peirens@proximus.com Hani Elmalky Email: hani.elmalky@ericsson.com Prem Jonnalagadda Email: prem@barefootnetworks.com Milad Sharif Email: msharif@barefootnetworks.com> Robert Hanzl Cisco Systems Millenium Plaza Building, V Celnici 10, Prague 1, Prague, Czech Republic Email rhanzl@cisco.com 10. 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] "Intermediate system to Intermediate system intra-domain routeing information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode Network Service (ISO 8473), ISO/IEC 10589:2002, Second Edition.", Nov 2002. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>. [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic Authentication", RFC 5304, DOI 10.17487/RFC5304, October 2008, <https://www.rfc-editor.org/info/rfc5304>. [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., and M. Fanto, "IS-IS Generic Cryptographic Authentication", RFC 5310, DOI 10.17487/RFC5310, February 2009, <https://www.rfc-editor.org/info/rfc5310>. [RFC7370] Ginsberg, L., "Updates to the IS-IS TLV Codepoints Registry", RFC 7370, DOI 10.17487/RFC7370, September 2014, <https://www.rfc-editor.org/info/rfc7370>. [RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions for Advertising Router Information", RFC 7981, DOI 10.17487/RFC7981, October 2016, <https://www.rfc-editor.org/info/rfc7981>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>. 10.2. Informative References[NP] "SRv6 Network Programming, draft-filsfils-spring-srv6- network-programming-01 (work in progress)", June 2017. [SRARCH][I-D.ietf-spring-segment-routing] Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment RoutingArchitecture, draft-ietf-spring-segment- routing-12(work in progress)", June 2017. [SRH] "IPv6 SegmentRouting Header (SRH), draft-ietf-6man- segment-routing-header-07Architecture", draft-ietf-spring-segment-routing-15 (work inprogress)", July 2017.progress), January 2018. Authors' Addresses Les Ginsberg Cisco Systems 821 Alder Drive Milpitas, CA 95035 USA Email: ginsberg@cisco.com Ahmed Bashandy Cisco Systems 170 West Tasman Dr San Jose, CA 95134 USA Email: bashandy@cisco.com Clarence Filsfils Cisco Systems Brussels Belgium Email: cfilsfil@cisco.com Bruno Decraene Orange Issy-les-Moulineaux France Email: bruno.decraene@orange.com Zhibo Hu Huawei Technologies Email: huzhibo@huawei.com