PCE Working Group                                             S. Kuppani
Internet-Draft                                                  A. Sinha
Intended status: Experimental                        Huawei Technologies
Expires: November 17, 2016                                  May 16, 2016


               PCEP Flowspec Synchronization Procedures.
                draft-kuppani-pce-pcep-flowspec-sync-00

Abstract

   Dissemination of the traffic flow specifications was first introduced
   in the BGP protocol via RFC 5575.  In order to distribute the flow
   specifications from PCE controller to network device without BGP
   protocol it is desirable to extend PCEP with flow specification
   information.

   [I-D.li-pce-pcep-flowspec] specifies a set of extensions to PCEP to
   support dissemination of flow specifications.  The extensions include
   the instantiation, updation and deletion of flow specifications.

   Flow specifications downloaded to forwarding entries requires a
   reliable synchronization mechanism between the path computation
   clients (PCCs) and the PCE.  This draft specify the flow
   specification synchronization mechanism for managing of flow
   specification (FLOwSPEC-DB) at node (PCC) aligning with FLOWSPEC-DB
   at PCE on initial session UP or session flap and specifies the
   required Path Computation Element Communication Protocol (PCEP)
   extensions.

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 http://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 on November 17, 2016.





Kuppani & Sinha         Expires November 17, 2016               [Page 1]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


