idnits 2.17.1 draft-bashandy-isis-srv6-extensions-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (September 29, 2017) is 2401 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO10589' == Outdated reference: A later version (-07) exists of draft-filsfils-spring-srv6-network-programming-01 == Outdated reference: A later version (-15) exists of draft-ietf-spring-segment-routing-12 == Outdated reference: A later version (-26) exists of draft-ietf-6man-segment-routing-header-07 Summary: 0 errors (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Networking Working Group L. Ginsberg 3 Internet-Draft A. Bashandy 4 Intended status: Standards Track C. Filsfils 5 Expires: April 2, 2018 Cisco Systems 6 B. Decraene 7 Orange 8 September 29, 2017 10 IS-IS Extensions to Support Routing over IPv6 Dataplane 11 draft-bashandy-isis-srv6-extensions-01.txt 13 Abstract 15 Segment Routing (SR) allows for a flexible definition of end-to-end 16 paths by encoding paths as sequences of topological sub-paths, called 17 "segments". Segment routing architecture can be implemented over an 18 MPLS data plane as well as an IPv6 data plane. This draft describes 19 the IS-IS extensions required to support Segment Routing over an IPv6 20 data plane. 22 Requirements Language 24 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 25 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 26 document are to be interpreted as described in RFC 2119 [RFC2119]. 28 Status of This Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at https://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on April 2, 2018. 45 Copyright Notice 47 Copyright (c) 2017 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (https://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 63 2. SRv6-Capabilities sub-TLV . . . . . . . . . . . . . . . . . . 3 64 2.1. Maximum SL sub-sub-TLV . . . . . . . . . . . . . . . . . 4 65 2.2. Maximum End Pop SRH sub-sub-TLV . . . . . . . . . . . . . 5 66 2.3. Maximum T.Insert SRH sub-sub-TLV . . . . . . . . . . . . 5 67 2.4. Maximum T.Encap SRH sub-sub-TLV . . . . . . . . . . . . . 5 68 2.5. Maximum End D SRH sub-sub-TLV . . . . . . . . . . . . . . 6 69 3. SRv6-function Descriptor . . . . . . . . . . . . . . . . . . 6 70 4. SRv6-SID TLV . . . . . . . . . . . . . . . . . . . . . . . . 9 71 5. Function Code Points . . . . . . . . . . . . . . . . . . . . 11 72 6. Advertising SRv6 SIDs associated with a Neighbor . . . . . . 11 73 6.1. P2P Srv6 X-SID sub-TLV . . . . . . . . . . . . . . . . . 11 74 6.2. LAN SRv6 X-SID sub-TLV . . . . . . . . . . . . . . . . . 12 75 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 76 7.1. SRv6 SID TLV and sub-TLVs . . . . . . . . . . . . . . . . 14 77 7.2. IS-IS SRv6-functions Codepoints Registry . . . . . . . . 14 78 7.3. SRv6 Capabilities sub-TLV . . . . . . . . . . . . . . . . 15 79 7.4. P2P SRv6 X-SID and LAN SRv6 X-SID sub-TLVs . . . . . . . 15 80 7.5. IS-IS SRv6 X-SID sub-sub-TLV Codepoints Registry . . . . 16 81 8. Security Considerations . . . . . . . . . . . . . . . . . . . 16 82 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 16 83 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 84 10.1. Normative References . . . . . . . . . . . . . . . . . . 18 85 10.2. Informative References . . . . . . . . . . . . . . . . . 18 86 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 88 1. Introduction 90 With Segment Routing (SR)[SRARCH], a node steers a packet through an 91 ordered list of instructions, called segments. 93 Segments are identified through Segment Identifiers (SIDs). 95 Segment Routing can be directly instantiated on the IPv6 data plane 96 through the use of the Segment Routing Header defined in [SRH]. SRv6 97 refers to this SR instantiation on the IPv6 dataplane. 99 The network programming paradigm [NP] is central to SRv6. 101 It describes how any function can be bound to a SID and how any 102 network program can be expressed as a combination of SID's. 104 It defines several well-known functions such as End, End.X, T.Insert, 105 T.Encaps, etc. 107 This document specifies IS-IS extensions that allow IS-IS protocol to 108 encode some of these functions. 110 Familiarity with the network programming paradigm [NP] is necessary 111 to understand the extensions specified in this document. 113 This document defines one new top level IS-IS_TLV and three new IS- 114 IS sub-TLVs. 116 The SRv6 Capabilities sub-TLV announces the ability to support SRv6 117 and some functions defined in [NP] as well as advertising limitations 118 when applying such functions. 120 The SRv6 SID top level TLV, the P2P SRv6 X-SID sub-TLV, and the LAN 121 SRv6 X-SID sub-TLV are used to advertise which SIDs are instantiated 122 at a node and what function is bound to each instantiated SID. 124 Only ISIS-related functions such as End and its variants D and X [NP] 125 are defined in this document. 127 2. SRv6-Capabilities sub-TLV 129 As described in [SRH] and [NP], the list of Segments is stored in the 130 segment routing header referred hereafter as "SRH". 132 A router that supports SRv6 MUST be able to process the segment 133 routing header as described in [SRH] and [NP] up to the limitations 134 set by the advertised SRv6-capabilities sub-TLV. 136 To announce this ability, a router uses the newly defined SRv6- 137 capabilities sub-TLV of the router capabilities TLV [RFC7981]. The 138 SRv6- capabilities sub-TLV may contain optional sub-sub-TLVs. 140 The SRv6 Capabilities sub-TLV has the following format: 142 0 1 2 3 143 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 144 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 145 | Type | Length | Flags | 146 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 147 | sub-sub-TLVs... 149 Type: Suggested value 22, to be assigned by IANA 151 Length: 2 + length of sub-sub-TLVs 153 Flags: 2 octets The following flags are defined: 155 0 1 156 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 157 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 158 |E| | 159 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 161 where: 162 E-flag: If set, then router is able to apply "T.Encap" 163 operation 165 The following sections define the supported sub-sub-TLVs. 167 2.1. Maximum SL sub-sub-TLV 169 The Maximum Segments Left sub-sub-TLV specifies the maximum value of 170 the "SL" field [SRH] in the SRH of a received packet before applying 171 the function associated with a SID. 173 0 1 2 174 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 175 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 176 | Type | Length | Max SL | 177 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 179 Type: 1 180 Length: 1 181 SL Value: 1 octet 182 An 8 bit unsigned integer. 184 If the sub-sub-TLV is NOT advertised the value is assumed to be 0. 186 2.2. Maximum End Pop SRH sub-sub-TLV 188 The Maximum End Pop SRH sub-sub-TLV specifies the maximum number of 189 SIDs in the top SRH in an SRH stack to which the router can apply 190 "PSP" or USP" [NP] flavors. 192 0 1 2 193 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 194 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 195 | Type | Length |Max-End-Pop-SRH| 196 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 198 Type: 2 199 Length: 1 200 Max-End-Pop-SRH Value: 1 octet 201 An 8 bit unsigned integer. 203 If the value is zero or the sub-sub-TLV is NOT advertised, 204 then it is assumed that the router cannot apply PSP or USP flavors. 206 2.3. Maximum T.Insert SRH sub-sub-TLV 208 The Maximum T.Insert SRH sub-sub-TLV specifies the maximum number of 209 SIDs that can be inserted as part of the "T.insert" behavior [NP]. 211 0 1 2 212 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 213 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 214 | Type | Length | Max-T.Insert | 215 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 217 Type: 3 218 Length: 1 219 Max-T.Insert Value: 1 octet 220 An 8 bit unsigned integer. 222 If the value is zero or the sub-sub-TLV is omitted, 223 then the router is assumed not to support any variation 224 of the "T.insert" behavior. 226 2.4. Maximum T.Encap SRH sub-sub-TLV 228 The Maximum T.Encap SRH sub-sub-TLV specifies the maximum number of 229 SIDs that can be included as part of the "T.Encap" behavior [NP]. 231 0 1 2 232 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 233 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 234 | Type | Length | Max-T.Encap | 235 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 237 Type: 4 238 Length: 1 239 Max-T.Encap Value: 1 octet 240 An 8 bit unsigned integer. 242 If this value is zero or the sub-sub-TLV is omitted and 243 the "E" flag is set in the associated SRv6 Capabilities 244 sub-TLV, then it is assumed that the router can apply T.Encap 245 by encapsulating the incoming packet in another IPv6 header 246 without SRH the same way IPinIP encapsulation is performed. 247 If the "E" flag is clear, then this sub-sub-TLV SHOULD NOT 248 be transmitted and MUST be ignored on receipt. 250 2.5. Maximum End D SRH sub-sub-TLV 252 The Maximum End D SRH sub-sub-TLV specifies the maximum number of 253 SIDs in an SRH when applying "End.DX6" and "End.DT6" functions. 255 0 1 2 256 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 257 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 258 | Type | Length | Max End D | 259 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 261 Type: 5 262 Length: 1 263 Max End D Value: 1 octet 264 An 8 bit unsigned integer. 266 If this value is zero or the sub-sub-TLV is omitted, 267 then it is assumed that the router cannot apply 268 "End.DX6" or "End.DT6" functions if the extension 269 header right underneath the outer IPv6 header is an SRH. 271 3. SRv6-function Descriptor 273 The SRv6 SID TLV defined in Section 4, P2P SRv6 X-SID sub-TLV 274 specified in Section 6.1, and LAN SRv6 X-SID sub-TLV specified in 275 section 6.2 MUST include one SRv6 function Descriptor. 277 When included in the SRv6 SID TLV, the descriptor is encoded as a 278 sub-TLV. When included in a P2P/LAN SRv6 X-SID sub-TLV, the 279 descriptor is encoded as a sub-sub-TLV. 281 The SRv6-function Descriptor encodes the function (and its flavors) 282 bound to the SRv6 SID advertised in the SRv6 SID TLV [NP]. 284 The SRv6 SID function Descriptor has the following format: 286 0 1 287 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 288 +-+-+-+-+-+-+-+-+ 289 | Type | 290 +-+-+-+-+-+-+-+-+ 291 | Length | 292 +-+-+-+-+-+-+-+-+ 293 | Flags | 294 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 295 | Function (2 octets) | 296 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 298 Type: See IANA considerations in Section 7. 300 Length: 3 302 Flags: 304 0 1 2 3 4 5 6 7 305 +-+-+-+-+-+-+-+-+ 306 |P|U| Reserved | 307 +-+-+-+-+-+-+-+-+ 309 This document defines two flags to specify the 310 flavor(s) [NP] associated with the SRv6 function 311 specified in the "Function" field: 313 P bit: If set, then the PSP flavor [NP] is associated with the 314 function encoded in the "function" field 316 U bit: If set, then the USP flavor [NP] is associated with the 317 function encoded in the "function" field 319 Reserved Bits SHOULD be transmitted as 0 and MUST be ignored on 320 receipt. 322 The second two octets encode the function. Function code points 323 are defined in Section 5. 325 For a given SRv6 SID function encoded in the "Function" field, 326 the "P" and "U" bits are set/cleared according to the rules of 327 enabling/disabling the PSP and USP flavors, respectively, for 328 that function as specified in [NP]. 330 4. SRv6-SID TLV 332 A new top level TLV is introduced to advertise SRv6 Segment 333 Identifiers (SID) and their attributes. 335 The new TLV is used to advertise SRv6 SIDs with any of the functions 336 defined in [NP] whose code point is defined in this document except 337 those SIDs which must be associated with a particular neighbor in 338 order to be correctly applied [NP]. SRv6 SIDs associated with a 339 neighbor are advertised in the sub-TLVs defined in Section 6. 341 This new TLV shares the sub-TLV space defined for TLVs 135, 235, 236 342 and 237. The SRv6 SID TLV has the following format: 344 0 1 2 3 345 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 346 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 347 | Type | Length | flags | SID-size | 348 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 349 | SID (variable) . . . | 350 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 351 | sub-tlv-len | Sub-TLVs (variable) . . . | 352 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 354 Type: 27 (Suggested value to be assigned by IANA) 356 Length: variable. 358 One or more SID entries, each of which has the following format: 360 Flags: 1 octet. The following flags are defined 362 0 363 0 1 2 3 4 5 6 7 364 +-+-+-+-+-+-+-+-+ 365 |D| Reserved | 366 +-+-+-+-+-+-+-+-+ 368 where: 369 D bit: When the SID is leaked from level-2 to level-1, the D 370 bit MUST be set. Otherwise, this bit MUST be clear. SIDs with 371 the D bit set MUST NOT be leaked from level-1 to level-2. This 372 is to prevent looping. 374 The remaining bits are reserved for future use. They SHOULD be 375 set to zero on transmission and MUST be ignored on receipt. 377 SID-Size: 1 octet. Number of bits in the SID field. 379 SID: 1-16 octets. This field encodes the advertised SRv6 SID. The 380 "SID-size" field can have the values 1-128 and indicates the 381 number of bits in the SID. The SRv6 SID is encoded in the 382 minimal number of octets for the given number of bits. The owning 383 router may associate one or more functions as specified in [NP], 384 in other documents, or as locally configured. 386 Sub-TLV-length: 1 octet. Number of octets used by sub-TLVs 388 The function associated with the advertised SID is specified by 389 the SRv6-Function Descriptor sub-TLV specified in Section 3. 391 5. Function Code Points 393 This section defines the code points for supported functions 394 associated with SRv6 SIDs. Functions are defined in [NP]. 396 o 0: Reserved 398 o 1: End Function 400 o 2: End.X Function 402 o 3: End.DX6 Function 404 o 4: End.DT6 Function 406 6. Advertising SRv6 SIDs associated with a Neighbor 408 Certain SRv6 functions [NP] must be associated with a particular 409 neighbor, and in case of multiple layer 3 links to the same neighbor, 410 with a particular link in order to be correctly applied. 412 This document specifies how to advertise two such functions in IS- 413 IS, namely End.X and End.DX6 [NP]. 415 SIDs associated with End.X and End.DX6 functions are advertised 416 within neighbor reachability TLVs. 418 This document defines two new sub-TLVs of TLV 22, 23, 222, 223, and 419 141 - namely "P2P SRv6 X-SID" and "LAN SRv6 X- SID". 421 6.1. P2P Srv6 X-SID sub-TLV 423 This sub-TLV is used to advertise one or more SRv6 SIDs associated 424 with End.X and End.DX6 [NP] functions over a point to point 425 adjacency. 427 The "P2P SRv6 X-SID" sub-TLV has the following format: 429 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 430 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 431 | Type | Length | Flags | SID-size | 432 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 433 | SID (variable) . . . | 434 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 435 |sub-sub-tlv-len| Sub-sub-TLVs (variable) . . . | 436 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 438 Type: 40 (Suggested value to be assigned by IANA) 440 Length: variable. 442 One or more SIDs each of which has the following format: 444 Flags: 1 octet. No flags defined in this document 446 SID-Size: 1 octet. Number of bits in the SID field. 448 SID: 1-16 octets. This field encodes the advertised SRv6 SID. The 449 "SID-size" field can have the values 1-128 and indicates the 450 number of bits in the SID. The SRv6 SID is encoded in the 451 minimal number of octets for the given number of bits. The owning 452 router may associate one or more functions as specified in [NP], 453 in other documents, or as locally configured. 455 Sub-sub-TLV-length: 1 octet. Number of octets used by sub-sub- 456 TLVs 458 The function associated with the advertised SID is specified by the 459 SRv6-Function Descriptor sub-sub-TLV specified in Section 3. If the 460 SRv6-Function Descriptor is encoded in the P2P SRv6 X-SID sub-TLV, 461 then the encoded SRv6 SID function MUST include only the code points 462 of SRv6 SID functions that require the specification of a neighbor to 463 be correctly applied. This document specifies the code points of two 464 such functions, namely End.X and End.DX6 [NP]. 466 6.2. LAN SRv6 X-SID sub-TLV 468 This sub-TLV is used to advertise one or more SRv6 SIDs associated 469 with End.X and End.DX6 [NP] functions over a LAN adjacency. The "LAN 470 SRv6 X-SID" sub-TLV has the following format: 472 0 1 2 3 473 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 474 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 475 | Type | Length | System ID (6 octets) | 476 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 477 | | 478 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 479 | Flags | SID-size | SID (variable) . . . | 480 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 481 |sub-sub-tlv-len| sub-sub-TLVs (variable) . . . | 482 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 484 Type: 41 (Suggested value to be assigned by IANA) 485 Length: variable. 487 System-ID: 6 octets of IS-IS System-ID of length "ID Length" as 488 defined in [ISO10589]. 490 One or more SIDs each of which has the following format: 492 Flags 1 Octet. No flags are defined in this document 494 SID-Size: 1 octet. Number of bits in the SID field. 496 SID: 1-16 octets. This field encodes the advertised SRv6 SID. The 497 "SID-size" field can have the values 1-128 and indicates the 498 number of bits in the SID. The SRv6 SID is encoded in the 499 minimal number of octets for the given number of bits. The owning 500 router may associate one or more functions as specified in [NP], 501 in other documents, or as locally configured. 503 Sub-sub-TLV-length: 1 octet. Number of octets used by sub-sub- 504 TLVs. 506 The function associated with the advertised SID is specified by the 507 SRv6-Function Descriptor sub-sub-TLV specified in Section 3. If the 508 SRv6-Function Descriptor is encoded in the P2P SRv6 X-SID sub-TLV, 509 then the encoded SRv6 SID function MUST include only the code points 510 of SRv6 SID functions that require the specification of a neighbor to 511 be correctly applied. This document specifies the code points of two 512 such functions, namely End.X and End.DX6 [NP]. 514 7. IANA Considerations 516 This documents request allocation for the following TLVs, sub- TLVs, 517 and sub-sub-TLVs as well updating the ISIS TLV registry and defining 518 a new registry. 520 7.1. SRv6 SID TLV and sub-TLVs 522 This document adds the following new TLV to the IS-IS TLV Codepoints 523 registry. 525 Value: 27 (suggested - to be assigned by IANA) 527 Name: SRv6 SID 529 The name of the "Sub-TLVs for TLVs 135, 235, 236 and 237 registry" 530 needs to be changed to "Sub-TLVs for TLVs 27, 135, 235, 236 and 237 531 registry". 533 This document adds a new sub-TLV to the (renamed) "Sub-TLVs for TLVs 534 27, 135, 235, 236 and 237 registry". 536 Value: 5 (Suggested - to be assigned by IANA) 538 Name: SRv6-function Descriptor 540 The revised table of sub-TLVs in the registry should be: 542 Type 27 135 235 236 237 544 1 n y y y y 545 2 n y y y y 546 3 y y y y y 547 4 y y y y y 548 5(new)y n n n n 549 11 y y y y y 550 12 y y y y y 552 7.2. IS-IS SRv6-functions Codepoints Registry 554 This document requests the creation of a new IANA managed registry to 555 identify SRv6 SID functions. The registration procedure is "Expert 556 Review" as defined in [RFC7370]. Suggested registry name is "SRv6 557 SID Function Types". A function identifier is an unsigned 8 bit 558 value. The following values are defined by this document: 560 0 Reserved 562 1 End function. 564 2 End.X function 566 3 End.DX6 function. 568 4 End.DT6 function. 570 7.3. SRv6 Capabilities sub-TLV 572 This document adds the definition of a new sub-TLV in the "Sub- TLVs 573 for TLV 242 registry". 575 Type: 22 (Suggested - to be assigned by IANA) 577 Description: SRv6 Capabilities 579 Thuis document requests the creation of a new IANA managed registry 580 for sub-sub-TLVs of the SRv6 Capability sub-TLV. The registration 581 procedure is "Expert Review" as defined in [RFC7370]. Suggested 582 registry name is "sub-sub-TLVs for SRv6 Capability sub-TLV". The 583 following sub-TLVs are defined by this document: 585 0: Reserved 587 1: Max-SL 589 2: Max-End-Pop-SRH 591 3: Max-T-Ins-SRH 593 4: Max-T-Encap-SRH 595 5: Max-End-D-SR 597 7.4. P2P SRv6 X-SID and LAN SRv6 X-SID sub-TLVs 599 This document adds the definition of two new sub-TLVs in the "sub- 600 TLVs for TLV 22, 23, 141, 222 and 223 registry". 602 Type: 40 (suggested - to be assigned by IANA) 604 Description: Point-to-Point SRv6 X-SID 606 Type: 41 (suggested - to be assigned by IANA) 608 Description: LAN SRv6 X-SID 610 Type 22 23 141 222 223 612 40 y y y y y 613 41 y y y y y 615 7.5. IS-IS SRv6 X-SID sub-sub-TLV Codepoints Registry 617 This document requests the creation of a new IANA managed registry to 618 identify SRv6 SID functions encoded in P2P/LAN X-SID sub-TLVs. The 619 registration procedure is "Expert Review" as defined in [RFC7370]. 620 Suggested registry name is "SRv6 X-SID sub-sub-TLV Codepoints 621 Registry". The following values are defined by this document: 623 Value: 5 (Suggested - to be assigned by IANA) 625 Name: SRv6-function 627 Descriptor This sub-sub-TLV MAY appear in either the Point-to-Point 628 SRv6 X-SID or the LAN SRv6 X-SID sub-TLVs described in Section 7.4. 630 8. Security Considerations 632 Security concerns for IS-IS are addressed in [ISO10589, [RFC5304], 633 and [RFC5310]. 635 9. Contributors 637 The following people gave a substantial contribution to the content 638 of this document and should be considered as co-authors: 640 Stefano Previdi 641 Cisco Systems, Inc. 642 Email: stefano@previdi.net 644 Peter Psenak 645 Cisco Systems 646 Apollo Business Center Mlynske nivy 43 647 Bratislava 821 09 648 Slovakia 649 Email: ppsenak@cisco.com 651 Paul Wells 652 Cisco Systems 653 Saint Paul, 654 Minnesota 655 United States 656 Email: pauwells@cisco.com 658 Daniel Voyer 659 Email: daniel.voyer@bell.ca 661 Satoru Matsushima 662 Email: satoru.matsushima@g.softbank.co.jp 664 Bart Peirens 665 Email: bart.peirens@proximus.com 667 Hani Elmalky 668 Email: hani.elmalky@ericsson.com 670 Prem Jonnalagadda 671 Email: prem@barefootnetworks.com 673 Milad Sharif 674 Email: msharif@barefootnetworks.com> 676 Robert Hanzl 677 Cisco Systems 678 Millenium Plaza Building, V Celnici 10, Prague 1, 679 Prague, Czech Republic 680 Email rhanzl@cisco.com 682 10. References 683 10.1. Normative References 685 [ISO10589] 686 "Intermediate system to Intermediate system intra-domain 687 routeing information exchange protocol for use in 688 conjunction with the protocol for providing the 689 connectionless-mode Network Service (ISO 8473), ISO/IEC 690 10589:2002, Second Edition.", Nov 2002. 692 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 693 Requirement Levels", BCP 14, RFC 2119, 694 DOI 10.17487/RFC2119, March 1997, 695 . 697 [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic 698 Authentication", RFC 5304, DOI 10.17487/RFC5304, October 699 2008, . 701 [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., 702 and M. Fanto, "IS-IS Generic Cryptographic 703 Authentication", RFC 5310, DOI 10.17487/RFC5310, February 704 2009, . 706 [RFC7370] Ginsberg, L., "Updates to the IS-IS TLV Codepoints 707 Registry", RFC 7370, DOI 10.17487/RFC7370, September 2014, 708 . 710 [RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions 711 for Advertising Router Information", RFC 7981, 712 DOI 10.17487/RFC7981, October 2016, 713 . 715 10.2. Informative References 717 [NP] "SRv6 Network Programming, draft-filsfils-spring-srv6- 718 network-programming-01 (work in progress)", June 2017. 720 [SRARCH] "Segment Routing Architecture, draft-ietf-spring-segment- 721 routing-12(work in progress)", June 2017. 723 [SRH] "IPv6 SegmentRouting Header (SRH), draft-ietf-6man- 724 segment-routing-header-07 (work in progress)", July 2017. 726 Authors' Addresses 727 Les Ginsberg 728 Cisco Systems 729 821 Alder Drive 730 Milpitas, CA 95035 731 USA 733 Email: ginsberg@cisco.com 735 Ahmed Bashandy 736 Cisco Systems 737 170 West Tasman Dr 738 San Jose, CA 95134 739 USA 741 Email: bashandy@cisco.com 743 Clarence Filsfils 744 Cisco Systems 745 Brussels 746 Belgium 748 Email: cfilsfil@cisco.com 750 Bruno Decraene 751 Orange 752 Issy-les-Moulineaux 753 France 755 Email: bruno.decraene@orange.com