idnits 2.17.1 draft-dhody-pce-pcep-extension-pce-controller-srv6-05.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 (November 1, 2020) is 1271 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) == Outdated reference: A later version (-25) exists of draft-ietf-pce-segment-routing-ipv6-06 == Outdated reference: A later version (-14) exists of draft-ietf-pce-pcep-extension-for-pce-controller-07 == Outdated reference: A later version (-09) exists of draft-zhao-pce-pcep-extension-pce-controller-sr-07 -- Obsolete informational reference (is this intentional?): RFC 7525 (Obsoleted by RFC 9325) == Outdated reference: A later version (-13) exists of draft-ietf-teas-pcecc-use-cases-06 == Outdated reference: A later version (-23) exists of draft-ietf-pce-pcep-yang-14 == Outdated reference: A later version (-10) exists of draft-litkowski-pce-state-sync-08 == Outdated reference: A later version (-27) exists of draft-dhodylee-pce-pcep-ls-17 == Outdated reference: A later version (-28) exists of draft-ietf-spring-srv6-network-programming-24 Summary: 0 errors (**), 0 flaws (~~), 9 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 PCE Working Group Z. Li 3 Internet-Draft S. Peng 4 Intended status: Standards Track X. Geng 5 Expires: May 5, 2021 Huawei Technologies 6 M. Negi 7 RtBrick Inc 8 November 1, 2020 10 PCEP Procedures and Protocol Extensions for Using PCE as a Central 11 Controller (PCECC) for SRv6 12 draft-dhody-pce-pcep-extension-pce-controller-srv6-05 14 Abstract 16 The Path Computation Element (PCE) is a core component of Software- 17 Defined Networking (SDN) systems. It can compute optimal paths for 18 traffic across a network and can also update the paths to reflect 19 changes in the network or traffic demands. 21 PCE was developed to derive paths for MPLS Label Switched Paths 22 (LSPs), which are supplied to the head end of the LSP using the Path 23 Computation Element Communication Protocol (PCEP). But SDN has a 24 broader applicability than signaled (G)MPLS traffic-engineered (TE) 25 networks, and the PCE may be used to determine paths in a range of 26 use cases. PCEP has been proposed as a control protocol for use in 27 these environments to allow the PCE to be fully enabled as a central 28 controller. 30 A PCE-based Central Controller (PCECC) can simplify the processing of 31 a distributed control plane by blending it with elements of SDN and 32 without necessarily completely replacing it. This document specifies 33 the procedures and PCEP protocol extensions when a PCE-based 34 controller is also responsible for configuring the forwarding actions 35 on the routers for Segment Routing (SR) in IPv6 (SRv6), in addition 36 to computing the SRv6 paths for packet flows and telling the edge 37 routers what instructions to attach to packets as they enter the 38 network. 40 Status of This Memo 42 This Internet-Draft is submitted in full conformance with the 43 provisions of BCP 78 and BCP 79. 45 Internet-Drafts are working documents of the Internet Engineering 46 Task Force (IETF). Note that other groups may also distribute 47 working documents as Internet-Drafts. The list of current Internet- 48 Drafts is at https://datatracker.ietf.org/drafts/current/. 50 Internet-Drafts are draft documents valid for a maximum of six months 51 and may be updated, replaced, or obsoleted by other documents at any 52 time. It is inappropriate to use Internet-Drafts as reference 53 material or to cite them other than as "work in progress." 55 This Internet-Draft will expire on May 5, 2021. 57 Copyright Notice 59 Copyright (c) 2020 IETF Trust and the persons identified as the 60 document authors. All rights reserved. 62 This document is subject to BCP 78 and the IETF Trust's Legal 63 Provisions Relating to IETF Documents 64 (https://trustee.ietf.org/license-info) in effect on the date of 65 publication of this document. Please review these documents 66 carefully, as they describe your rights and restrictions with respect 67 to this document. Code Components extracted from this document must 68 include Simplified BSD License text as described in Section 4.e of 69 the Trust Legal Provisions and are provided without warranty as 70 described in the Simplified BSD License. 72 Table of Contents 74 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 75 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 5 76 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 77 3. PCECC SRv6 . . . . . . . . . . . . . . . . . . . . . . . . . 5 78 4. PCEP Requirements . . . . . . . . . . . . . . . . . . . . . . 6 79 5. Procedures for Using the PCE as a Central Controller (PCECC) 80 in SRv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 81 5.1. Stateful PCE Model . . . . . . . . . . . . . . . . . . . 6 82 5.2. New Functions . . . . . . . . . . . . . . . . . . . . . . 6 83 5.3. PCECC Capability Advertisement . . . . . . . . . . . . . 7 84 5.4. PCEP session IP address and TED Router ID . . . . . . . . 7 85 5.5. SRv6 Path Operations . . . . . . . . . . . . . . . . . . 7 86 5.5.1. PCECC Segment Routing in IPv6 (SRv6) . . . . . . . . 7 87 5.5.1.1. PCECC SRv6 Node/Prefix SID allocation . . . . . . 8 88 5.5.1.2. PCECC SRv6 Adjacency SID allocation . . . . . . . 8 89 5.5.1.3. Redundant PCEs . . . . . . . . . . . . . . . . . 9 90 5.5.1.4. Re-Delegation and Clean up . . . . . . . . . . . 9 91 5.5.1.5. Synchronization of SRv6 SID Allocations . . . . . 9 92 6. PCEP Messages . . . . . . . . . . . . . . . . . . . . . . . . 9 93 7. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . . . 9 94 7.1. OPEN Object . . . . . . . . . . . . . . . . . . . . . . . 9 95 7.1.1. PCECC Capability sub-TLV . . . . . . . . . . . . . . 9 96 7.2. SRv6 Path Setup . . . . . . . . . . . . . . . . . . . . . 10 97 7.3. CCI Object . . . . . . . . . . . . . . . . . . . . . . . 10 98 7.4. FEC Object . . . . . . . . . . . . . . . . . . . . . . . 11 99 8. Security Considerations . . . . . . . . . . . . . . . . . . . 12 100 9. Manageability Considerations . . . . . . . . . . . . . . . . 12 101 9.1. Control of Function and Policy . . . . . . . . . . . . . 12 102 9.2. Information and Data Models . . . . . . . . . . . . . . . 12 103 9.3. Liveness Detection and Monitoring . . . . . . . . . . . . 12 104 9.4. Verify Correct Operations . . . . . . . . . . . . . . . . 12 105 9.5. Requirements On Other Protocols . . . . . . . . . . . . . 12 106 9.6. Impact On Network Operations . . . . . . . . . . . . . . 13 107 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 108 10.1. PCECC-CAPABILITY sub-TLV . . . . . . . . . . . . . . . . 13 109 10.2. PCEP Object . . . . . . . . . . . . . . . . . . . . . . 13 110 10.3. PCEP-Error Object . . . . . . . . . . . . . . . . . . . 13 111 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13 112 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 113 12.1. Normative References . . . . . . . . . . . . . . . . . . 14 114 12.2. Informative References . . . . . . . . . . . . . . . . . 15 115 Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 18 116 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 118 1. Introduction 120 The Path Computation Element (PCE) [RFC4655] was developed to offload 121 the path computation function from routers in an MPLS traffic- 122 engineered network. Since then, the role and function of the PCE has 123 grown to cover a number of other uses (such as GMPLS [RFC7025]) and 124 to allow delegated control [RFC8231] and PCE-initiated use of network 125 resources [RFC8281]. 127 According to [RFC7399], Software-Defined Networking (SDN) refers to a 128 separation between the control elements and the forwarding components 129 so that software running in a centralized system, called a 130 controller, can act to program the devices in the network to behave 131 in specific ways. A required element in an SDN architecture is a 132 component that plans how the network resources will be used and how 133 the devices will be programmed. It is possible to view this 134 component as performing specific computations to place traffic flows 135 within the network given knowledge of the availability of network 136 resources, how other forwarding devices are programmed, and the way 137 that other flows are routed. This is the function and purpose of a 138 PCE, and the way that a PCE integrates into a wider network control 139 system (including an SDN system) is presented in [RFC7491]. 141 In early PCE implementations, where the PCE was used to derive paths 142 for MPLS Label Switched Paths (LSPs), paths were requested by network 143 elements (known as Path Computation Clients (PCCs)), and the results 144 of the path computations were supplied to network elements using the 145 Path Computation Element Communication Protocol (PCEP) [RFC5440]. 147 This protocol was later extended to allow a PCE to send unsolicited 148 requests to the network for LSP establishment [RFC8281]. 150 [RFC8283] introduces the architecture for PCE as a central controller 151 as an extension of the architecture described in [RFC4655] and 152 assumes the continued use of PCEP as the protocol used between PCE 153 and PCC. [RFC8283] further examines the motivations and 154 applicability for PCEP as a Southbound Interface (SBI), and 155 introduces the implications for the protocol. 156 [I-D.ietf-teas-pcecc-use-cases] describes the use cases for the PCE- 157 based Central Controller (PCECC) architecture. 159 [I-D.ietf-pce-pcep-extension-for-pce-controller] specify the 160 procedures and PCEP extensions for using the PCE as the central 161 controller for static LSPs, where LSPs can be provisioned as explicit 162 label instructions at each hop on the end-to-end path. 164 Segment Routing (SR) technology leverages the source routing and 165 tunneling paradigms. A source node can choose a path without relying 166 on hop-by-hop signaling protocols such as LDP or RSVP-TE. Each path 167 is specified as a set of "segments" advertised by link-state routing 168 protocols (IS-IS or OSPF). [RFC8402] provides an introduction to SR 169 architecture. The corresponding IS-IS and OSPF extensions are 170 specified in [RFC8667] and [RFC8665] , respectively. It relies on a 171 series of forwarding instructions being placed in the header of a 172 packet. The list of segments forming the path is called the Segment 173 List and is encoded in the packet header. Segment Routing can be 174 applied to the IPv6 architecture with the Segment Routing Header 175 (SRH) [RFC8754]. A segment is encoded as an IPv6 address. An 176 ordered list of segments is encoded as an ordered list of IPv6 177 addresses in the routing header. The active segment is indicated by 178 the Destination Address of the packet. Upon completion of a segment, 179 a pointer in the new routing header is incremented and indicates the 180 next segment. The segment routing architecture supports operations 181 that can be used to steer packet flows in a network, thus providing a 182 form of traffic engineering. [RFC8664] and 183 [I-D.ietf-pce-segment-routing-ipv6] specify the SR specific PCEP 184 extensions. 186 PCECC may further use PCEP for SR SID (Segment Identifier) 187 distribution on the SR nodes with some benefits. 188 [I-D.zhao-pce-pcep-extension-pce-controller-sr] specifies the 189 procedures and PCEP extensions when a PCE-based controller is also 190 responsible for configuring the forwarding actions on the routers 191 (SR-MPLS SID distribution in this case), in addition to computing the 192 paths for packet flows in a segment routing network and telling the 193 edge routers what instructions to attach to packets as they enter the 194 network. This document extends this to include SRv6 SID distribution 195 as well. 197 1.1. Requirements Language 199 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 200 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 201 "OPTIONAL" in this document are to be interpreted as described in BCP 202 14 [RFC2119] [RFC8174] when, and only when, they appear in all 203 capitals, as shown here. 205 2. Terminology 207 Terminologies used in this document is the same as described in the 208 draft [RFC8283] and [I-D.ietf-teas-pcecc-use-cases]. 210 3. PCECC SRv6 212 [RFC8664] specifies extensions to PCEP that allow a stateful PCE to 213 compute, update, or initiate SR-TE paths for MPLS dataplane. An 214 ingress node of an SR-TE path appends all outgoing packets with a 215 list of MPLS labels (SIDs). This is encoded in SR-ERO subobject, 216 capable of carrying a label (SID) as well as the identity of the 217 node/adjacency label (SID). [I-D.ietf-pce-segment-routing-ipv6] 218 extends the procedure to include support for SRv6 paths. 220 As per [RFC8754], an SRv6 Segment is a 128-bit value. "SRv6 SID" or 221 simply "SID" are often used as a shorter reference for "SRv6 222 Segment". Further details are in an illustration provided in 223 [I-D.ietf-spring-srv6-network-programming]. The SR is applied to 224 IPV6 data plane using SRH. An SR path can be derived from an IGP 225 Shortest Path Tree (SPT), but SR-TE paths may not follow IGP SPT. 226 Such paths may be chosen by a suitable network planning tool, or a 227 PCE and provisioned on the ingress node. 228 [I-D.ietf-pce-segment-routing-ipv6] specify the SRv6-ERO subobject 229 capable of carrying an SRv6 SID as well as the identity of the node/ 230 adjacency represented by the SID. 232 As per [RFC8283], PCECC can allocate and provision the node/prefix/ 233 adjacency label (SID) via PCEP. As per 234 [I-D.ietf-teas-pcecc-use-cases] this is also applicable to SRv6 SIDs. 236 The rest of the processing is similar to existing stateful PCE for 237 SRv6 [I-D.ietf-pce-segment-routing-ipv6]. 239 4. PCEP Requirements 241 Following key requirements for PCECC-SRv6 should be considered when 242 designing the PCECC-based solution: 244 o A PCEP speaker supporting this draft needs to have the capability 245 to advertise its PCECC-SRv6 capability to its peers. 247 o PCEP procedures need to allow for PCC-based SRv6 SID allocations. 249 o PCEP procedures need means to update (or clean up) the SRv6 SID to 250 the PCC. 252 o PCEP procedures need to provide a mean to synchronize the SRv6 SID 253 allocations between the PCE to the PCC in the PCEP messages. 255 5. Procedures for Using the PCE as a Central Controller (PCECC) in SRv6 257 5.1. Stateful PCE Model 259 Active stateful PCE is described in [RFC8231]. PCE as a Central 260 Controller (PCECC) reuses the existing active stateful PCE mechanism 261 as much as possible to control the LSPs. 263 5.2. New Functions 265 This document uses the same PCEP messages and its extensions which 266 are described in [I-D.ietf-pce-pcep-extension-for-pce-controller] and 267 [I-D.zhao-pce-pcep-extension-pce-controller-sr] for PCECC-SRv6 as 268 well. 270 The PCEP messages PCRpt, PCInitiate, PCUpd are used to send LSP 271 Reports, LSP setup, and LSP update respectively. The extended 272 PCInitiate message described in 273 [I-D.ietf-pce-pcep-extension-for-pce-controller] is used to download 274 or clean up central controller's instructions (CCIs) (SRv6 SID in the 275 scope of this document). The extended PCRpt message described in 276 [I-D.ietf-pce-pcep-extension-for-pce-controller] is also used to 277 report the CCIs (SRv6 SIDs) from PCC to PCE. 279 [I-D.ietf-pce-pcep-extension-for-pce-controller] specify an object 280 called CCI for the encoding of the central controller's instructions. 281 [I-D.zhao-pce-pcep-extension-pce-controller-sr] defined a CCI object- 282 type for segment routing. This document further defines a new CCI 283 object-type for SRv6. 285 5.3. PCECC Capability Advertisement 287 During PCEP Initialization Phase, PCEP Speakers (PCE or PCC) 288 advertise their support of PCECC extensions. A PCEP Speaker includes 289 the "PCECC Capability" sub-TLV, described in 290 [I-D.ietf-pce-pcep-extension-for-pce-controller]. 292 A new S-bit is added in the PCECC-CAPABILITY sub-TLV to indicate 293 support for PCECC-SR in 294 [I-D.zhao-pce-pcep-extension-pce-controller-sr]. This document adds 295 another I-bit to indicate support for SR in IPv6. A PCC MUST set the 296 I-bit in the PCECC-CAPABILITY sub-TLV and include the SRv6-PCE- 297 CAPABILITY sub-TLV ([I-D.ietf-pce-segment-routing-ipv6]) in the OPEN 298 Object (inside the PATH-SETUP-TYPE-CAPABILITY TLV) to support the 299 PCECC SRv6 extensions defined in this document. If I-bit is set in 300 PCECC-CAPABILITY sub-TLV and the SRv6-PCE-CAPABILITY sub-TLV is not 301 advertised in the OPEN Object, PCE SHOULD send a PCErr message with 302 Error-Type=19 (Invalid Operation) and Error-value=TBD4 (SRv6 303 capability was not advertised) and terminate the session. 305 The rest of the processing is as per 306 [I-D.ietf-pce-pcep-extension-for-pce-controller]. 308 5.4. PCEP session IP address and TED Router ID 310 As described in [I-D.zhao-pce-pcep-extension-pce-controller-sr], it 311 is important to link the session IP address with the Router ID in TED 312 for successful PCECC-SRv6 operations. 314 5.5. SRv6 Path Operations 316 [RFC8664] specify the PCEP extension to allow a stateful PCE to 317 compute and initiate SR-TE paths, as well as a PCC to request a path 318 subject to certain constraint(s) and optimization criteria in SR 319 networks. [I-D.ietf-pce-segment-routing-ipv6] extends it to support 320 SRv6. 322 The Path Setup Type for SRv6 (PST=TBD) is used on the PCEP session 323 with the Ingress as per [I-D.ietf-pce-segment-routing-ipv6]. 325 5.5.1. PCECC Segment Routing in IPv6 (SRv6) 327 Segment Routing (SR) as described in [RFC8402] depends on "segments" 328 that are advertised by Interior Gateway Protocols (IGPs). The SR- 329 node allocates and advertises the SID (node, adj, etc) and floods 330 them via the IGP. This document proposes a new mechanism where PCE 331 allocates the SRv6 SID centrally and uses PCEP to advertise them. In 332 some deployments, PCE (and PCEP) are better suited than IGP because 333 of the centralized nature of PCE and direct TCP based PCEP sessions 334 to the node. 336 5.5.1.1. PCECC SRv6 Node/Prefix SID allocation 338 Each node (PCC) is allocated a node SRv6 SID by the PCECC. The PCECC 339 sends the PCInitiate message to update the SRv6 SID table of each 340 node. The TE router ID is determined from the TED or from "IPv4/IPv6 341 Router-ID" Sub-TLV [I-D.dhodylee-pce-pcep-ls], in the OPEN Object. 343 On receiving the SRv6 node SID allocation, each node (PCC) uses the 344 local routing information to determine the next-hop and download the 345 forwarding instructions accordingly. The PCInitiate message uses the 346 FEC object [I-D.zhao-pce-pcep-extension-pce-controller-sr]. 348 On receiving the SRv6 node SID allocation: 350 For the local SID, the node (PCC) needs to update SID with 351 associated function (END function in this case) in "My Local SID 352 Table" ([I-D.ietf-spring-srv6-network-programming]). 354 For the non-local SID, the node (PCC) uses the local routing 355 information to determine the next-hop and download the forwarding 356 instructions accordingly. 358 The forwarding behavior and the end result is similar to IGP based 359 "Node-SID" in SRv6. Thus, from anywhere in the domain, it enforces 360 the ECMP-aware shortest-path forwarding of the packet towards the 361 related node as per [RFC8402]. 363 PCE relies on the Node/Prefix SRv6 SID clean up using the same 364 PCInitiate message as per [RFC8281]. 366 5.5.1.2. PCECC SRv6 Adjacency SID allocation 368 For PCECC-SRv6, apart from node-SID, Adj-SID is used where each 369 adjacency is allocated an Adj-SID by the PCECC. The PCECC sends 370 PCInitiate message to update the SRv6 SID entry for each adjacency to 371 the corresponding nodes in the domain. Each node (PCC) download the 372 SRv6 SID instructions accordingly. Similar to SRv6 Node/Prefix Label 373 allocation, the PCInitiate message in this case uses the FEC object. 375 The forwarding behavior and the end result is similar to IGP based 376 "Adj-SID" in SRv6 as per [RFC8402]. 378 The handling of adjacencies on the LAN subnetworks is specified in 379 [RFC8402]. PCECC MUST assign Adj-SID for every pair of routers in 380 the LAN. The rest of the protocol mechanism remains the same. 382 PCE relies on the Adj label clean up using the same PCInitiate 383 message as per [RFC8281]. 385 5.5.1.3. Redundant PCEs 387 [I-D.litkowski-pce-state-sync] describes the synchronization 388 mechanism between the stateful PCEs. The SRv6 SIDs allocated by a 389 PCE MUST also be synchronized among PCEs for PCECC-SRv6 state 390 synchronization. Note that the SRv6 SIDs are independent of the SRv6 391 paths, and remains intact till any topology change. The redundant 392 PCEs MUST have a common view of all SRv6 SIDs allocated in the 393 domain. 395 5.5.1.4. Re-Delegation and Clean up 397 [I-D.ietf-pce-pcep-extension-for-pce-controller] describes the action 398 needed for CCIs for the static LSPs on a terminated session. Same 399 holds true for the CCI for SRv6 SID as well. 401 5.5.1.5. Synchronization of SRv6 SID Allocations 403 [I-D.ietf-pce-pcep-extension-for-pce-controller] describes the 404 synchronization of Central Controller's Instructions (CCI) via the 405 LSP state synchronization as described in [RFC8231] and [RFC8232]. 406 Same procedures are applied for the CCI for the SRv6 SIDs as well. 408 6. PCEP Messages 410 The PCEP messages are as per 411 [I-D.zhao-pce-pcep-extension-pce-controller-sr]. 413 7. PCEP Objects 415 7.1. OPEN Object 417 7.1.1. PCECC Capability sub-TLV 419 [I-D.ietf-pce-pcep-extension-for-pce-controller] defined the PCECC- 420 CAPABILITY sub-TLV. 422 A new I-bit is defined in PCECC-CAPABILITY sub-TLV for PCECC-SRv6: 424 0 1 2 3 425 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 426 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 427 | Type=TBD | Length=4 | 428 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 429 | Flags |I|S|L| 430 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 432 [Editor's Note - The above figure is included for ease of the reader 433 but should be removed before publication.] 435 I (PCECC-SRv6-CAPABILITY - 1 bit - TBD1): If set to 1 by a PCEP 436 speaker, it indicates that the PCEP speaker is capable of PCECC-SRv6 437 capability and the PCE allocates the Node and Adj SRv6 SID on this 438 session. 440 7.2. SRv6 Path Setup 442 The PATH-SETUP-TYPE TLV is defined in [RFC8408]. A PST value of TBD 443 is used when Path is setup via SRv6 mode as per 444 [I-D.ietf-pce-segment-routing-ipv6]. The procedure for SRv6 path 445 setup as specified in [I-D.ietf-pce-segment-routing-ipv6] remians 446 unchanged. 448 7.3. CCI Object 450 The Central Control Instructions (CCI) Object is used by the PCE to 451 specify the cntroller instructions is defined in 452 [I-D.ietf-pce-pcep-extension-for-pce-controller]. This document 453 defines another object-type for SRv6 purpose. 455 CCI Object-Type is TBD3 for SRv6 as below - 456 0 1 2 3 457 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 458 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 459 | CC-ID | 460 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 461 | MT-ID | Algorithm | Flags |B|P|G|C|N|E|V|L| 462 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 463 | Reserved | SRv6 Endpoint Function | 464 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 465 | | 466 | SRv6 Identifier | 467 | (128-bit) | 468 | | 469 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 470 | | 471 // Optional TLV // 472 | | 473 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 475 The field CC-ID is as described in 476 [I-D.ietf-pce-pcep-extension-for-pce-controller]. The field MT-ID, 477 Algorithm, Flags are defined in 478 [I-D.zhao-pce-pcep-extension-pce-controller-sr]. 480 Reserved: MUST be set to 0 while sending and ignored on receipt. 482 SRv6 Endpoint Function: 16-bit field representing supported functions 483 associated with SRv6 SIDs. 485 SRv6 Identifier: 128-bit IPv6 addresses representing SRv6 segment. 487 [Editor's Note - It might be useful to separate the LOC:FUNC part in 488 the SRv6 SID (future study)] 490 7.4. FEC Object 492 The FEC Object is used to specify the FEC information and MAY be 493 carried within PCInitiate or PCRpt message. 495 FEC Object (and various Object-Types) are described in 496 [I-D.zhao-pce-pcep-extension-pce-controller-sr]. SRv6 Node SID MUST 497 includes the FEC Object-Type 2 for IPv6 Node. SRv6 Adjacency SID 498 MUST include the FEC Object-Type=4 for IPv6 adjacency. Further FEC 499 object types could be added in future extensions. 501 8. Security Considerations 503 The security considerations described in 504 [I-D.ietf-pce-pcep-extension-for-pce-controller] apply to the 505 extensions described in this document. 507 As per [RFC8231], it is RECOMMENDED that these PCEP extensions only 508 be activated on authenticated and encrypted sessions across PCEs and 509 PCCs belonging to the same administrative authority, using Transport 510 Layer Security (TLS) [RFC8253] as per the recommendations and best 511 current practices in [RFC7525] (unless explicitly set aside in 512 [RFC8253]). 514 9. Manageability Considerations 516 9.1. Control of Function and Policy 518 A PCE or PCC implementation SHOULD allow to configure to enable/ 519 disable PCECC SRv6 capability as a global configuration. 521 9.2. Information and Data Models 523 [RFC7420] describes the PCEP MIB, this MIB can be extended to get the 524 PCECC SRv6 capability status. 526 The PCEP YANG module [I-D.ietf-pce-pcep-yang] could be extended to 527 enable/disable PCECC SRv6 capability. 529 9.3. Liveness Detection and Monitoring 531 Mechanisms defined in this document do not imply any new liveness 532 detection and monitoring requirements in addition to those already 533 listed in [RFC5440]. 535 9.4. Verify Correct Operations 537 Mechanisms defined in this document do not imply any new operation 538 verification requirements in addition to those already listed in 539 [RFC5440] and [RFC8231]. 541 9.5. Requirements On Other Protocols 543 PCEP extensions defined in this document do not put new requirements 544 on other protocols. 546 9.6. Impact On Network Operations 548 PCEP implementation SHOULD allow a limit to be placed on the rate of 549 PCInitiate/PCUpd messages (as per [RFC8231]) sent by PCE and 550 processed by PCC. It SHOULD also allow sending a notification when a 551 rate threshold is reached. 553 10. IANA Considerations 555 10.1. PCECC-CAPABILITY sub-TLV 557 [I-D.ietf-pce-pcep-extension-for-pce-controller] defines the PCECC- 558 CAPABILITY sub-TLV and requests that IANA creates a registry to 559 manage the value of the PCECC-CAPABILITY sub-TLV's Flag field. IANA 560 is requested to allocate a new bit in the PCECC-CAPABILITY sub-TLV 561 Flag Field registry, as follows: 563 Bit Description Reference 564 TBD1 SRv6 This document 566 10.2. PCEP Object 568 IANA is requested to allocate a new code-point for the new CCI 569 object-type in "PCEP Objects" sub-registry as follows: 571 Object-Class Value Name Object-Type Reference 572 TBD CCI 573 TBD3: SRv6 This document 575 10.3. PCEP-Error Object 577 IANA is requested to allocate new error types and error values within 578 the "PCEP-ERROR Object Error Types and Values" sub-registry of the 579 PCEP Numbers registry for the following errors: 581 Error-Type Meaning 582 ---------- ------- 583 19 Invalid operation. 585 Error-value = TBD4 : SRv6 capability was 586 not advertised 588 11. Acknowledgments 589 12. References 591 12.1. Normative References 593 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 594 Requirement Levels", BCP 14, RFC 2119, 595 DOI 10.17487/RFC2119, March 1997, 596 . 598 [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation 599 Element (PCE) Communication Protocol (PCEP)", RFC 5440, 600 DOI 10.17487/RFC5440, March 2009, 601 . 603 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 604 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 605 May 2017, . 607 [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path 608 Computation Element Communication Protocol (PCEP) 609 Extensions for Stateful PCE", RFC 8231, 610 DOI 10.17487/RFC8231, September 2017, 611 . 613 [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path 614 Computation Element Communication Protocol (PCEP) 615 Extensions for PCE-Initiated LSP Setup in a Stateful PCE 616 Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, 617 . 619 [RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., 620 and J. Hardwick, "Path Computation Element Communication 621 Protocol (PCEP) Extensions for Segment Routing", RFC 8664, 622 DOI 10.17487/RFC8664, December 2019, 623 . 625 [I-D.ietf-pce-segment-routing-ipv6] 626 Li, C., Negi, M., Koldychev, M., Kaladharan, P., and Y. 627 Zhu, "PCEP Extensions for Segment Routing leveraging the 628 IPv6 data plane", draft-ietf-pce-segment-routing-ipv6-06 629 (work in progress), July 2020. 631 [I-D.ietf-pce-pcep-extension-for-pce-controller] 632 Li, Z., Peng, S., Negi, M., Zhao, Q., and C. Zhou, "PCEP 633 Procedures and Protocol Extensions for Using PCE as a 634 Central Controller (PCECC) of LSPs", draft-ietf-pce-pcep- 635 extension-for-pce-controller-07 (work in progress), 636 September 2020. 638 [I-D.zhao-pce-pcep-extension-pce-controller-sr] 639 Li, Z., Peng, S., Negi, M., Zhao, Q., and C. Zhou, "PCEP 640 Procedures and Protocol Extensions for Using PCE as a 641 Central Controller (PCECC) of SR-LSPs", draft-zhao-pce- 642 pcep-extension-pce-controller-sr-07 (work in progress), 643 July 2020. 645 12.2. Informative References 647 [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation 648 Element (PCE)-Based Architecture", RFC 4655, 649 DOI 10.17487/RFC4655, August 2006, 650 . 652 [RFC7025] Otani, T., Ogaki, K., Caviglia, D., Zhang, F., and C. 653 Margaria, "Requirements for GMPLS Applications of PCE", 654 RFC 7025, DOI 10.17487/RFC7025, September 2013, 655 . 657 [RFC7399] Farrel, A. and D. King, "Unanswered Questions in the Path 658 Computation Element Architecture", RFC 7399, 659 DOI 10.17487/RFC7399, October 2014, 660 . 662 [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. 663 Hardwick, "Path Computation Element Communication Protocol 664 (PCEP) Management Information Base (MIB) Module", 665 RFC 7420, DOI 10.17487/RFC7420, December 2014, 666 . 668 [RFC7491] King, D. and A. Farrel, "A PCE-Based Architecture for 669 Application-Based Network Operations", RFC 7491, 670 DOI 10.17487/RFC7491, March 2015, 671 . 673 [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, 674 "Recommendations for Secure Use of Transport Layer 675 Security (TLS) and Datagram Transport Layer Security 676 (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May 677 2015, . 679 [RFC8232] Crabbe, E., Minei, I., Medved, J., Varga, R., Zhang, X., 680 and D. Dhody, "Optimizations of Label Switched Path State 681 Synchronization Procedures for a Stateful PCE", RFC 8232, 682 DOI 10.17487/RFC8232, September 2017, 683 . 685 [RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody, 686 "PCEPS: Usage of TLS to Provide a Secure Transport for the 687 Path Computation Element Communication Protocol (PCEP)", 688 RFC 8253, DOI 10.17487/RFC8253, October 2017, 689 . 691 [RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An 692 Architecture for Use of PCE and the PCE Communication 693 Protocol (PCEP) in a Network with Central Control", 694 RFC 8283, DOI 10.17487/RFC8283, December 2017, 695 . 697 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 698 Decraene, B., Litkowski, S., and R. Shakir, "Segment 699 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 700 July 2018, . 702 [RFC8408] Sivabalan, S., Tantsura, J., Minei, I., Varga, R., and J. 703 Hardwick, "Conveying Path Setup Type in PCE Communication 704 Protocol (PCEP) Messages", RFC 8408, DOI 10.17487/RFC8408, 705 July 2018, . 707 [RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler, 708 H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF 709 Extensions for Segment Routing", RFC 8665, 710 DOI 10.17487/RFC8665, December 2019, 711 . 713 [RFC8667] Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C., 714 Bashandy, A., Gredler, H., and B. Decraene, "IS-IS 715 Extensions for Segment Routing", RFC 8667, 716 DOI 10.17487/RFC8667, December 2019, 717 . 719 [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., 720 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 721 (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, 722 . 724 [I-D.ietf-teas-pcecc-use-cases] 725 Li, Z., Khasanov, B., Dhody, D., Zhao, Q., Ke, Z., Fang, 726 L., Zhou, C., Communications, T., Rachitskiy, A., and A. 727 Gulida, "The Use Cases for Path Computation Element (PCE) 728 as a Central Controller (PCECC).", draft-ietf-teas-pcecc- 729 use-cases-06 (work in progress), September 2020. 731 [I-D.ietf-pce-pcep-yang] 732 Dhody, D., Hardwick, J., Beeram, V., and J. Tantsura, "A 733 YANG Data Model for Path Computation Element 734 Communications Protocol (PCEP)", draft-ietf-pce-pcep- 735 yang-14 (work in progress), July 2020. 737 [I-D.litkowski-pce-state-sync] 738 Litkowski, S., Sivabalan, S., Li, C., and H. Zheng, "Inter 739 Stateful Path Computation Element (PCE) Communication 740 Procedures.", draft-litkowski-pce-state-sync-08 (work in 741 progress), July 2020. 743 [I-D.dhodylee-pce-pcep-ls] 744 Dhody, D., Peng, S., Lee, Y., Ceccarelli, D., and A. Wang, 745 "PCEP extensions for Distribution of Link-State and TE 746 Information", draft-dhodylee-pce-pcep-ls-17 (work in 747 progress), July 2020. 749 [I-D.ietf-spring-srv6-network-programming] 750 Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., 751 Matsushima, S., and Z. Li, "SRv6 Network Programming", 752 draft-ietf-spring-srv6-network-programming-24 (work in 753 progress), October 2020. 755 Appendix A. Contributor Addresses 757 Dhruv Dhody 758 Huawei Technologies 759 Divyashree Techno Park, Whitefield 760 Bangalore, Karnataka 560066 761 India 763 EMail: dhruv.ietf@gmail.com 765 Authors' Addresses 767 Zhenbin Li 768 Huawei Technologies 769 Huawei Bld., No.156 Beiqing Rd. 770 Beijing 100095 771 China 773 EMail: lizhenbin@huawei.com 775 Shuping Peng 776 Huawei Technologies 777 Huawei Bld., No.156 Beiqing Rd. 778 Beijing 100095 779 China 781 EMail: pengshuping@huawei.com 783 Xuesong Geng 784 Huawei Technologies 785 China 787 EMail: gengxuesong@huawei.com 789 Mahendra Singh Negi 790 RtBrick Inc 791 N-17L, 18th Cross Rd, HSR Layout 792 Bangalore, Karnataka 560102 793 India 795 EMail: mahend.ietf@gmail.com