Copyright Notice

   Copyright (c) 2016 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
   (http://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
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   2.  FLOWSPEC-DB Synchronization . . . . . . . . . . . . . . . . .   3
   3.  Full FLOWSPEC-DB Synchronization procedure  . . . . . . . . .   4
   4.  Optimizations for FLOWSPEC-DB Synchronization . . . . . . . .   6
     4.1.  FLOWSPEC-DB Synchronization Avoidance Procedure . . . . .   6
     4.2.  Incremental FLOWSPEC-DB Synchronization Procedure . . . .  10
   5.  PCEP Extensions . . . . . . . . . . . . . . . . . . . . . . .  12
     5.1.  SRP object  . . . . . . . . . . . . . . . . . . . . . . .  12
     5.2.  Extension of FlowSpec Capability TLV  . . . . . . . . . .  12
     5.3.  New FLOWSPEC-DB-VERSION TLV . . . . . . . . . . . . . . .  13
   6.  Manageability Considerations  . . . . . . . . . . . . . . . .  14
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  14
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  14
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  14
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  14
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  14
     10.2.  Informative References . . . . . . . . . . . . . . . . .  15
   Appendix A.  Contributor Addresses  . . . . . . . . . . . . . . .  16
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  16

1.  Introduction

   [I-D.li-pce-pcep-flowspec]  specify the procedures and PCEP protocol
   extensions to support dissemination of flow specifications and
   includes the creation, updation and withdrawal of flow specifications
   via PCEP.

   Flow specifications downloaded to forwarding entries requires a
   reliable synchronization mechanism between the path computation
   clients (PCCs) and the PCE.  This draft specify the PCE maintenance



Kuppani & Sinha         Expires November 17, 2016               [Page 2]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


   of flow specification database per session, and describes the flow
   specification(FLOWSPEC-DB) synchronization mechanism for managing of
   flow specification database at node (PCC) aligning with flow
   specification database at PCE on initial session UP or session flap
   and specifies the required Path Computation Element Communication
   Protocol (PCEP) extensions.

   This draft specify the optimizations for FLOWSPEC-DB synchronization
   and the corresponding PCEP procedures and extensions.

1.1.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

2.  FLOWSPEC-DB Synchronization

   PCE MUST maintains the FLOWSPEC-DB for each PCEP session separately.
   The purpose of FLOWSPEC-DB synchronization is to make sure that the
   PCE's view of FLOWSPEC-DB matches with the PCC's FLOWSPEC-DB.  The
   FLOWSPEC-DB synchronization MUST be performed from PCE to PCC
   immediately after the LSP state and label database synchronization.
   [I-D.ietf-pce-stateful-pce] describes the basic mechanism for LSP
   state synchronization.  [I-D.ietf-pce-stateful-sync-optimizations]
   describes the optimizations for LSP state synchronization.
   [I-D.palle-pce-controller-labeldb-sync] describes the Label database
   synchronization.

   By default a Full FLOWSPEC-DB is performed from PCE to PCC on Initial
   session UP or every session flap.  see Section 3 for detail
   procedures.

   But a Full FLOWSPEC-DB synchronization is not always necessary
   following a PCEP session restart and providing an Optimizations for
   FLOWSPEC-DB synchronization can result in significant savings in both
   control-plane data exchanges and the time it takes for the PCC to
   become fully operational.

   Optimizations for FLOWSPEC-DB synchronization describes the need that
   both PCEP speakers support flowspec database version capability and
   maintain flowspec database version for each session.  See Section 4
   for detail procedures.








Kuppani & Sinha         Expires November 17, 2016               [Page 3]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


3.  Full FLOWSPEC-DB Synchronization procedure

   During Full FLOWSPEC-DB Synchronization, a PCE first takes a snapshot
   of the FLOWSPEC database for the session, then sends this snapshot to
   the PCC in a sequence of FlowSpec message (FlowSpec message defined
   in [I-D.li-pce-pcep-flowspec]).  Each FlowSpec message sent during
   FLOWSPEC-DB Synchronization has the SYNC Flag in the SRP Object(see
   Section 5.1) set to 1.

   The end of synchronization marker is a FlowSpec message with the SYNC
   Flag set to 0 for SRP Object with Flow ID equal to reserved value 0
   in the FLOW object ([I-D.li-pce-pcep-flowspec]).  If the PCE has no
   flow to synchronize, it will only send the end of synchronization
   marker.

   A PCE SHOULD NOT send FlowSpec messages to a PCC before FLOWSPEC-DB
   Synchronization is complete.

   Either the PCE or the PCC MAY terminate the session using the PCEP
   session termination procedures during the FLOWSPEC-DB synchronization
   phase.  If the session is terminated, the PCC MUST clean up flow(s)
   it received from this PCE.  The session reestablishment MUST be re-
   attempted as per the procedures defined in [RFC5440], including use
   of a back-off timer.

   The PCC does not send positive acknowledgements for properly received
   flowspec database synchronization messages.  It MUST respond with a
   PCErr message with Error-type TBD1 (Flow specification Database
   Synchronization Error) and Error-value 1 (indicating an error in
   processing the FlowSpec) if it encounters a problem with the Flow
   Update it received from the PCE and it MUST terminate the session.

   If the PCE encounters a problem which prevents it from completing the
   flow transfer, it MUST send a PCErr message with Error-type TBD1
   (Flow specification Database Synchronization Error) and Error-value 2
   (indicating an internal PCE Error) to the PCC and terminate the
   session.

   The successful FLOWSPEC-DB Synchronization sequence is shown in
   Figure 1.











Kuppani & Sinha         Expires November 17, 2016               [Page 4]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


          +-+-+-+                         +-+-+
          |PCE  |                         |PCC|
          +-+-+-+                         +-+-+
             |                             |
             |-----FlowSpec, SYNC=1------->| (Sync start)
             |                             |
             |-----FlowSpec, SYNC=1------->|
             |            .                |
             |            .                |
             |            .                |
             |-----FlowSpec, SYNC=1------->|
             |            .                |
             |            .                |
             |            .                |
             |                             |
             |-----FlowSpec, SYNC=0------->| (End of sync marker
             |                             |  Flow Update
             |                             |  FLOW ID =0)
             |                             | (Sync done)

             Figure 1: Successful FLOWSPEC-DB synchronization

   The sequence where the PCC fails during the FLOWSPEC-DB
   Synchronization phase is shown in Figure 2.

            +-+-+-+                           +-+-+
            |PCE  |                           |PCC|
            +-+-+-+                           +-+-+
               |                                |
               |--------FlowSpec, SYNC=1------->| (Sync start)
               |                                |
               |--------FlowSpec, SYNC=1------->|
               |               .                |
               |               .                |
               |               .                |
               |--------FlowSpec, SYNC=1------->|
               |                                |
               |---FlowSpec, SYNC=1             |
               |            \    ,----PCErr ----|
               |             \  /               |
               |              \/                |
               |              /\                |
               |             /   `------------->| (Ignored)
               |<-----------`                   |


         Figure 2: Failed FLOWSPEC-DB synchronization(PCC failure)




Kuppani & Sinha         Expires November 17, 2016               [Page 5]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


   The sequence where the PCE fails during the FLOWSPEC-DB
   Synchronization phase is shown in Figure 3.

              +-+-+-+                         +-+-+
              |PCE  |                         |PCC|
              +-+-+-+                         +-+-+
                 |                             |
                 |-----FlowSpec, SYNC=1------->| (Sync start)
                 |                             |
                 |-----FlowSpec, SYNC=1------->|
                 |            .                |
                 |            .                |
                 |            .                |
                 |----------- PCErr=? -------->|
                 |                             |


         Figure 3: Failed FLOWSPEC-DB synchronization(PCE failure)

4.  Optimizations for FLOWSPEC-DB Synchronization

   This section add some of the optimization mechanisms for FLOWSPEC-DB
   synchronization.  By default, the full FLOWSPEC-DB synchronization is
   performed.

4.1.  FLOWSPEC-DB Synchronization Avoidance Procedure

   The FLOWSPEC-DB synchronization MAY be skipped following a PCEP
   session restart if there is no change in the FLOWSPEC-DB of the
   session at PCE, during the period prior to session re-initialization.
   To be able to make this determination, flows must be exchanged and
   maintained by both PCE and PCC during normal operation.  This is
   accomplished by keeping track of the changes to the flow database,
   using a version tracking field called the Flowspec Database Version
   Number.

   The Flowspec Database Version Number, carried in FLOWSPEC-DB-VERSION
   TLV (see Section 5.3), is owned by a PCE and it MUST be incremented
   by 1 for each successive change in the PCE's flowspec database.  The
   Flowspec Database Version Number MUST start at 1 and may wrap around.
   Values 0 and 0xFFFFFFFFFFFFFFFF are reserved.  If either of the two
   values are used during FLOWSPEC-DB synchronization, the PCC speaker
   receiving this node should send back a PCErr with Error-type TBD1
   Error-value 3 'Received an invalid Flowspec Database Version Number',
   and close the PCEP session.  Operations that trigger a change to the
   Flowspec database include an addition or deletion of flows that would
   trigger a flow update to the PCC.




Kuppani & Sinha         Expires November 17, 2016               [Page 6]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


   FLOWSPEC-DB synchronization avoidance is advertised on a PCEP session
   during session startup using the INCLUDE-FLOWSPEC-DB-VERSION (I) bit
   in the PCE FlowSpec capability TLV (see Section 5.2).  The PCEP peer
   MAY include the SPEAKER-ENTITY-ID TLV described in
   [I-D.ietf-pce-stateful-sync-optimizations] in the OPEN message to
   identify the peer in case of IP address change.

   If both PCEP speakers set the I flag in the OPEN object's PCE
   FlowSpec Capability TLV to 1, the PCE MUST include the FLOWSPEC-DB-
   VERSION TLV in each FLOW object of the FlowSpec message.  If the
   FLOWSPEC-DB-VERSION TLV is missing in a FlowSpec message, the PCC
   will generate an error with Error-Type 6 (mandatory object missing)
   and Error-Value TBD2 'FLOWSPEC-DB-VERSION TLV missing' and close the
   session.  If FLOWSPEC-DB synchronization avoidance has not been
   enabled on a PCEP session, the PCE SHOULD NOT include the FLOWSPEC-
   DB-VERSION TLV in the FLOWSPEC Object and the PCC SHOULD ignore it
   were it to receive one.

   If a PCC's flow specification database survived the restart of a PCEP
   session, the PCC will include the FLOWSPEC-DB-VERSION TLV in its OPEN
   object, and the TLV will contain the last Flowspec Database Version
   Number received on an Flow Update from the PCE in the previous PCEP
   session.  If a PCE's Flowspec Database survived the restart of a PCEP
   session, the PCE will include the FLOWSPEC-DB-VERSION TLV in its OPEN
   object and the TLV will contain the latest Flowspec Database Version
   Number.  If a PCEP speaker's flowspec database did not survive the
   restart of a PCEP session, the PCEP speaker MUST NOT include the
   FLOWSPEC-DB-VERSION TLV in the OPEN object.

   If both PCEP speakers include the FLOWSPEC-DB-VERSION TLV in the OPEN
   Object and the TLV values match, the PCE MAY skip FLOWSPEC-DB
   synchronization.  Otherwise, the PCE MUST perform full FLOWSPEC-DB
   synchronization (see Section 3) or incremental FLOWSPEC-DB
   synchronization (see Section 4.2) to the PCC, Incase, the PCE
   attempts to skip FLOWSPEC-DB synchronization, by setting the SYNC
   Flag to 0 on the first Flow Update from the PCE, the PCC MUST send
   back a PCErr with Error-type TBD1 (Flowspec Database Synchronization
   Error) and Error-value 4(Flowspec Database Version mismatch), and
   close the PCEP session.

   If FLOWSPEC-DB synchronization is required, then prior to completing
   the initialization phase, the PCC MUST mark any flows in the flowspec
   database that were previously updated by the PCE as stale.  When the
   PCE updates a flow during FLOWSPEC-DB synchronization, if the flow
   already exists in the flowspec database, the PCC MUST update the
   flowspec database and clear the stale marker from the flow.  When it
   has finished FLOWSPEC-DB synchronization, the PCE MUST immediately
   send an end of synchronization marker.  The end of synchronization



Kuppani & Sinha         Expires November 17, 2016               [Page 7]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


   marker is a Path Computation flowspec (FlowSpec) message with a SRP
   object containing the SYNC flag set to 0 (see Section 5.1) and Flow
   ID as 0 in the FLOW object.  The FLOWSPEC-DB-VERSION TLV MUST be
   included in this FlowSpec message.  On receiving this flow Update,
   the PCC MUST purge any flows from the flowspec database that are
   still marked as stale.

   Note that a PCE/PCC MAY force FLOWSPEC-DB synchronization by not
   including the FLOWSPEC-DB-VERSION TLV in its OPEN object.

   Figure 4 shows an example sequence where the FLOWSPEC-DB
   synchronization is skipped.

                +-+-+-+                         +-+-+
                |PCE  |                         |PCC|
                +-+-+-+                         +-+-+
                   |                 ,----Open---|
                   |                /   DBv=35   |
                   |--Open--,      /     I=1     |
                   |  DBv=35 \    /              |
                   |    I=1   \  /               |
                   |           \/                |
                   |           /\                |
                   |          /   `------------->| (OK to skip sync)
       (Skip sync) |<--------`                   |
                   |            .                |
                   |            .                |
                   |            .                |
                   |                             |
                   |--FlowSpec,DBv=36,SYNC=0---->| (Regular
                   |                             |  FlowSpec Message)
                   |--FlowSpec,DBv=37,SYNC=0---->| (Regular
                   |                             |  FlowSpec Message)
                   |--FlowSpec,DBv=38,SYNC=0---->|
                   |                             |

               Figure 4: FLOWSPEC-DB synchronization Skipped

   Figure 5 shows an example sequence where the FLOWSPEC-DB
   synchronization is performed due to flowspec database version
   mismatch during the PCEP session setup.  Note that the same FLOWSPEC-
   DB synchronization sequence would happen if either the PCC or the PCE
   would not include the FLOWSPEC- DB-VERSION TLV in their respective
   Open messages.







Kuppani & Sinha         Expires November 17, 2016               [Page 8]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


               +-+-+-+                         +-+-+
               |PCE  |                         |PCC|
               +-+-+-+                         +-+-+
                  |                 ,----Open---|
                  |                /   DBv=35   |
                  |--Open--,      /     I=1     |
                  |  DBv=39 \    /              |
                  |    I=1   \  /               |
                  |           \/                |
                  |           /\                |
                  |          /   `------------->| (Expect sync)
        (Do sync) |<--------`                   |
                  |                             |
                  |--FlowSpec,DBv=39,SYNC=1---->| (Sync start)
                  |            .                |
                  |            .                |
                  |            .                |
                  |--FlowSpec,DBv=39,SYNC=0---->| (Sync done)
                  |            .                |(Purge flow
                  |            .                | if applicable)
                  |            .                |
                  |--FlowSpec,DBv=40,SYNC=0---->| (Regular
                  |                             |  FlowSpec Message)
                  |--FlowSpec,DBv=41,SYNC=0---->| (Regular
                  |                             |  FlowSpec Message)
                  |--FlowSpec,DBv=42,SYNC=0---->|
                  |                             |


              Figure 5: FLOWSPEC-DB synchronization Performed

   Figure 6 shows an example sequence where the FLOWSPEC-DB
   synchronization is skipped, but because one or both PCEP speakers set
   the I Flag to 0, the PCE does not send FLOWSPEC-DB-VERSION TLVs in
   subsequent FlowSpec messages to the PCC.  If the current PCEP session
   restarts, the PCEP speakers will have to perform full FLOWSPEC-DB
   synchronization, since the PCC does not know the PCE's latest
   Flowspec database Version Number information.













Kuppani & Sinha         Expires November 17, 2016               [Page 9]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


               +-+-+-+                         +-+-+
               |PCE  |                         |PCC|
               +-+-+-+                         +-+-+
                  |                 ,----Open---|
                  |                /   DBv=43   |
                  |--Open--,      /     I=0     |
                  |  DBv=43 \    /              |
                  |    I=0   \  /               |
                  |           \/                |
                  |           /\                |
                  |          /   `------------->| (OK to skip sync)
      (Skip sync) |<--------`                   |
                  |            .                |
                  |            .                |
                  |            .                |
                  |------FlowSpec,SYNC=0------->| (Regular
                  |                             |  FlowSpec Message)
                  |------FlowSpec,SYNC=0------->| (Regular
                  |                             |  FlowSpec Message)
                  |------FlowSpec,SYNC=0------->|
                  |                             |

   Figure 6: FLOWSPEC-DB Synchronization Skipped, no FLOWSPEC-DB-VERSION
                            TLVs sent from PCE

4.2.  Incremental FLOWSPEC-DB Synchronization Procedure

   If a PCC restarts and its Flowspec database survived, PCE with
   mismatched Flowspec Database Version Number will send all their Flows
   information (full FLOWSPEC-DB) to the PCC, even if only a small
   number of changes happened.  It can take a long time and consume
   large communication channel bandwidth.

   This section extends the idea to only synchronize the delta (changes)
   in case of Flowspec Database Version Number of both PCEP peers is
   non-zero and mismatch.

   If both PCEP speakers include the FLOWSPEC-DB-VERSION TLV in the OPEN
   object and the FLOWSPEC-DB-VERSION TLV values match, the PCE MAY skip
   FLOWSPEC-DB synchronization.  Otherwise, the PCE MUST perform
   FLOWSPEC-DB synchronization.  Incremental flow specification database
   synchronization capability is advertised on a PCEP session during
   session startup using the DELTA-FLOWSPEC-SYNC-CAPABILITY (D) bit in
   the capabilities TLV (see Section 5.2).  Instead of dumping full
   FLOWSPEC-DB to the PCC again, the PCE synchronizes the delta
   (changes) as described in Figure 7 when D flag and I flag is set to 1
   by both PCC and PCE.  Other combinations of D and I flags setting by
   PCC and PCE result in full FLOWSPEC-DB synchronization procedure as



Kuppani & Sinha         Expires November 17, 2016              [Page 10]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


   described in Section 3.  The PCE MAY force a full FLOWSPEC-DB
   synchronization by setting the D flag to zero in the OPEN message.


               +-+-+-+                         +-+-+
               |PCE  |                         |PCC|
               +-+-+-+                         +-+-+
                  |                 ,----Open---|
                  |                /   DBv=35   |
                  |--Open--,      /     I=1     |
                  |  DBv=39 \    /      D=1     |
                  |    I=1   \  /               |
                  |    D=1    \/                |
                  |           /\                |
                  |          /   `------------->| (Expect Delta sync)
         (Do sync)|<--------`                   | (DONOT Purge Flow)
         (Delta)  |                             |
                  |                             |
     (Delta       |--FlowSpec,DBv=39,SYNC=1---->|
     Sync starts) |            .                |
                  |            .                |
                  |            .                |
                  |            .                |
                  |--FlowSpec,DBv=39,SYNC=0---->| (Sync done)
                  |                             |
                  |                             |
                  |--FlowSpec,DBv=40,SYNC=0---->| (Regular
                  |                             |  FlowSpec Message)
                  |--FlowSpec,DBv=41,SYNC=0---->| (Regular
                  |                             |  FlowSpec Message)
                  |--FlowSpec,DBv=42,SYNC=0---->|
                  |                             |

              Figure 7: Incremental Synchronization Procedure

   As per Section 4.1, the Flowspec Database Version Number is
   incremented each time a change is made to the PCE's flowspec
   database.  Each flow is associated with the DB version at the time of
   its addition.  This is needed to determine which flow and what
   information needs to be synchronized in incremental FLOWSPEC-DB
   synchronization.

   It is not necessary for a PCE to store a complete history of flowspec
   database change, but rather remember the flows (including flow
   addition and deletion) that happened between the PCEP session(s)
   restart in order to carry out incremental FLOWSPEC-DB
   synchronization.  After the synchronization procedure finishes, the
   PCE can dump this history information.  In the example shown in



Kuppani & Sinha         Expires November 17, 2016              [Page 11]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


   Figure 7, the PCE needs to store the flow changes that happened
   between DB Version 35 to 39 and synchronizes these changes only when
   performing incremental flow update.  So a PCE needs to remember at
   least the flow changes that happened after an existing PCEP session
   with a PCC goes down to have any chance of doing incremental
   synchronization when the session is re-established.

   If a PCE finds out it does not have sufficient information to
   complete incremental synchronization after advertising incremental
   FLOWSPEC-DB synchronization capability, it MUST send a PCErr with
   Error-Type TBD1 and Error-Value 5 'A PCE indicates to a PCC that it
   can not complete the FLOWSPEC-DB synchronization' and terminate the
   session.  The PCE SHOULD re-establish the session with the D bit set
   to 0 in the OPEN message.

   The other procedures and error checks remain unchanged from the full
   FLOWSPEC-DB synchronization defined in Section 3.

5.  PCEP Extensions

5.1.  SRP object

   SRP object is defined in [I-D.ietf-pce-stateful-pce] and extended in
   [I-D.ietf-pce-pce-initiated-lsp].  Further,
   [I-D.palle-pce-controller-labeldb-sync] added a 'SYNC' flag (S bit)
   to specify the LABEL-DB synchronization operation.  This document
   extends the usage of the same bit for the FLOWSPEC-DB synchronization
   operation as well.

   The S Flag MUST be set to 1 on each FlowSpec Message sent from a PCE
   during FLOWSPEC-DB Synchronization.  The S Flag MUST be set to 0 in
   other messages sent from the PCE.

5.2.  Extension of FlowSpec Capability TLV

   PCE FlowSpec Capability TLV is defined in [I-D.li-pce-pcep-flowspec].
   This draft defines a new 'INCLUDE-FLOWSPEC-DB-VERSION' flag (I bit)
   to specify the flowspec database version capability and 'DELTA-
   FLOWSPEC-SYNC-CAPABILITY' to specify the incremental flowspec
   database synchronization capability.

   The format of the PCE FlowSpec Capability TLV is shown Figure 8:









Kuppani & Sinha         Expires November 17, 2016              [Page 12]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


      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=4           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Value                         |D|I|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                   Figure 8: PCE FlowSpec Capability TLV

   I (INCLUDE-FLOWSPEC-DB-VERSION - 1 bit): if set to 1 by both PCEP
   Speakers, the PCE will include the FLOWSPEC-DB-VERSION TLV in each
   FLOWSPEC Object.

   D (DELTA-FLOWSPEC-SYNC-CAPABILITY - 1 bit): if set to 1 by a PCEP
   speaker, it indicates that the PCEP speaker allows incremental
   (delta) FLOWSPEC-DB synchronization.

5.3.  New FLOWSPEC-DB-VERSION TLV

   The Flowspec Database Version Number (FLOWSPEC-DB-VERSION) TLV is an
   optional TLV that MAY be included in the OPEN object and the FLOWSPEC
   object.

   The format of the FLOWSPEC-DB-VERSION TLV is shown in the following
   figure:


      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=[TBD3]         |            Length=8           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              FlowSpec Database Version Number                 |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Figure 9: FLOWSPEC-DB-VERSION TLV format

   The type of the TLV is [TBD3] and it has a fixed length of 8 octets.
   The value contains a 64-bit unsigned integer, representing the
   FlowSpec Database Version Number.








Kuppani & Sinha         Expires November 17, 2016              [Page 13]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


6.  Manageability Considerations

   TBD

7.  Security Considerations

   TBD

8.  IANA Considerations

   TBD

9.  Acknowledgements

   This document borrows some of the structure and text from
   [I-D.ietf-pce-stateful-sync-optimizations] and
   [I-D.palle-pce-controller-labeldb-sync], and would like to thanks the
   authors and contributors of the document.

10.  References

10.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC5440]  Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
              Element (PCE) Communication Protocol (PCEP)", RFC 5440,
              DOI 10.17487/RFC5440, March 2009,
              <http://www.rfc-editor.org/info/rfc5440>.

   [I-D.ietf-pce-stateful-pce]
              Crabbe, E., Minei, I., Medved, J., and R. Varga, "PCEP
              Extensions for Stateful PCE", draft-ietf-pce-stateful-
              pce-14 (work in progress), March 2016.

   [I-D.zhao-pce-pcep-extension-for-pce-controller]
              Zhao, Q., Li, Z., Dhody, D., and C. Zhou, "PCEP Procedures
              and Protocol Extensions for Using PCE as a Central
              Controller (PCECC) of LSPs", draft-zhao-pce-pcep-
              extension-for-pce-controller-03 (work in progress), March
              2016.







