idnits 2.17.1 draft-palle-pce-controller-labeldb-sync-00.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 : ---------------------------------------------------------------------------- ** The abstract seems to contain references ([I-D.zhao-teas-pce-control-function], [I-D.zhao-pce-pcep-extension-for-pce-controller]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (May 15, 2016) is 2875 days in the past. Is this intentional? Checking references for intended status: Experimental ---------------------------------------------------------------------------- == Missing Reference: 'TBD3' is mentioned on line 588, but not defined == Outdated reference: A later version (-21) exists of draft-ietf-pce-stateful-pce-14 == Outdated reference: A later version (-08) exists of draft-zhao-pce-pcep-extension-for-pce-controller-03 == Outdated reference: A later version (-01) exists of draft-zhao-teas-pce-control-function-00 == Outdated reference: A later version (-11) exists of draft-ietf-pce-pce-initiated-lsp-05 == Outdated reference: A later version (-10) exists of draft-ietf-pce-stateful-sync-optimizations-05 Summary: 1 error (**), 0 flaws (~~), 7 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 PCE Working Group U. Palle 3 Internet-Draft D. Dhody 4 Intended status: Experimental Huawei Technologies 5 Expires: November 16, 2016 May 15, 2016 7 LABEL-DB Synchronization Procedures for a PCE as a central 8 controller(PCECC) 9 draft-palle-pce-controller-labeldb-sync-00 11 Abstract 13 [I-D.zhao-pce-pcep-extension-for-pce-controller] specify the 14 procedures and PCEP protocol extensions for using the PCE as the 15 central controller [I-D.zhao-teas-pce-control-function] where LSPs 16 are calculated/setup/initiated and label forwarding entries are 17 downloaded through a centralized PCE server to each network devices 18 along the LSP path while leveraging the existing PCE technologies as 19 much as possible. 21 Labels downloaded to forwarding entries requires a reliable 22 synchronization mechanism between the path computation clients (PCCs) 23 and the PCECC. This draft specify the label database synchronization 24 mechanism for managing of label database (LABEL-DB) at node (PCC) 25 aligning with LABEL-DB at PCECC on initial session UP or session flap 26 and specifies the required Path Computation Element Communication 27 Protocol (PCEP) extensions. 29 Status of This Memo 31 This Internet-Draft is submitted in full conformance with the 32 provisions of BCP 78 and BCP 79. 34 Internet-Drafts are working documents of the Internet Engineering 35 Task Force (IETF). Note that other groups may also distribute 36 working documents as Internet-Drafts. The list of current Internet- 37 Drafts is at http://datatracker.ietf.org/drafts/current/. 39 Internet-Drafts are draft documents valid for a maximum of six months 40 and may be updated, replaced, or obsoleted by other documents at any 41 time. It is inappropriate to use Internet-Drafts as reference 42 material or to cite them other than as "work in progress." 44 This Internet-Draft will expire on November 16, 2016. 46 Copyright Notice 48 Copyright (c) 2016 IETF Trust and the persons identified as the 49 document authors. All rights reserved. 51 This document is subject to BCP 78 and the IETF Trust's Legal 52 Provisions Relating to IETF Documents 53 (http://trustee.ietf.org/license-info) in effect on the date of 54 publication of this document. Please review these documents 55 carefully, as they describe your rights and restrictions with respect 56 to this document. Code Components extracted from this document must 57 include Simplified BSD License text as described in Section 4.e of 58 the Trust Legal Provisions and are provided without warranty as 59 described in the Simplified BSD License. 61 Table of Contents 63 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 64 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 65 2. LABEL-DB Synchronization . . . . . . . . . . . . . . . . . . 3 66 3. Full LABEL-DB Synchronization procedure . . . . . . . . . . . 3 67 4. Optimizations for LABEL-DB Synchronization . . . . . . . . . 6 68 4.1. LABEL-DB Synchronization Avoidance Procedure . . . . . . 6 69 4.2. Incremental LABEL-DB Synchronization Procedure . . . . . 10 70 5. PCEP Extensions . . . . . . . . . . . . . . . . . . . . . . . 12 71 5.1. Extension of SRP object . . . . . . . . . . . . . . . . . 12 72 5.2. Extension of PCECC Capability TLV . . . . . . . . . . . . 13 73 5.3. New LABEL-DB-VERSION TLV . . . . . . . . . . . . . . . . 13 74 6. Manageability Considerations . . . . . . . . . . . . . . . . 14 75 7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 76 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 77 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 78 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 79 10.1. Normative References . . . . . . . . . . . . . . . . . . 14 80 10.2. Informative References . . . . . . . . . . . . . . . . . 15 81 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 83 1. Introduction 85 [I-D.zhao-pce-pcep-extension-for-pce-controller] specify the 86 procedures and PCEP protocol extensions for using the PCE as the 87 central controller [I-D.zhao-teas-pce-control-function] and user 88 cases where LSPs are calculated/setup/initiated/downloaded through 89 extending the existing PCE architectures and PCEP. 91 Labels downloaded to forwarding entries requires a reliable 92 synchronization mechanism between the path computation clients (PCCs) 93 and the PCECC. This draft specify the PCECC maintenance of label 94 database per session, and describes the label database(LABEL-DB) 95 synchronization mechanism for managing of label database at node 96 (PCC) aligning with label database at PCECC on initial session UP or 97 session flap and specifies the required Path Computation Element 98 Communication Protocol (PCEP) extensions. 100 This draft specify the optimizations for LABEL-DB synchronization and 101 the corresponding PCEP procedures and extensions. 103 1.1. Requirements Language 105 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 106 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 107 document are to be interpreted as described in [RFC2119]. 109 2. LABEL-DB Synchronization 111 PCECC MUST maintains the LABEL-DB for each PCEP session separately. 112 The purpose of LABEL-DB synchronization is to make sure that the 113 PCECC's view of LABEL-DB matches with the PCC's LABEL-DB. The LABEL- 114 DB synchronization MUST be performed from PCECC to PCC immediately 115 after the LSP state synchronization. [I-D.ietf-pce-stateful-pce] 116 describes the basic mechanism for LSP state synchronization. 117 [I-D.ietf-pce-stateful-sync-optimizations] describes the 118 optimizations for LSP state synchronization. 120 By default a Full LABEL-DB is performed from PCECC to PCC on Initial 121 session UP or every session flap. see Section 3 for detail 122 procedures. 124 But a Full LABEL-DB synchronization is not always necessary following 125 a PCEP session restart and providing an Optimizations for LABEL-DB 126 synchronization can result in significant savings in both control- 127 plane data exchanges and the time it takes for the PCC to become 128 fully operational. 130 Optimizations for LABEL-DB synchronization describes the need that 131 both PCEP speakers support label database version capability and 132 maintain label database version for each session. See Section 4 for 133 detail procedures. 135 3. Full LABEL-DB Synchronization procedure 137 During Full LABEL-DB Synchronization, a PCECC first takes a snapshot 138 of the label database for the session, then sends this snapshot to 139 the PCC in a sequence of Label Update message (PCLabelUpd message 140 defined in [I-D.zhao-pce-pcep-extension-for-pce-controller]). Each 141 PCLabelUpd message sent during LABEL-DB Synchronization has the SYNC 142 Flag in the SRP Object(see Section 5.1) set to 1. 144 The end of synchronization marker is a PCLabelUpd message with the 145 SYNC Flag set to 0 for SRP Object with Label equal to reserved value 146 0 in the LABEL object 147 ([I-D.zhao-pce-pcep-extension-for-pce-controller]). If the PCECC has 148 no label to synchronize, it will only send the end of synchronization 149 marker. 151 A PCECC SHOULD NOT send PCUpd messages to a PCC before LABEL-DB 152 Synchronization is complete. 154 Either the PCECC or the PCC MAY terminate the session using the PCEP 155 session termination procedures during the LABEL-DB synchronization 156 phase. If the session is terminated, the PCC MUST clean up label(s) 157 it received from this PCECC. The session reestablishment MUST be re- 158 attempted as per the procedures defined in [RFC5440], including use 159 of a back-off timer. 161 The PCC does not send positive acknowledgements for properly received 162 label database synchronization messages. It MUST respond with a 163 PCErr message with Error-type TBD1 (Label Database Synchronization 164 Error) and Error-value 1 (indicating an error in processing the 165 PCLabelUpd) if it encounters a problem with the Label Update it 166 received from the PCECC and it MUST terminate the session. 168 If the PCECC encounters a problem which prevents it from completing 169 the label transfer, it MUST send a PCErr message with Error-type TBD1 170 (Label Database Synchronization Error) and Error-value 2 (indicating 171 an internal PCECC Error) to the PCC and terminate the session. 173 The successful LABEL-DB Synchronization sequence is shown in 174 Figure 1. 176 +-+-+-+ +-+-+ 177 |PCECC| |PCC| 178 +-+-+-+ +-+-+ 179 | | 180 |-----PCLabelUpd, SYNC=1----->| (Sync start) 181 | | 182 |-----PCLabelUpd, SYNC=1----->| 183 | . | 184 | . | 185 | . | 186 |-----PCLabelUpd, SYNC=1----->| 187 | . | 188 | . | 189 | . | 190 | | 191 |-----PCLabelUpd, SYNC=0----->| (End of sync marker 192 | | Label Update 193 | | LABEL=0) 194 | | (Sync done) 196 Figure 1: Successful LABEL-DB synchronization 198 The sequence where the PCC fails during the LABEL-DB Synchronization 199 phase is shown in Figure 2. 201 +-+-+-+ +-+-+ 202 |PCECC| |PCC| 203 +-+-+-+ +-+-+ 204 | | 205 |--------PCLabelUpd, SYNC=1----->| (Sync start) 206 | | 207 |--------PCLabelUpd, SYNC=1----->| 208 | . | 209 | . | 210 | . | 211 |--------PCLabelUpd, SYNC=1----->| 212 | | 213 |---PCLabelUpd, SYNC=1 | 214 | \ ,----PCErr ----| 215 | \ / | 216 | \/ | 217 | /\ | 218 | / `------------->| (Ignored) 219 |<-----------` | 221 Figure 2: Failed LABEL-DB synchronization(PCC failure) 223 The sequence where the PCECC fails during the LABEL-DB 224 Synchronization phase is shown in Figure 3. 226 +-+-+-+ +-+-+ 227 |PCECC| |PCC| 228 +-+-+-+ +-+-+ 229 | | 230 |-----PCLabelUpd, SYNC=1----->| (Sync start) 231 | | 232 |-----PCLabelUpd, SYNC=1----->| 233 | . | 234 | . | 235 | . | 236 |----------- PCErr=? -------->| 237 | | 239 Figure 3: Failed LABEL-DB synchronization(PCECC failure) 241 4. Optimizations for LABEL-DB Synchronization 243 This section add some of the optimization mechanisms for LABEL-DB 244 synchronization. By default, the full LABEL-DB synchronization is 245 performed. 247 4.1. LABEL-DB Synchronization Avoidance Procedure 249 The LABEL-DB synchronization MAY be skipped following a PCEP session 250 restart if there is no change in the LABEL-DB of the session at 251 PCECC, during the period prior to session re-initialization. To be 252 able to make this determination, labels must be exchanged and 253 maintained by both PCECC and PCC during normal operation. This is 254 accomplished by keeping track of the changes to the label database, 255 using a version tracking field called the Label Database Version 256 Number. 258 The Label Database Version Number, carried in LABEL-DB-VERSION TLV 259 (see Section 5.3), is owned by a PCECC and it MUST be incremented by 260 1 for each successive change in the PCECC's label database. The 261 Label Database Version Number MUST start at 1 and may wrap around. 262 Values 0 and 0xFFFFFFFFFFFFFFFF are reserved. If either of the two 263 values are used during LABEL-DB synchronization, the PCC speaker 264 receiving this node should send back a PCErr with Error-type TBD1 265 Error-value 3 'Received an invalid Label Database Version Number', 266 and close the PCEP session. Operations that trigger a change to the 267 Label database include an addition or deletion of labels that would 268 trigger a label update to the PCC. 270 LABEL-DB synchronization avoidance is advertised on a PCEP session 271 during session startup using the INCLUDE-LABEL-DB-VERSION (I) bit in 272 the PCECC capability TLV (see Section 5.2). The PCEP peer MAY 273 include the SPEAKER-ENTITY-ID TLV described in 274 [I-D.ietf-pce-stateful-sync-optimizations] in the OPEN message to 275 identify the peer in case of IP address change. 277 If both PCEP speakers set the I flag in the OPEN object's PCECC 278 Capability TLV to 1, the PCECC MUST include the LABEL-DB-VERSION TLV 279 in each LABEL object of the PCLabelUpd message. If the LABEL-DB- 280 VERSION TLV is missing in a PCLabelUpd message, the PCC will generate 281 an error with Error-Type 6 (mandatory object missing) and Error-Value 282 TBD2 'LABEL-DB-VERSION TLV missing' and close the session. If LABEL- 283 DB synchronization avoidance has not been enabled on a PCEP session, 284 the PCECC SHOULD NOT include the LABEL-DB-VERSION TLV in the LABEL 285 Object and the PCC SHOULD ignore it were it to receive one. 287 If a PCC's label database survived the restart of a PCEP session, the 288 PCC will include the LABEL-DB-VERSION TLV in its OPEN object, and the 289 TLV will contain the last Label Database Version Number received on 290 an Label Update from the PCECC in the previous PCEP session. If a 291 PCECC's Label Database survived the restart of a PCEP session, the 292 PCECC will include the LABEL-DB-VERSION TLV in its OPEN object and 293 the TLV will contain the latest Label Database Version Number. If a 294 PCEP speaker's label database did not survive the restart of a PCEP 295 session, the PCEP speaker MUST NOT include the LABEL-DB-VERSION TLV 296 in the OPEN object. 298 If both PCEP speakers include the LABEL-DB-VERSION TLV in the OPEN 299 Object and the TLV values match, the PCECC MAY skip LABEL-DB 300 synchronization. Otherwise, the PCECC MUST perform full LABEL-DB 301 synchronization (see Section 3) or incremental LABEL-DB 302 synchronization (see Section 4.2) to the PCC, Incase, the PCECC 303 attempts to skip LABEL-DB synchronization, by setting the SYNC Flag 304 to 0 on the first Label Update from the PCECC, the PCC MUST send back 305 a PCErr with Error-type TBD1 (Label Database Synchronization Error) 306 and Error-value 4(Label Database Version mismatch), and close the 307 PCEP session. 309 If LABEL-DB synchronization is required, then prior to completing the 310 initialization phase, the PCC MUST mark any labels in the label 311 database that were previously updated by the PCECC as stale. When 312 the PCECC updates a label during LABEL-DB synchronization, if the 313 label already exists in the label database, the PCC MUST update the 314 label database and clear the stale marker from the label. When it 315 has finished LABEL-DB synchronization, the PCECC MUST immediately 316 send an end of synchronization marker. The end of synchronization 317 marker is a Path Computation Label Update (PCLabelUpd) message with a 318 SRP object containing the SYNC flag set to 0 (see Section 5.1) and 319 Label as 0 in the LABEL object. The LABEL-DB-VERSION TLV MUST be 320 included in this PCLabelUpd message. On receiving this Label Update, 321 the PCC MUST purge any labels from the label database that are still 322 marked as stale. 324 Note that a PCECC/PCC MAY force LABEL-DB synchronization by not 325 including the LABEL-DB-VERSION TLV in its OPEN object. 327 Figure 4 shows an example sequence where the LABEL-DB synchronization 328 is skipped. 330 +-+-+-+ +-+-+ 331 |PCECC| |PCC| 332 +-+-+-+ +-+-+ 333 | ,----Open---| 334 | / DBv=35 | 335 |--Open--, / I=1 | 336 | DBv=35 \ / | 337 | I=1 \ / | 338 | \/ | 339 | /\ | 340 | / `------------->| (OK to skip sync) 341 (Skip sync) |<--------` | 342 | . | 343 | . | 344 | . | 345 | | 346 |--PCLabelUpd,DBv=36,SYNC=0-->| (Regular 347 | | Label Update) 348 |--PCLabelUpd,DBv=37,SYNC=0-->| (Regular 349 | | Label Update) 350 |--PCLabelUpd,DBv=38,SYNC=0-->| 351 | | 353 Figure 4: LABEL-DB synchronization Skipped 355 Figure 5 shows an example sequence where the LABEL-DB synchronization 356 is performed due to label database version mismatch during the PCEP 357 session setup. Note that the same LABEL-DB synchronization sequence 358 would happen if either the PCC or the PCECC would not include the 359 LABEL- DB-VERSION TLV in their respective Open messages. 361 +-+-+-+ +-+-+ 362 |PCECC| |PCC| 363 +-+-+-+ +-+-+ 364 | ,----Open---| 365 | / DBv=35 | 366 |--Open--, / I=1 | 367 | DBv=39 \ / | 368 | I=1 \ / | 369 | \/ | 370 | /\ | 371 | / `------------->| (Expect sync) 372 (Do sync) |<--------` | 373 | | 374 |--PCLabelUpd,DBv=39,SYNC=1-->| (Sync start) 375 | . | 376 | . | 377 | . | 378 |--PCLabelUpd,DBv=39,SYNC=0-->| (Sync done) 379 | . |(Purge Label 380 | . | if applicable) 381 | . | 382 |--PCLabelUpd,DBv=40,SYNC=0-->| (Regular 383 | | Label Update) 384 |--PCLabelUpd,DBv=41,SYNC=0-->| (Regular 385 | | Label Update) 386 |--PCLabelUpd,DBv=42,SYNC=0-->| 387 | | 389 Figure 5: LABEL-DB synchronization Performed 391 Figure 6 shows an example sequence where the LABEL-DB synchronization 392 is skipped, but because one or both PCEP speakers set the I Flag to 393 0, the PCECC does not send LABEL-DB-VERSION TLVs in subsequent 394 PCLabelUpd messages to the PCC. If the current PCEP session 395 restarts, the PCEP speakers will have to perform full LABEL-DB 396 synchronization, since the PCC does not know the PCECC's latest Label 397 Database Version Number information. 399 +-+-+-+ +-+-+ 400 |PCECC| |PCC| 401 +-+-+-+ +-+-+ 402 | ,----Open---| 403 | / DBv=43 | 404 |--Open--, / I=0 | 405 | DBv=43 \ / | 406 | I=0 \ / | 407 | \/ | 408 | /\ | 409 | / `------------->| (OK to skip sync) 410 (Skip sync) |<--------` | 411 | . | 412 | . | 413 | . | 414 |------PCLabelUpd,SYNC=0----->| (Regular 415 | | Label Update) 416 |------PCLabelUpd,SYNC=0----->| (Regular 417 | | Label Update) 418 |------PCLabelUpd,SYNC=0----->| 419 | | 421 Figure 6: LABEL-DB Synchronization Skipped, no LABEL-DB-VERSION TLVs 422 sent from PCECC 424 4.2. Incremental LABEL-DB Synchronization Procedure 426 If a PCC restarts and its label database survived, PCECC with 427 mismatched Label Database Version Number will send all their Labels 428 information (full LABEL-DB) to the PCC, even if only a small number 429 of changes happened. It can take a long time and consume large 430 communication channel bandwidth. 432 This section extends the idea to only synchronize the delta (changes) 433 in case of Label Database Version Number of both PCEP peers is non- 434 zero and mismatch. 436 If both PCEP speakers include the LABEL-DB-VERSION TLV in the OPEN 437 object and the LABEL-DB-VERSION TLV values match, the PCECC MAY skip 438 LABEL-DB synchronization. Otherwise, the PCECC MUST perform LABEL-DB 439 synchronization. Incremental label database synchronization 440 capability is advertised on a PCEP session during session startup 441 using the DELTA-LABEL-SYNC-CAPABILITY (D) bit in the capabilities TLV 442 (see Section 5.2). Instead of dumping full LABEL-DB to the PCC 443 again, the PCECC synchronizes the delta (changes) as described in 444 Figure 7 when D flag and I flag is set to 1 by both PCC and PCECC. 445 Other combinations of D and I flags setting by PCC and PCECC result 446 in full LABEL-DB synchronization procedure as described in Section 3. 448 The PCECC MAY force a full LABEL-DB synchronization by setting the D 449 flag to zero in the OPEN message. 451 +-+-+-+ +-+-+ 452 |PCECC| |PCC| 453 +-+-+-+ +-+-+ 454 | ,----Open---| 455 | / DBv=35 | 456 |--Open--, / I=1 | 457 | DBv=39 \ / D=1 | 458 | I=0 \ / | 459 | \/ | 460 | /\ | 461 | / `------------->| (Expect Delta sync) 462 (Do sync)|<--------` | (DONOT Purge Label) 463 (Delta) | | 464 | | 465 (Delta |--PCLabelUpd,DBv=39,SYNC=1-->| 466 Sync starts) | . | 467 | . | 468 | . | 469 | . | 470 |--PCLabelUpd,DBv=39,SYNC=0-->| (Sync done) 471 | | 472 | | 473 |--PCLabelUpd,DBv=40,SYNC=0-->| (Regular 474 | | Label Update) 475 |--PCLabelUpd,DBv=41,SYNC=0-->| (Regular 476 | | Label Update) 477 |--PCLabelUpd,DBv=42,SYNC=0-->| 478 | | 480 Figure 7: Incremental Synchronization Procedure 482 As per Section 4.1, the Label Database Version Number is incremented 483 each time a change is made to the PCECC's label database. Each label 484 is associated with the DB version at the time of its addition. This 485 is needed to determine which label and what information needs to be 486 synchronized in incremental LABEL-DB synchronization. 488 It is not necessary for a PCECC to store a complete history of label 489 database change, but rather remember the labels (including label 490 addition and deletion) that happened between the PCEP session(s) 491 restart in order to carry out incremental LABEL-DB synchronization. 492 After the synchronization procedure finishes, the PCECC can dump this 493 history information. In the example shown in Figure 7, the PCECC 494 needs to store the label changes that happened between DB Version 35 495 to 39 and synchronizes these changes only when performing incremental 496 label update. So a PCECC needs to remember at least the label 497 changes that happened after an existing PCEP session with a PCC goes 498 down to have any chance of doing incremental synchronization when the 499 session is re-established. 501 If a PCECC finds out it does not have sufficient information to 502 complete incremental synchronization after advertising incremental 503 LABEL-DB synchronization capability, it MUST send a PCErr with Error- 504 Type TBD1 and Error-Value 5 'A PCECC indicates to a PCC that it can 505 not complete the LABEL-DB synchronization' and terminate the session. 506 The PCECC SHOULD re-establish the session with the D bit set to 0 in 507 the OPEN message. 509 The other procedures and error checks remain unchanged from the full 510 LABEL-DB synchronization defined in Section 3. 512 5. PCEP Extensions 514 5.1. Extension of SRP object 516 SRP object is defined in [I-D.ietf-pce-stateful-pce] and extended in 517 [I-D.ietf-pce-pce-initiated-lsp]. This draft defines a new 'SYNC' 518 flag (S bit) to specify the LABEL-DB synchronization operation. 520 The format of the SRP object is shown Figure 8: 522 0 1 2 3 523 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 524 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 525 | Flags |S|R| 526 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 527 | SRP-ID-number | 528 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 529 | | 530 // Optional TLVs // 531 | | 532 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 534 Figure 8: SRP Object format 536 S (SYNC - 1 bit): The S Flag MUST be set to 1 on each PCLabelUpd sent 537 from a PCECC during LABEL-DB Synchronization. The S Flag MUST be set 538 to 0 in other messages sent from the PCECC. 540 5.2. Extension of PCECC Capability TLV 542 PCECC Capability TLV is defined in 543 [I-D.zhao-pce-pcep-extension-for-pce-controller]. This draft defines 544 a new 'INCLUDE-LABEL-DB-VERSION' flag (I bit) to specify the label 545 database version capability and 'DELTA-LABEL-SYNC-CAPABILITY' to 546 specify the incremental label database synchronization capability. 548 The format of the PCECC Capability TLV is shown Figure 9: 550 0 1 2 3 551 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 552 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 553 | Type | Length=4 | 554 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 555 | Flags |D|I|S| 556 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 558 Figure 9: PCECC Capability TLV 560 I (INCLUDE-LABEL-DB-VERSION - 1 bit): if set to 1 by both PCEP 561 Speakers, the PCECC will include the LABEL-DB-VERSION TLV in each 562 LABEL Object. 564 D (DELTA-LABEL-SYNC-CAPABILITY - 1 bit): if set to 1 by a PCEP 565 speaker, it indicates that the PCEP speaker allows incremental 566 (delta) LABEL-DB synchronization. 568 5.3. New LABEL-DB-VERSION TLV 570 The Label Database Version Number (LABEL-DB-VERSION) TLV is an 571 optional TLV that MAY be included in the OPEN object and the LABEL 572 object. 574 The format of the LABEL-DB-VERSION TLV is shown in the following 575 figure: 577 0 1 2 3 578 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 579 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 580 | Type=[TBD3] | Length=8 | 581 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 582 | Label Database Version Number | 583 | | 584 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 586 Figure 10: LABEL-DB-VERSION TLV format 588 The type of the TLV is [TBD3] and it has a fixed length of 8 octets. 589 The value contains a 64-bit unsigned integer, representing the Label 590 Database Version Number. 592 6. Manageability Considerations 594 TBD 596 7. Security Considerations 598 TBD 600 8. IANA Considerations 602 TBD 604 9. Acknowledgements 606 This document borrows some of the structure and text from 607 [I-D.ietf-pce-stateful-sync-optimizations], and would like to thanks 608 the authors and contributors of the document. 610 10. References 612 10.1. Normative References 614 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 615 Requirement Levels", BCP 14, RFC 2119, 616 DOI 10.17487/RFC2119, March 1997, 617 . 619 [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation 620 Element (PCE) Communication Protocol (PCEP)", RFC 5440, 621 DOI 10.17487/RFC5440, March 2009, 622 . 624 [I-D.ietf-pce-stateful-pce] 625 Crabbe, E., Minei, I., Medved, J., and R. Varga, "PCEP 626 Extensions for Stateful PCE", draft-ietf-pce-stateful- 627 pce-14 (work in progress), March 2016. 629 [I-D.zhao-pce-pcep-extension-for-pce-controller] 630 Zhao, Q., Li, Z., Dhody, D., and C. Zhou, "PCEP Procedures 631 and Protocol Extensions for Using PCE as a Central 632 Controller (PCECC) of LSPs", draft-zhao-pce-pcep- 633 extension-for-pce-controller-03 (work in progress), March 634 2016. 636 10.2. Informative References 638 [I-D.zhao-teas-pce-control-function] 639 Farrel, A., Zhao, Q., Li, Z., and C. Zhou, "An 640 Architecture for Use of PCE and PCEP in a Network with 641 Central Control", draft-zhao-teas-pce-control-function-00 642 (work in progress), May 2016. 644 [I-D.ietf-pce-pce-initiated-lsp] 645 Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "PCEP 646 Extensions for PCE-initiated LSP Setup in a Stateful PCE 647 Model", draft-ietf-pce-pce-initiated-lsp-05 (work in 648 progress), October 2015. 650 [I-D.ietf-pce-stateful-sync-optimizations] 651 Crabbe, E., Minei, I., Medved, J., Varga, R., Zhang, X., 652 and D. Dhody, "Optimizations of Label Switched Path State 653 Synchronization Procedures for a Stateful PCE", draft- 654 ietf-pce-stateful-sync-optimizations-05 (work in 655 progress), April 2016. 657 Authors' Addresses 659 Udayasree Palle 660 Huawei Technologies 661 Divyashree Techno Park, Whitefield 662 Bangalore, Karnataka 560066 663 India 665 EMail: udayasree.palle@huawei.com 666 Dhruv Dhody 667 Huawei Technologies 668 Divyashree Techno Park, Whitefield 669 Bangalore, Karnataka 560066 670 India 672 EMail: dhruv.ietf@gmail.com