<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="no"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-li-pce-pcep-flowspec-01" ipr="trust200902">
  <front>
    <title abbrev="PCEP-FlowSpec">PCEP Extension for Flow
    Specification</title>

    <author fullname="Zhenbin Li" initials="Z. " surname="Li">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Bld., No.156 Beiqing Rd.</street>

          <city>Beijing</city>

          <code>100095</code>

          <country>China</country>
        </postal>

        <email>lizhenbin@huawei.com</email>
      </address>
    </author>

    <author fullname="Dhruv Dhody" initials="D. " surname="Dhody">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Divyashree Techno Park, Whitefield</street>

          <city>Bangalore, Karnataka</city>

          <code>560066</code>

          <country>India</country>
        </postal>

        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>

    <author fullname="Cyril Margaria" initials="C. " surname="Margaria">
      <organization>Juniper</organization>

      <address>
        <postal>
          <street>200 Somerset Corporate Boulevard, , Suite 4001</street>

          <city>Bridgewater, NJ</city>

          <code>08807</code>

          <country>USA</country>
        </postal>

        <email>cmargaria@juniper.net</email>
      </address>
    </author>

    <author fullname="Colby Barth" initials="C. " surname="Barth">
      <organization>Juniper</organization>

      <address>
        <postal>
          <street>200 Somerset Corporate Boulevard, , Suite 4001</street>

          <city>Bridgewater, NJ</city>

          <code>08807</code>

          <country>USA</country>
        </postal>

        <email>cbarth@juniper.net</email>
      </address>
    </author>

    <author fullname="Xia Chen" initials="X. " surname="Chen">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Bld., No.156 Beiqing Rd.</street>

          <city>Beijing</city>

          <code>100095</code>

          <country>China</country>
        </postal>

        <email>jescia.chenxia@huawei.com</email>
      </address>
    </author>

    <author fullname="Shunwan Zhuang" initials="S. " surname="Zhuang">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Bld., No.156 Beiqing Rd.</street>

          <city>Beijing</city>

          <code>100095</code>

          <country>China</country>
        </postal>

        <email>zhuangshunwan@huawei.com</email>
      </address>
    </author>

    <date day="8" month="July" year="2016"/>

    <abstract>
      <t>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.</t>

      <t>This document specifies a set of extensions to PCEP to support
      dissemination of flow specifications. The extensions include the
      instantiation, updation and deletion of flow specifications.</t>
    </abstract>

    <note title="Requirements Language">
      <t>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 <xref
      target="RFC2119">RFC 2119</xref>.</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t>Dissemination of the traffic flow specifications was first introduced
      in the BGP protocol <xref target="RFC5575"/>. The traffic flow
      specification is comprised of traffic filtering rules and actions. The
      routers which received the flow specification can take advantage of the
      ACL (Access Control List) or firewall capabilities in the router's
      forwarding path. The routers can classify the packets according to the
      traffic filtering rules and shape, rate limit, filter, or redirect
      packets based on the actions. The flow specification carried by BGP can
      be used to automate inter-domain coordination of traffic filtering to
      mitigate (distributed) denial-of-service attacks and can also be used to
      provide traffic filtering in the context of a BGP/MPLS VPN service.</t>

      <t><xref target="RFC5575"/> also defines that a flow specification
      received from an external autonomous system will need to be validated
      against unicast routing before being accepted. <xref
      target="I-D.ietf-idr-bgp-flowspec-oid"/> describes a modification to the
      validation procedure defined in <xref
      target="I-D.ietf-idr-bgp-flowspec-oid"/> for the dissemination of BGP
      flow specifications. The modification proposed enables flow
      specifications to be originated from a centralized BGP route
      controller.</t>

      <t><xref target="I-D.ietf-ospf-flowspec-extensions"/> defines the
      extensions to OSPF to distribute flow specifications in the networks
      that only deploy an IGP (Interior Gateway Protocol) (e.g., OSPF). It
      also defines the validation procedures for imposing the filtering
      information on the routers.</t>

      <t><xref target="RFC5440"/> describes the Path Computation Element
      Protocol (PCEP). PCEP defines the communication between a Path
      Computation Client (PCC) and a Path Control Element (PCE), or between
      PCE and PCE, enabling computation of Multiprotocol Label Switching
      (MPLS) for Traffic Engineering Label Switched Path (TE LSP)
      characteristics.</t>

      <t>Stateful pce <xref target="I-D.ietf-pce-stateful-pce"/> specifies a
      set of extensions to PCEP to enable stateful control of TE LSPs between
      and across PCEP sessions in compliance with <xref target="RFC4657"/>. It
      includes mechanisms to effect LSP state synchronization between PCCs and
      PCEs, delegation of control of LSPs to PCEs, and PCE control of timing
      and sequence of path computations within and across PCEP sessions and
      focuses on a model where LSPs are configured on the PCC and control over
      them is delegated to the PCE. <xref
      target="I-D.ietf-pce-pce-initiated-lsp"/> describes the setup,
      maintenance and teardown of PCE- initiated LSPs under the stateful PCE
      model, without the need for local configuration on the PCC, thus
      allowing for a dynamic network that is centrally controlled and
      deployed.</t>
      
      <t>In case PCE is used to initiate tunnels via PCEP, it is desirable to
      use the same protocol to also distribute the flow specifications to
      describe what data flows on those tunnels. Thus, in order to distribute
      the flow specifications from PCE controller to network device, PCEP is
      extended with flow specification information in this document.</t>

      <t><xref target="I-D.zhao-teas-pce-control-function"/> introduces the 
      architecture for PCE as a central controller and describes how PCE
      can be viewed as a component that perfor computation to place 'flows'
      within the network and decide how these flows are routed.</t>

      <t>This document specifies a set of extensions to PCEP to support
      dissemination of flow specifications. The flow specifications can be
      disseminated between PCEP peers such as from PCE to PCC or between PCEs
      . The extensions include the creation, updation and withdrawal of flow
      specifications via PCEP.</t>

      <t>The values of flow filtering rules and actions mainly refer to the
      BGP flow specification and IGP specification. This document extends new
      actions which are redirecting to LSP (refered by Symbolic Path Name,
      IPv4 LSP, or IPv6 LSP).</t>
    </section>

    <section title="Terminology">
      <t>This document uses the terms defined in <xref target="RFC5440"/> and
      <xref target="RFC5575"/>.</t>

      <t>This document uses the terms defined in <xref target="RFC5440"/>:
      PCC, PCE, PCEP Peer.</t>

      <t>The following term is from <xref target="RFC5575"/>. It is used
      frequently throughout this document:</t>

      <t>Flow Specification (FlowSpec): A flow specification is an n-tuple
      consisting of several matching criteria that can be applied to IP
      traffic, including filters and actions. Each FlowSpec consists of a set
      of filters and a set of actions.</t>
    </section>

    <section title="Procedures for Dissemination of FlowSpec">
      <t/>

      <section title="Overview of Procedures">
        <t>A PCC or PCE indicates its ability to support PCE FlowSpec during
        the PCEP Initialization Phase via "PCE FlowSpec Capability" TLV (see
        details in Section 5.1.1).</t>

        <t>This section introduces the procedure to support PCE FlowSpec as
        follows:</t>

        <t>Firstly both the PCE and PCC advertise the PCE FlowSpec Capability
        during the PCE session initiation phase.</t>

        <t>On the PCEP session with PCE FlowSpec Capability PCE communicates
        with PCC to create, update and withdraw PCE FlowSpec.</t>

        <t>[Editor's Note - The procedure about PCE FlowSpec synchronization,
        the session failure process, etc. will be specified in the future
        version.]</t>
      </section>

      <section title="Capability Advertisement">
        <t>During PCEP session establishment, both the PCC and the PCE must
        announce their support of PCEP extensions for FlowSpec defined in this
        document.</t>

        <t>A PCEP Speaker (PCE or PCC) includes the "PCE FlowSpec Capability"
        TLV, described in <xref target="cap"/>, in the OPEN Object to
        advertise its support for PCEP extensions for PCE FlowSpec
        Capability.</t>

        <t>The presence of the PCE FlowSpec Capability TLV in PCE's OPEN
        message indicates that the PCE can support distribute the FlowSpec to
        PCC.</t>

        <t>The presence of such Capability TLV in PCC's OPEN Object indicates
        that the PCC can be in support of Flowspec functionality to
        instantiate the FlowSpec according to the PCE's indication and can
        apply the FlowSpec to the incoming packets.</t>

        <t>If PCE has such capability TLV and PCC has no such capability TLV
        PCE MUST NOT send the PCE messages with FlowSpec information. And if
        PCC receives such messages it should send PCErr message to PCE.</t>

        <t>[Editor's Note - PCE discovery via IGP should also be extended for
        this.]</t>
      </section>

      <section title="Operations">
        <t>To instantiate a FlowSpec which is comprised of a set of FlowSpec
        filter rules and actions, the PCE sends a new PCEP message (called
        FlowSpec message) to the PCC. The FlowSpec message MUST include the
        SRP object<xref target="I-D.ietf-pce-stateful-pce"/>, a new FLOW
        object (see details in <xref target="flow"/>) and a new ACTION object
        (see details in <xref target="action"/>). FLOW object carries a set of
        FlowSpec filter rules. A list of ACTION objects specify a set of
        FlowSpec actions.</t>

        <t>To update the FlowSpec actions of a specified FlowSpec which has
        been created, the same PCEP message "FlowSpec" is used. The PCE sends
        a FlowSpec message to the PCC. The FlowSpec message MUST include the
        SRP object, FLOW object and ACTION object.</t>

        <t>To delete the specified FlowSpec which has been created, the PCE
        sends a FlowSpec message to the PCC with a flag indicating the removal
        action. The FlowSpec message MUST include the SRP object (with R flag
        set) and FLOW object.</t>
      </section>
      
    <section title="Flowspec Synronization">
        <t><xref target="I-D.kuppani-pce-pcep-flowspec-sync"/> 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.
        This includes full synchronization as well as optimizations such as
        synchronization avoidance and incremental synchronization.</t>
      </section>
    </section>

    <section title="PCEP Messages">
      <t>As defined in <xref target="RFC5440"/>, a PCEP message consists of a
      common header followed by a variable-length body made of a set of
      objects that can be either mandatory or optional. An object is said to
      be mandatory in a PCEP message when the object must be included for the
      message to be considered valid. For each PCEP message type, a set of
      rules is defined that specify the set of objects that the message can
      carry. An implementation MUST form the PCEP messages using the object
      ordering specified in this document.</t>

      <t>To support the PCEP FlowSpec functionality one new PCEP messages is
      introduced.</t>

      <section title="PCEP FlowSpec Message">
        <t>A FlowSpec message which is also referred to as FlowSpec message is
        a PCEP message sent by a PCE to a PCC to trigger creation,
        modification or deletion of a FlowSpec.</t>

        <t>The Message-Type field of the PCEP common header for the FlowSpec
        message is TBD17 (to be assigned by IANA). The FlowSpec message MUST include
        the SRP and the FLOW objects.</t>

        <t>If FlowSpec message is used to create or update the FlowSpec, it
        MUST include the ACTION objects too.</t>

        <t>If FlowSpec message is used to delete the FlowSpec the ACTION
        objects SHOULD NOT be carried and the SRP object is set with the R
        flag.</t>

        <t>A FlowSpec is identified by a PCEP specific identifier FS-ID.</t>

        <t>The format of a FlowSpec message for creation or deletion of
        FlowSpec is as follows:</t>

        <t><figure align="center">
            <artwork><![CDATA[
   <FlowSpec Message> ::= <Common Header>                      
                         <flowspec-list>   
Where:                                                         
   <flowspec-list> ::= <flowspec-request>[<flowspec-list>]

   <flowspec-request>::= (<flowspec-create-or-update>|
                          <flowspec-delete>)

   <flowspec-create-or-update> ::= <SRP>  
                                   <FLOW>    
                                   <action-list> 

   <flowspec-delete> ::= <SRP>  
                          <FLOW>    
                             
Where:
    <action-list>::=<ACTION>[<action-list>]]]></artwork>
          </figure></t>

        <t>The SRP object defined in <xref
        target="I-D.ietf-pce-stateful-pce"/> can be used in this document to
        correlate FlowSpec requests sent by the PCE with the error reports
        sent by the PCC.</t>

        <t>Every FlowSpec requests from the PCE sends a new SRP-ID-NUMBER as
        described in <xref target="I-D.ietf-pce-stateful-pce"/>. This number
        is unique per PCEP session and is incremented each time an FlowSpec
        operation (creation, update, deletion etc) is requested from the PCE.
        The value of the SRP-ID-NUMBER MAY be echoed back by the PCC in PCErr
        messages to allow for correlation between requests made by the PCE and
        errors generated by the PCC. Procedure of dissemination of FlowSpec
        from PCE share the same number space of the SRP-ID-NUMBER with
        procedure of stateful PCE.</t>

        <t>The FLOW and ACTION objects are new objects introduced in this
        document.</t>
      </section>
    </section>

    <section title="Objects and TLVs">
      <t>The PCEP objects defined in this document are compliant with the PCEP
      object format defined in <xref target="RFC5440"/>.</t>

      <t>New TLVs about FlowSpec filtering rules are defined. The value
      portion of the new TLVs can reuse the structure defined in <xref
      target="RFC5575"/> and <xref target="I-D.ietf-idr-flow-spec-v6"/>. New
      TLVs about FlowSpec actions are also defined. The value portion of the
      new TLVs can reuse the structure defined in <xref
      target="I-D.ietf-ospf-flowspec-extensions"/>. This document also defines
      two new actions: Redirect to IPv4 LSP and Redirect to IPv6 LSP.</t>

      <section title="OPEN Object">
        <t/>

        <section anchor="cap" title="PCE FlowSpec Capability TLV">
          <t>The PCE-FLOWSPEC-CAPABILITY TLV is an optional TLV associated
          with the OPEN Object <xref target="RFC5440"/> to exchange PCE
          FlowSpec capability of PCEP speakers.</t>

          <t>Its format is shown in the following figure:</t>

          <t><figure anchor="F1" title="PCE-FLOWSPEC-CAPABILITY TLV format">
              <artwork align="center"><![CDATA[
 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=[TBD18]    |            Length=2           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Value=0                |            padding            |
+---------------------------------------------------------------+
         ]]></artwork>
            </figure></t>

          <t>The type of the TLV is TBD18 (to be assigned by IANA) and it has a fixed
          length of 2 octets. The value field is set to default value 0.</t>

          <t>The inclusion of this TLV in an OPEN object indicate that the
          sender can perform FlowSpec handling in PCEP.</t>

          <t/>
        </section>
      </section>

      <section anchor="flow" title="FLOW Object">
        <t>The FLOW object MUST be present within FlowSpec messages. The FLOW
        object carries a set of FlowSpec filter rules.</t>

        <t>FLOW Object-Class is TBD19 (to be assigned by IANA).</t>

        <t>FLOW Object-Type is 1.</t>

        <t>The format of the FLOW object is as follows:</t>

        <t><figure align="center" anchor="F2" title="FLOW Object Body Format">
            <artwork><![CDATA[
 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 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          FS-ID                                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                   Flow Filter TLVs(variable)                  |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </figure></t>

        <t>FS-ID(32-bit): A PCEP-specific identifier for the FlowSpec
        information. A PCE creates an unique FS-ID for each FlowSpec that is
        constant for the lifetime of a PCEP session. All subsequent PCEP
        messages then address the FlowSpec by the FS-ID. The values of 0 and
        0xFFFFFFFF are reserved.</t>

        <t>Flow Filter TLVs(variable): The FLOW object body has a variable
        length and may contain one or more additional TLVs.</t>

        <t>The following flow filter types are supported:</t>

        <t><figure align="center" anchor="F3" title="Table of Flow Filter Types">
            <artwork><![CDATA[
+------+------------------------+-------+--------------------------+
| Type | Description            |Ref TLV|Value defined in          |
+------+------------------------+-------+--------------------------+
| TBD1 | Destination IPv4 Prefix|   1   |RFC5575                   |
+------+------------------------+-------+--------------------------+
| TBD2 | Source IPv4 Prefix     |   2   |RFC5575                   |
+------+------------------------+-------+--------------------------+
| TBD3 | IP Protocol            |   3   |RFC5575                   |
+------+------------------------+-------+--------------------------+
| TBD4 | Port                   |   4   |RFC5575                   |
+------+------------------------+-------+--------------------------+
| TBD5 | Destination port       |   5   |RFC5575                   |
+------+------------------------+-------+--------------------------+
| TBD6 | Source port            |   6   |RFC5575                   |
+------+------------------------+-------+--------------------------+
| TBD7 | ICMP type              |   7   |RFC5575                   |
+------+------------------------+-------+--------------------------+
| TBD8 | ICMP code              |   8   |RFC5575                   |
+------+------------------------+-------+--------------------------+
| TBD9 | TCP flags              |   9   |RFC5575                   |
+------+------------------------+-------+--------------------------+
| TBD10| Packet length          |  10   |RFC5575                   |
+------+------------------------+-------+--------------------------+
| TBD11| DSCP                   |  11   |RFC5575                   |
+------+------------------------+-------+--------------------------+
| TBD12| Fragment               |  12   |RFC5575                   |
+------+------------------------+-------+--------------------------+
| TBD13| Flow Label             |  13   |I-D.ietf-idr-flow-spec-v6 |
+------+------------------------+-------+--------------------------+
| TBD14| Destination IPv6 Prefix|   1   |I-D.ietf-idr-flow-spec-v6 |
+------+------------------------+-------+--------------------------+
| TBD15| Source IPv6 Prefix     |   2   |I-D.ietf-idr-flow-spec-v6 |
+------+------------------------+-------+--------------------------+
| TBD16| Next Header            |   3   |I-D.ietf-idr-flow-spec-v6 |
+------+------------------------+-------+--------------------------+
|  *   | ROUTE-DISTINGUISHER    |   -   |I-D.dhodylee-pce-pcep-ls  |
+------+------------------------+-------+--------------------------+

(*) - TLV is defined in another PCEP document.
]]></artwork>
          </figure></t>

      <t><xref target="RFC5575"/> and <xref target="I-D.ietf-idr-flow-spec-v6"/> specify 
      the above types for BGP. The encoding for "Destination Prefix" 
      is described in <xref target="RFC5575"/> as - </t>  
      <t>Encoding: &lt;type (1 octet), prefix length (1 octet), prefix&gt;</t>
      <t>In PCEP, the type of flow filter is identified by the type field
      in the TLV header, TBD1 in case of Destination Prefix. The length field in the
       TLV header (as per <xref target="RFC5440"/>) is the length of the value portion in octets without padding.
       The value portion for "Destination IPv4 Prefix" is made up of 1 octet of prefix length
       followed by the prefix, padded to 4-byte alignment for the TLV.</t>
       <t>Similarly for all encoding defined in <xref target="RFC5575"/>
       and <xref target="I-D.ietf-idr-flow-spec-v6"/>, the value portion of the PCEP TLV
       uses the BGP encoding but without the type octet and pad it to 4-byte alignment. </t>  
       
       <t><xref target="I-D.dhodylee-pce-pcep-ls"/> allow identificatiion of a VPN
       information in PCEP via a Route Distinguisher (RD) <xref target="RFC4364"/>
       and encoded in ROUTE-DISTINGUISHER TLV. This TLV MAY be included in 
       the FLOW object to identify the flow filter infomration, say a IPv4 destination prefix,
       is a VPNv4 destination prefix belonging to the VPN identified by the RD.</t>
       
       </section>

      <section anchor="action" title="ACTION Object">
        <t>The ACTION object MUST be present within FlowSpec messages when
        creating or updating the FlowSpec. The ACTION object carries a set of
        FlowSpec actions.</t>

        <t>ACTION Object-Class is TBD20 (to be assigned by IANA).</t>

        <t>ACTION Object-Type is 1.</t>

        <t>The format of the ACTION object body is:</t>

        <t><figure align="center" anchor="F4" title="ACTION Object Body Format">
            <artwork><![CDATA[
 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 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                     ACTION TLVs(variable)                     |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                  
]]></artwork>
          </figure>The ACTION object body has a variable length and may
        contain one or more additional TLVs.</t>

        <t>The following FlowSpec action types are supported:</t>

        <t><figure align="center" anchor="F5" title="Flow Action Types">
            <artwork><![CDATA[
+------+---------------------+-------------------------+
| Type | Description         |Defined in               |
+------+---------------------+-------------------------+
| 18(*)| IPV4-LSP-IDENTIFIERS|I-D.ietf-pce-stateful-pce|
+------+---------------------+-------------------------+
| 19(*)| IPV6-LSP-IDENTIFIERS|I-D.ietf-pce-stateful-pce|
+------+---------------------+-------------------------+
| 17(*)| Symbolic-Path-Name  |I-D.ietf-pce-stateful-pce|
+------+---------------------+-------------------------+
                                        
(*) The type is defined in [I-D.ietf-pce-stateful-pce]                    
                    ]]></artwork>
          </figure></t>

        <t/>
      </section>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>IANA maintains the "Path Computation Element Protocol (PCEP) Numbers"
   registry at &lt;http://www.iana.org/assignments/pcep&gt;. This document requests IANA actions to allocate code points for the
   protocol elements defined in this document.</t>
<section title="PCEP Messages">
<t> IANA maintains a subregistry for PCEP messages called "PCEP Messages".  Each PCEP message has a
   message type value. This document defines a new PCEP message type value.</t>
   <t>
        <figure title="" suppress-title="false" align="center" alt="" width="" height="">
          <artwork xml:space="preserve" name="" type="" align="center" alt="" width="" height=""><![CDATA[
Value     Meaning                          Reference
TBD17     FlowSpec                         [This I-D]
]]></artwork>
        </figure>
      </t>
</section>
<section title="PCEP Objects">
<t>Each PCEP object has an Object-Class and an Object-Type. IANA
maintains a subregistry called "PCEP Objects". This document defines the following new PCEP Object-classes and
Object-values:</t>
   <t>
        <figure title="" suppress-title="false" align="center" alt="" width="" height="">
          <artwork xml:space="preserve" name="" type="" align="center" alt="" width="" height=""><![CDATA[
Object-Class Value Name        Object-Type             Reference
   TBD19           FLOW        1                       [This I-D]
   TBD20           ACTION      1                       [This I-D]   
]]></artwork>
        </figure>
      </t>
</section>
<section title="PCEP TLV Type Indicators">
   <t>IANA maintains a subregistry called "PCEP TLV Type Indicators". This document defines the following new PCEP TLVs.</t>
   <t>
        <figure title="" suppress-title="false" align="center" alt="" width="" height="">
          <artwork xml:space="preserve" name="" type="" align="center" alt="" width="" height=""><![CDATA[
Value     Meaning                        Reference
 TBD18    PCE-FLOWSPEC-CAPABILITY TLV    [This I-D]
 TBD1     Destination IPv4 Prefix        [This I-D]
 TBD2     Source IPv4 Prefix             [This I-D] 
 TBD3     IP Protocol                    [This I-D]
 TBD4     Port                           [This I-D]
 TBD5     Destination port               [This I-D]
 TBD6     Source port                    [This I-D]
 TBD7     ICMP type                      [This I-D]  
 TBD8     ICMP code                      [This I-D]
 TBD9     TCP flags                      [This I-D]
 TBD10    Packet length                  [This I-D]
 TBD11    DSCP                           [This I-D]
 TBD12    Fragment                       [This I-D]
 TBD13    Flow Label                     [This I-D] 
 TBD14    Destination IPv6 Prefix        [This I-D]
 TBD15    Source IPv6 Prefix             [This I-D]
 TBD16    Next Header                    [This I-D]                
]]></artwork>
        </figure>
      </t>
    </section>   
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>TBD.</t>
    </section>

    <section title="Acknowledgements">
      <t>TBD.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include="reference.RFC.5440"?>

      <?rfc include="reference.RFC.5575"?>

      <?rfc include='reference.I-D.ietf-idr-flow-spec-v6'?>
      <?rfc include='reference.I-D.dhodylee-pce-pcep-ls'?>
      

      
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.4364"?>
      <?rfc include="reference.RFC.4657"?>

      <?rfc include='reference.I-D.ietf-pce-stateful-pce'?>
      <?rfc include='reference.I-D.ietf-pce-pce-initiated-lsp'?>
      
      <?rfc include='reference.I-D.ietf-idr-bgp-flowspec-oid'?>

      

      <?rfc include='reference.I-D.ietf-ospf-flowspec-extensions'?>
      
      <?rfc include='reference.I-D.kuppani-pce-pcep-flowspec-sync'?>
      <?rfc include='reference.I-D.zhao-teas-pce-control-function'?>
    </references>

    <section title="Contributor Addresses" toc="default">
      <t><figure align="left" alt="" height="" suppress-title="false" title=""
          width="">
          <artwork align="left" alt="" height="" name="" type="" width=""
                   xml:space="preserve"><![CDATA[
Shankara
Huawei Technologies
Divyashree Techno Park, Whitefield
Bangalore, Karnataka  560066
India
Email: shankara@huawei.com
Qiandeng Liang                        
Huawei Technologies                                
101 Software Avenue, Yuhuatai District
Nanjing  210012                       
China                                 
Email: liangqiandeng@huawei.com       
        ]]></artwork>
        </figure></t>
    </section>

    <section title="Example Usage" toc="default">
      <t>Once PCE initiate tunnels, it needs to further decide what data needs
      to flow on the newly created tunnel, a flow specification can be created
      at the ingress to redirect the flow to the LSP as shown below.</t>

      <t><figure align="left" alt="" height="" suppress-title="false" title=""
          width="">
          <artwork align="left" alt="" height="" name="" type="" width=""
                   xml:space="preserve"><![CDATA[    


                 *****
                 *PCE*
                /*****
               /
              /
             /
            /
           /
          / 1. PCInitiate 
         /     Message to
        /      initiate LSP
       /       (RTA-RTD)
      / 
     /
    /
   V
+----+          +----+          +----+          +----+
|RTA |----------|RTB |----------|RTC |----------|RTD |
|    |          |    |          |    |          |    |
+----+          +----+          +----+          +----+
 PCC
 Ingress

                 *****
                 *PCE*
                /*****
               /
              /
             /
            /
           /
          / 2. FlowSpec   
         /     Message to add flow
        /      (source - x.x.x.x, port - y)  
       /       to redirect to LSP
      /        (RTA-RTD) 
     /
    /
   V
+----+          +----+          +----+          +----+
|RTA |----------|RTB |----------|RTC |----------|RTD |
|    |          |    |          |    |          |    |
+----+          +----+          +----+          +----+
 PCC
 Ingress        
        ]]></artwork>
        </figure></t>
    </section>
  </back>
</rfc>