Kuppani & Sinha         Expires November 17, 2016              [Page 14]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


   [I-D.li-pce-pcep-flowspec]
              Li, Z., Chen, X., and S. Zhuang, "PCEP Extension for Flow
              Specification", draft-li-pce-pcep-flowspec-00 (work in
              progress), February 2016.

10.2.  Informative References

   [I-D.ietf-pce-pce-initiated-lsp]
              Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "PCEP
              Extensions for PCE-initiated LSP Setup in a Stateful PCE
              Model", draft-ietf-pce-pce-initiated-lsp-05 (work in
              progress), October 2015.

   [I-D.ietf-pce-stateful-sync-optimizations]
              Crabbe, E., Minei, I., Medved, J., Varga, R., Zhang, X.,
              and D. Dhody, "Optimizations of Label Switched Path State
              Synchronization Procedures for a Stateful PCE", draft-
              ietf-pce-stateful-sync-optimizations-05 (work in
              progress), April 2016.

   [I-D.palle-pce-controller-labeldb-sync]
              Palle, U. and D. Dhody, "LABEL-DB Synchronization
              Procedures for a PCE as a central controller(PCECC)",
              draft-palle-pce-controller-labeldb-sync-00 (work in
              progress), May 2016.


























Kuppani & Sinha         Expires November 17, 2016              [Page 15]


Internet-Draft                FLOWSPEC-SYNC                     May 2016


Appendix A.  Contributor Addresses

   Dhruv Dhody
   Huawei Technologies
   Divyashree Techno Park, Whitefield
   Bangalore, Karnataka  560066
   India
   Email: dhruv.ietf@gmail.com

   Udayasree Palle
   Huawei Technologies
   Divyashree Techno Park, Whitefield
   Bangalore, Karnataka  560066
   India
   Email: udayasree.palle@huawei.com

Authors' Addresses

   Swapna Kuppani
   Huawei Technologies
   Divyashree Techno Park, Whitefield
   Bangalore, Karnataka  560066
   India

   EMail: swapnak@huawei.com


   Ankit Sinha
   Huawei Technologies
   Divyashree Techno Park, Whitefield
   Bangalore, Karnataka  560066
   India

   EMail: Ankit.Kumar.Sinha1@huawei.com

















Kuppani & Sinha         Expires November 17, 2016              [Page 16]