<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" docName="draft-gandhi-pce-ber-02" category="std" ipr="trust200902" consensus="true">
    <!-- Generated by id2xml 1.5.0 on 2020-02-06T01:41:26Z -->
    <?rfc compact="yes"?>
    <?rfc text-list-symbols="oo*+-"?>
    <?rfc subcompact="no"?>
    <?rfc sortrefs="no"?>
    <?rfc symrefs="yes"?>
    <?rfc strict="yes"?>
    <?rfc toc="yes"?>
    <front>
        <title abbrev="PCEP Extensions for Link BER"> Extensions to the Path Computation Element Communication Protocol (PCEP)
          for Utilizing Link Bit Error Rate (BER) Metric</title>
    <seriesInfo name="Internet-Draft" value="draft-gandhi-pce-ber-02"/>    

    <author fullname="Rakesh Gandhi" initials="R." role="editor" surname="Gandhi">
    <organization>Cisco Systems, Inc.</organization>
    <address>
    <postal><street>Canada</street>
    </postal>
    <email>rgandhi@cisco.com</email>
    </address>
    </author>

    <date year="2026"/>    
    <workgroup>PCE Working Group</workgroup>
    <abstract>
    <t>
    Networks may experience transmission bit errors due to various factors, such as poor fiber quality.
    The Path Computation Element Communication
    Protocol (PCEP) provides mechanisms for Path Computation Elements
    (PCEs) to perform path computations in response to Path Computation
    Client (PCC) requests.  This document describes the extensions to PCEP
    to include link Bit Error Rate (BER) metric
    as a constraint for end-to-end path computation.
    The PCEP extension utilize link BER metric advertisements 
    defined for IS-IS and OSPF in draft-gandhi-lsr-ber.
    </t>
    </abstract>
    </front>

    <middle>

   <section title="Introduction" anchor="sect-1">
    <t>
    Networks may experience transmission bit errors due to various factors, such as poor fiber quality.
    The bit error can be a single bit error or a burst of bit errors at a time. 
    Bit errors include layer-2 bit errors (e.g., causing Cyclic Redundancy Check (CRC) errors) 
    or layer-3 and layer-4 bit errors (e.g., causing checksum failures).
    It is important that link BER metric is considered during the path selection process to
    provide service level assurance.
    </t>

    <t>
    The Traffic Engineering Database (TED) is populated with network
    performance information like link latency, delay variation, packet
    loss, as well as parameters related to bandwidth (residual bandwidth,
    available bandwidth, and utilized bandwidth) via TE Metric Extensions
    in OSPF <xref target="RFC7471" format="default"/> or IS-IS <xref target="RFC8570" format="default"/> or via a management system.
    </t>

    <t>
    <xref target="RFC7823" format="default"/> describes how a Path Computation Element (PCE) <xref target="RFC5440" format="default"/> 
    can use that information for path selection for explicitly routed Label Switched Paths (LSPs).
    A Path Computation Client (PCC) can request a PCE to provide a path
    meeting end-to-end network performance criteria.
    <xref target="RFC8233" format="default"/> defines extensions to PCEP to compute service-aware Label Switched Paths (LSPs).
    </t>

    <t>
    This document
    extends the Path Computation Element Communication Protocol (PCEP) to include link Bit Error Rate (BER) metric
    as a constraint for end-to-end path computation.
    The PCEP extensions utilize link BER metric advertisements 
    defined for IS-IS and OSPF in <xref target="I-D.gandhi-lsr-ber"/>.
    </t>

   </section>

   <section title="Conventions Used in This Document" anchor="sect-2">
       
   <section title="Requirements Language" anchor="sect-2.1">

   <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" format="default"/> <xref target="RFC8174" format="default"/>
   when, and only when, they appear in all capitals, as shown here.
   </t>

    </section>

    <section title="Abbreviations" anchor="sect-2.2">

   <t> BER:      Bit Error Rate </t>

   <t> EMA:      Exponential Moving Average </t>

   <t> IGP:      Interior Gateway Protocol </t>

   <t> IS-IS:    Intermediate System to Intermediate System </t>

   <t> OF:       Objective Function </t>

   <t> OSPF:     Open Shortest Path First </t>

   <t> PCC:      Path Computation Client </t>

   <t> PCE:      Path Computation Element </t>

   <t> PER:      Rate of Packets with Bit Errors </t>

   <t> TE:       Traffic Engineering </t>

   <t> TED:      Traffic Engineering Database </t>

    </section>

    </section>

    <section title="Overview" anchor="sect-3">
    <t>
    This document further extends the service-aware path computation extensions for LSPs defined in <xref target="RFC8233" format="default"/> 
    to include link Bit Error Rate (BER) metric as a constraint for end-to-end path computation.
    </t>

    <t>
    Note that the PCEP extensions defined 
    in this document are equally applicable to Segment Routing path computation defined in <xref target="RFC8664" format="default"/>.
    The procedure for multipath Segment Routing will be added in a future revision.
    </t>

    <t>
    The PCEP extensions for including link PER metric will be added in a future revision.
    </t>

    </section>

   <section title="PCEP Extensions" anchor="sect-4">
   <t>
   This section defines PCEP extensions (see <xref target="RFC5440" format="default"/>) 
   to support link-BER-based path computation.
   </t>

   <section title="METRIC Object Types" anchor="sect-4.1">
   <t>
   The METRIC object is defined in Section 7.8 of <xref target="RFC5440" format="default"/>.
   It comprises metric-value and metric-type (T field), and a flags field
   containing a number of bit flags (B bit and C bit). 
   </t>

   <t>
   This document specifies additional types for the METRIC object to enable
   encoding of BER metric types.
   The following metric types (T field) for the METRIC object ae defined.
   </t>

   <t>
    o  Metric Type T=TBA1: Path BER Metric
   </t>
   <t>
    o  Metric Type T=TBA2: P2MP Path BER Metric
   </t>

   <t>
   The following terminology is used and expanded along the way.
   </t>

   <t>
    o  A network comprises a set of N links {Li, (i=1...N)}.
   </t>
 
   <t>
    o  A path P of a point-to-point (P2P) LSP is a list of K links {Lpi,(i=1...K)}.        
   </t>

    </section>

    <section title="Path BER Metric" anchor="sect-4.2">
    <t>
   The Path BER metric (as a percentage) as a metric-value in the METRIC object in
   PCEP encodes a function of the unidirectional BER metric of all
   links along a P2P path. 
    </t>

   <t>
   This follows the composition function described in Section 5.1.5 of <xref target="RFC6049" format="default"/>.
   </t>

   <t>
    o  The percentage link BER of link L is denoted PR(L).
   </t>

   <t>
    o  The fractional link BER of link L is denoted FR(L) = PR(L) / 100.
   </t>

   <t>
    o  The percentage path BER of a path P is denoted PR(P), where PR(P)
       = (1 - ((1-FR(Lp1)) * (1-FR(Lp2)) * .. * (1-FR(LpK)))) * 100.
   </t>

   <t>
   A PCC MAY use the Path BER metric type in a PCReq message to request a
   path that meets the end-to-end BER metric requirement.  In this case,
   the B bit MUST be set to suggest a bound (a maximum) for the Path
   BER metric that MUST NOT be exceeded for the PCC to consider the
   computed path as acceptable.  The Path BER metric MUST be less than
   or equal to the value specified in the metric-value field.
   </t>

   <t>
   A PCC can also use the Path BER metric type to ask the PCE to optimize the path
   BER metric during path computation.  In this case, the C bit MUST be set and the B bit MUST be cleared.
   </t>

   <t>
   A PCE MAY use the Path BER metric type in a PCRep message along with a
   NO-PATH object in the case where the PCE cannot compute a path
   meeting this constraint. 
   </t>

   <t>
   <xref target="RFC5440" format="default"/> 
   defines the METRIC object with a 32-bit metric value encoded in IEEE
   floating point format (see (IEEE.754)).  

   </t>

   <t>
   The encoding for the Path BER metric value is quantified in
   units of percentage and encoded in IEEE floating point format.
   </t>

   <t>
   For use in the PCEP METRIC object, the 24-bit unsigned integer BER
   value as defined <xref target="I-D.gandhi-lsr-ber"/> is converted to a 32-bit IEEE floating point value.  This
   conversion follows the procedure specified in [IEEE.754.2019].
   </t>

   <section title="Objective Function" anchor="sect-4.2.1">
   <t>
   <xref target="RFC5541" format="default"/> defines a mechanism to specify an objective function (OF) that
   is used by a PCE when it computes a path.  
   For Path BER Metric, the following new OF is defined when using the Path BER metric (TBA1).
   </t>

   <t>
   Objective Function Code:  TBA3
   </t>
   <t>
   Name: Minimum BER Path (MBERP)
   </t>
   <t>
   Description: Find a path P such that PR(P) is minimized.
   </t>

   <t>
   If the objective function defined in this document is unknown/
   unsupported by a PCE, then the procedure as defined in Section 3.1.1
   of  <xref target="RFC5541" format="default"/> is followed.
   </t>

   </section>

   </section>

   <section title="P2MP Path BER Metric" anchor="sect-4.3">
   <t>
   The P2MP Path BER metric in a metric-value of the METRIC object in PCEP encodes
   the Path BER Metric for the destination that observes the
   worst path BER metric among all destinations of the P2MP tree.
   Specifically, extending on the above-mentioned terminology:
   </t>

   <t>
   o  A P2MP tree T comprises a set of M destinations {Dest_j, (j=1...M)}.
   </t>

   <t>
   o  The P2P Path BER metric of the path to destination Dest_j is denoted by PRM(Dest_j).
   </t>

   <t>
   o  The P2MP Path BER metric for the P2MP tree T = Maximum {PRM(Dest_j), (j=1...M)}.
   </t>

   <section title="P2MP Objective Function" anchor="sect-4.3.1">

   <t>
   For P2MP path computation using the P2MP Path BER metric (TBA2), the objective-function 
   procedures defined in <xref target="RFC8306" format="default"/> apply. 
   In particular, this document reuses the P2MP objective functions defined in <xref target="RFC8306" format="default"/> 
   and does not define a new P2MP-specific objective function code for BER.
   </t>

   </section>

   </section>

   <section title="TE Flex-Algorithm" anchor="sect-4.4">

   <t>
   Flexible Algorithm (Flex-Algo) in Path Computation Element Communication Protocol (PCEP) 
   enables Path Computation Elements (PCEs) to compute constrained paths using user-defined IGP algorithm metrics.
   </t>

   <t>
   <xref target="RFC9933" format="default"/> defines PCEP extensions for carrying SR-Algorithm for TE.
   </t>

   <t>
    A new Flexible Algorithm Definition (FAD) type is defined for PCEP based on link BER metric 
    for path computation using the IGP Flex-Algo definition specified in <xref target="I-D.gandhi-lsr-flex-algo-link-ber"/>.
   </t>

   <t>
    Additional details will be added in a future revision of this document.
   </t>

   </section>

   </section>

   <section title="Other Considerations" anchor="sect-5">
   <t>
   The new metric type and objective functions defined in this document
   can also be used with the stateful PCE extensions defined in <xref target="RFC8231" format="default"/> for PCE-initiated LSPs.
   The format of PCEP messages described in <xref target="RFC8231" format="default"/> uses
   (intended-attribute-list) and (attribute-list), respectively, (where
   the (intended-attribute-list) is the attribute-list defined in
   Section 6.5 of <xref target="RFC5440" format="default"/> and extended in this
   document) for link BER parameters.
   </t>

   <t>
   A stateful PCE can also determine which LSPs should be reoptimized
   based on network events or triggers from external monitoring systems.
   For example, when a particular link deteriorates and its BER metric  
   increases, this can trigger the stateful PCE to automatically
   determine which LSPs are impacted and should be reoptimized.
   </t>

   </section>

   <section title="Security Considerations" anchor="sect-6">
   <t>
   The security considerations specified in <xref target="RFC5440" format="default"/>, 
   <xref target="RFC8231" format="default"/>, <xref target="RFC8233" format="default"/>, 
   and <xref target="RFC8664" format="default"/> apply to the procedure and extensions defined in this document.
   </t>

   </section>

   <section title="IANA Considerations" anchor="sect-7">
    <t>
    IANA maintains the "Path Computation Element Protocol (PCEP) Numbers" registry.  
    Within this registry, IANA maintains a subregistry for "METRIC Object T Field".
    New metric types are defined in this document for the METRIC object (specified in <xref target="RFC5440" format="default"/>).
    IANA is requested to allocate the values for these METRIC types.
    </t>

    <section title="Metric Types" anchor="sect-7.1">

    <table anchor="iana-tlv-type-tbl-pcep" align="center">
        <name>Metric Types</name>

        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="center">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>

        <tbody>
          <tr>
            <td align="left">TBA1 </td>
            <td align="center">Path BER Metric</td>
            <td align="left">This document</td>
          </tr>

          <tr>
            <td align="left">TBA2 </td>
            <td align="center">P2MP Path BER Metric</td>
            <td align="left">This document</td>
          </tr>

        </tbody>
    </table>

      </section>

      <section title="Objective Function Code" anchor="sect-7.2">
    <t>
    IANA also maintains a subregistry for "PCEP Objective Function (OF) Codes".
    This document defines a new objective function code (specified in <xref target="RFC5541" format="default"/>).
    IANA is requested to allocate the value for this OF code.
    </t>

    <table anchor="iana-of-code-tbl-pcep" align="center">
        <name>Objective Function Code</name>

        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="center">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>

        <tbody>
          <tr>
            <td align="left">TBA3 </td>
            <td align="center">Minimum BER Path (MBERP)</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
    </table>

      </section>

    </section>

    </middle>

    <back>
    <references title="References">
      <references title="Normative References">
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.gandhi-lsr-ber.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5541.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8306.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8231.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8233.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9933.xml"/>
      </references>
      <references title="Informative References">
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.gandhi-lsr-flex-algo-link-ber.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6049.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7471.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7823.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8570.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8664.xml"/>
      </references>
    </references>
    <section title="Acknowledgments" numbered="no" anchor="acknowledgments">
<t>
TBA.
</t>
    </section>

    </back>

    </rfc>
