<?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-dong-pce-pcep-nrp-01" ipr="trust200902"
     obsoletes="" submissionType="IETF" updates="" xml:lang="en">
  <front>
    <title abbrev="PCEP Extensions for NRP">Path Computation Element
    Communication Protocol (PCEP) Extensions for Network Resource Partition
    (NRP)</title>

    <author fullname="Jie Dong" initials="J." surname="Dong">
      <organization>Huawei Technologies</organization>

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

          <city>Beijing</city>

          <code>100095</code>

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

        <email>jie.dong@huawei.com</email>
      </address>
    </author>

    <author fullname="Sheng Fang" initials="S." surname="Fang">
      <organization>Huawei Technologies</organization>

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

          <city>Beijing</city>

          <code>100095</code>

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

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

    <author fullname="Quan Xiong" initials="Q." surname="Xiong">
      <organization>ZTE Corporation</organization>

      <address>
        <postal>
          <street>No. 6 Huashi Park Rd</street>

          <city>Wuhan</city>

          <region>Hubei</region>

          <code>430223</code>

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

        <email>xiong.quan@zte.com.cn</email>
      </address>
    </author>

    <author fullname="Shaofu Peng" initials="S." surname="Peng">
      <organization>ZTE Corporation</organization>

      <address>
        <postal>
          <street>No. 50 Software Avenue</street>

          <city>Nanjing</city>

          <region>Jiangsu</region>

          <code>210012</code>

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

        <email>peng.shaofu@zte.com.cn</email>
      </address>
    </author>

    <author fullname="Liuyan Han" initials="L." surname="Han">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street/>

          <city>Beijing</city>

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

        <email>hanliuyan@chinamobile.com</email>
      </address>
    </author>

    <author fullname="Minxue Wang" initials="M." surname="Wang">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street/>

          <city>Beijing</city>

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

        <email>wangminxue@chinamobile.com</email>
      </address>
    </author>

    <author fullname="Vishnu Pavan Beeram" initials="V." surname="Beeram">
      <organization>Juniper Networks</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <code/>

          <country/>
        </postal>

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

    <author fullname="Tarek Saad" initials="T." surname="Saad">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <code/>

          <country/>
        </postal>

        <email>tsaad.net@gmail.com</email>
      </address>
    </author>

    <date day="23" month="October" year="2023"/>

    <area>Routing</area>

    <workgroup>PCE Working Group</workgroup>

    <abstract>
      <t>This document specifies the extensions to Path Computation Element
      Communication Protocol (PCEP) to carry Network Resource Partition (NRP)
      related information in the PCEP messages. The extensions in this
      document can be used to indicate the NRP-specific constraints and
      information needed in path computation, path status report and path
      initialization.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction" toc="default">
      <t>RFC Editor Note: Please replace "RFC XXXX" in this document with the
      RFC number assigned to <xref
      target="I-D.ietf-teas-ietf-network-slices"/>, and remove this note.</t>

      <t><xref target="RFC5440"/> describes the Path Computation Element (PCE)
      Communication Protocol (PCEP). PCEP enables the communication between a
      Path Computation Client (PCC) and a PCE, or between PCE and PCE, for the
      purpose of computation of Multi-protocol Label Switching (MPLS) as well
      as Generalized MPLS (GMPLS) Traffic Engineering Label Switched Path (TE
      LSP) characteristics. As depicted in <xref target="RFC4655"/>, a PCE
      MUST be able to compute the path of a TE LSP by operating on the TED and
      considering bandwidth and other constraints applicable to the TE LSP
      service request.</t>

      <t><xref target="RFC8231"/> specifies a set of extensions to PCEP to
      enable stateful control of TE LSPs within 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 over LSPs to PCEs, and PCE control of timing and sequence of
      path computations within and across PCEP sessions. The model of
      operation where LSPs are initiated from the PCE is described in <xref
      target="RFC8281"/>. <xref target="RFC8664"/> specifies PCEP extensions
      to allow a stateful PCE to compute and initiate TE paths, as well as a
      PCC to request a path subject to certain constraints and optimization
      criteria in SR networks.</t>

      <t>With the introduction and evolvement of 5G and other network
      scenarios, existing or emerging applications or customers may require
      connectivity services with additional characteristics. As described in
      <xref target="I-D.ietf-teas-ietf-network-slices"/>, an RFC XXXX Network
      Slice enables connectivity service between a set of Service Demarcation
      Points (SDPs) with specific Service Level Objectives (SLOs) and Service
      Level Expectations (SLEs) over a common underlay network. For the
      realization of RFC XXXX network slice service, the concept Network
      Resource Partition (NRP) is introduced in <xref
      target="I-D.ietf-teas-ietf-network-slices"/>. A Network Resource
      Partition (NRP) is a subset of the buffer/queuing/ scheduling resources
      and associated policies on each of a connected set of links in the
      underlay network.</t>

      <t><xref target="I-D.ietf-teas-enhanced-vpn"/> describes a framework and
      the candidate technologies for providing VPN+ services. It introduces
      the concept of Virtual Transport Network (VTN), which consists of a set
      of dedicated or shared network resources allocated from the physical
      underlay network, and is associated with a customized logical network
      topology. VPN+ services can be delivered by mapping one or a group of
      overlay VPNs to the appropriate VTNs as the underlay, so as to provide
      the network characteristics required by the VPN+ customers. NRP can be
      seen as an instantiation of VTN in the context of network slicing.
      Without loosing generality, this document uses the term NRP to refer to
      the set of network resources on a set of connected links in the underlay
      network.</t>

      <t>In MPLS or SR based network, the set of network resources allocated
      to an NRP can be identified using resource-aware SR SIDs as defined in
      <xref target="I-D.ietf-spring-resource-aware-segments"/> <xref
      target="I-D.ietf-spring-sr-for-enhanced-vpn"/>, or the VTN Resource ID
      as defined in <xref target="I-D.ietf-6man-enhanced-vpn-vtn-id"/>. The
      logical topology associated with an NRP could be specified using
      mechanisms such as Multi-Topology <xref target="RFC4915"/>, <xref
      target="RFC5120"/> or Flex-Algo <xref target="RFC9350"/>, etc.</t>

      <t>To meet specific service requirement, traffic flows of an RFC XXXX
      network slice service need be steered onto TE paths of the corresponding
      NRP. A PCC may request the PCE for computing a TE path within an NRP, so
      that the path computation would take the resource attributes and the
      associated topology of the NRP into consideration. Correspondingly, a
      PCE may reply or initiate a TE path with NRP specific control plane and
      data plane information to a PCC.</t>

      <t>This document specifies the extensions to PCEP to carry Network
      Resource Partition (NRP) related information in the PCEP messages. The
      extensions can be used in the basic PCE computation, the stateful PCE
      and the PCE-initiated LSP mechanisms to indicate the NRP-specific
      constraints and information needed in path computation, path status
      report and path initialization.</t>

      <section title="Requirements Language">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
        "OPTIONAL" in this document are to be interpreted as described in BCP
        14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only
        when, they appear in all capitals, as shown here.</t>
      </section>
    </section>

    <section anchor="SEC_EXT" title="PCEP Extensions" toc="default">
      <section title="New TLV in LSPA Object" toc="default">
        <t>A new NRP TLV for use in the LSPA Object is defined to indicate the
        NRP ID and the related information which needs to be considered in
        path computation or instantiation. The format of the NRP TLV is as
        follows:</t>

        <figure align="center" anchor="SEC_FIG1" title="NRP TLV Format">
          <artwork align="center" xml:space="preserve"><![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=TBD1          |        Length=Variable        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             NRP ID                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Flags             |           Reserved            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |  
//                    Optional sub-TLV(s)                       //
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>

        <t>Where:</t>

        <t><list style="symbols">
            <t>NRP ID: A network-wide unique 32-bit identifier which is used
            to identify an NRP.</t>

            <t>Flags: 16-bit flags. Currently all the flags are reserved for
            future use. They SHOULD be set to zero on transmission and MUST be
            ignored on receipt.</t>

            <t>Reserved: 16-bit reserved field for future use. All the bits
            SHOULD be set to zero on transmission and MUST be ignored on
            receipt.</t>

            <t>Optional sub-TLVs: Additional information which can be used in
            NRP-specific constraints. Currently no sub-TLV is defined in this
            document.</t>
          </list></t>
      </section>

      <section title="Capability Advertisement">
        <t>A PCEP speaker indicates whether it supports NRP-specific path
        computation using a new PCEP capability called "NRP-CAPABILITY". When
        the PCEP session is created, it sends an Open message with an OPEN
        Object containing the NRP-CAPABILITY TLV. The format of this TLV is as
        follows:</t>

        <t><figure align="center" anchor="SEC_FIG2" title="NRP CAPABILITY TLV">
            <artwork align="center" xml:space="preserve"><![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=TBD2        |            Length=4           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             Flags                           |D|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure></t>

        <t>The type (16 bits) of the TLV is TBA. The length field is 16 bits
        long and has a fixed value of 4.</t>

        <t>The value comprises a single field -- Flags (32 bits):</t>

        <t><list style="symbols">
            <t>D (Data Plane NRP ID CAPABILITY - 1 bit): if set to 1 by a PCC,
            the D flag indicates that the PCC supports the encapsulation of
            data plane NRP ID in data packet; if set to 1 by a PCE, it
            indicates that the PCE supports to provide path computation result
            with the data plane NRP ID used for the path.</t>

            <t>Unassigned bits in the Flags field MUST be set to zero on
            transmission and ignored on receipt.</t>
          </list></t>
      </section>
    </section>

    <section title="Operations">
      <t>The NRP TLV defined in this document can be used for NRP-aware TE
      path computation, NRP-specific path status report and NRP-specific path
      instantiation, thus it is applicable to both the basic PCE mechanisms
      and the stateful PCE mechanisms.</t>

      <section title="NRP-aware Path Computation">
        <t>NRP-aware TE path computation SHOULD be performed based on the
        constraints and network resources associated with a specific NRP.
        Information about the NRP-specific network resource and topology
        attributes may be obtained by the PCE either from the network planning
        system, or using a distributed control plane such as IGP or BGP-LS
        with necessary extensions. The detailed mechanism is out of the scope
        of this document.</t>

        <t>In a PCReq message, the NRP TLV SHOULD be carried in the LSPA
        Object to indicate that the path computation needs to be executed
        using the network resource and topological attributes of the NRP. The
        PCE SHOULD use the network resource and topology attributes associated
        with the specified NRP as the parameters in path computation. In a
        PCRep message, the NRP TLV MAY be carried in the LSPA Object in case
        of failure to indicate the path computation in the specified NRP was
        not successful.</t>
      </section>

      <section title="NRP-specific Path Update and Report">
        <t>The NRP TLV defined in this document can be used for NRP-specific
        path update and report in the stateful PCE mechanisms.</t>

        <t>A PCE MAY include the NRP TLV in PCUpd Message to indicate the NRP
        in which the TE path needs to be updated. The NRP ID SHOULD be the
        same as the NRP ID of the existing TE path. If a PCC receives an PCUpd
        message in which the NRP ID does not match with the NRP ID of the
        path, the PCC MUST keep the LSP state unchanged, and include an LSP
        Error Code value of "NRP Mismatch" (TBD3) in LSP State Report message.
        On successful update of a TE path, the NRP TLV SHOULD be included in
        the PCRpt message to indicate the NRP in which the TE path is
        reported.</t>
      </section>

      <section title="NRP-specific Path Initiation">
        <t>The NRP TLV defined in this document can be used for NRP-specific
        path initiation in the PCE-Initiated LSP mechanisms.</t>

        <t>In a PCInitiate message, the NRP TLV MAY be included to indicate
        the NRP in which the path needs to be initiated. Depending on the
        setting of the D flag in the NRP Capability, the PCC will use either
        the resources-aware SIDs associated with the NRP or the data plane NRP
        ID in constructing the NRP specific TE path. If the PCC determines
        that the LSP parameters proposed in the PCInitiate message are
        unacceptable, it MUST send a PCErr message with Error-type=24 (PCE
        instantiation error) and Error-value=1 (Unacceptable instantiation
        parameters). On successful completion of the LSP instantiation, the
        NRP TLV SHOULD be included in the PCRpt message to indicate the NRP in
        which the TE path was instantiated.</t>
      </section>
    </section>

    <section title="Security Considerations" toc="default">
      <t>This document defines a new NRP TLV that do not add any new security
      concerns beyond those discussed in <xref target="RFC5440"/> in itself.
      Some deployments may find the NRP information to be extra sensitive and
      could be used to influence path computation and setup with adverse
      effect. Additionally, snooping of PCEP messages with such data or using
      PCEP messages for network reconnaissance may give an attacker sensitive
      information about the operations of the network. Thus, such deployment
      should employ suitable PCEP security mechanisms like TCP Authentication
      Option (TCP-AO) <xref target="RFC5925"/> or Transport Layer Security
      (TLS) <xref target="RFC8253"/>. The procedure based on TLS is considered
      a security enhancement and thus is much better suited for the sensitive
      information.</t>
    </section>

    <section title="IANA Considerations" toc="default">
      <t>This document makes following requests to IANA for action.</t>

      <t>IANA is requested to make the following allocations in the "PCEP TLV
      Type Indicators" subregistry of the "Path Computation Element Protocol
      (PCEP) Numbers" registry:</t>

      <t><figure>
          <artwork><![CDATA[            Value      Description        Reference
            -----    ----------------     -------------
             TBD1         NRP             This document 
             TBD2     NRP CAPABILITY      This document ]]></artwork>
        </figure></t>

      <t>IANA is requested to allocate a new error code in the "LSP-ERROR-CODE
      TLV Error Code Field" sub-registry of the "Path Computation Element
      Protocol (PCEP) Numbers" registry:</t>

      <t><figure>
          <artwork><![CDATA[            Value      Description        Reference
            -----    ----------------     -------------
             TBD3     NRP Mismatch        This document]]></artwork>
        </figure></t>
    </section>

    <section title="Contributors">
      <t><figure>
          <artwork><![CDATA[Dhruv Dhody
Email: dhruv.ietf@gmail.com

Zhibo Hu
Email: huzhibo@huawei.com
]]></artwork>
        </figure></t>
    </section>

    <section title="Acknowledgments" toc="default">
      <t>The authors would like to thank Zhenbin Li for his review and
      valuable comments.</t>
    </section>
  </middle>

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

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

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

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

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

      <?rfc include='reference.RFC.8664'?>

      <?rfc include='reference.RFC.9350'?>
    </references>

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

      <?rfc include='reference.RFC.4657'?>

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

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

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

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

      <?rfc include='reference.I-D.ietf-teas-ietf-network-slices'?>

      <?rfc include="reference.I-D.ietf-teas-enhanced-vpn"?>

      <?rfc include='reference.I-D.ietf-spring-resource-aware-segments'?>

      <?rfc include="reference.I-D.ietf-spring-sr-for-enhanced-vpn"?>

      <?rfc include='reference.I-D.ietf-6man-enhanced-vpn-vtn-id'?>
    </references>
  </back>
</rfc>
