<?xml version="1.0" encoding="UTF-8"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     ipr="trust200902"
     category="std"
     submissionType="IETF"
     consensus="true"
     docName="draft-gandhi-lsr-flex-algo-link-ber-00"
     version="3">
  <front>
    <title abbrev="Flexible-Algorithm with Link BER">IGP Flexible Algorithm Utilizing Link Bit Error Rate Metric</title>

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

    <date year="2026"/>
    <area>Routing</area>
    <workgroup>LSR Working Group</workgroup>

    <abstract>
    <t>Networks may experience transmission bit errors due to various factors, such as poor fiber quality.
    This document defines extensions to the IGP Flexible Algorithm to utilize the link Bit Error Rate (BER) 
    metric as a link constraint. It defines a mechanism to exclude links whose BER metric exceeds a 
    configured threshold during Flex-Algorithm path computation. The mechanism utilizes BER metric advertisement 
    defined for IS-IS and OSPF in draft-gandhi-lsr-ber.
    </t>

    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>Link Bit Error Rate (hereafter "link BER metric") refers to the percentage of transmitted bits that are received in error over a network link. It is a key metric for network performance evaluation. A high BER metric can impact service quality and forwarding efficiency. To maintain optimal forwarding paths, it is desirable to avoid links with excessive BER metric values during IGP path computation.</t>

      <t>The IGP Flexible Algorithms enable IGPs to compute constraint-based paths <xref target="RFC9350"/>. Current path computation methods focus on determining the minimum path cost from source to destination. Flex-Algorithm already supports path computation based on IGP cost, minimum link delay, and traffic-engineering metrics. <xref target="RFC9843"/> defines additional generic metric types and constraints.</t>

      <t><xref target="I-D.gandhi-lsr-ber"/> defines BER metric advertisement extensions for IS-IS and OSPF. This document specifies a BER-metric-based exclusion constraint for Flex-Algorithm path computation.</t>

    </section>

    <section anchor="conventions" title="Conventions Used in This Document">
      <section anchor="req-lang" 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 anchor="abbreviations" title="Abbreviations">
        <t>BER: Bit Error Rate.</t>
        <t>EMA: Exponential Moving Average.</t>
        <t>FA-EMB: Flex-Algorithm Exclude Maximum Link BER.</t>
        <t>FAD: Flexible Algorithm Definition.</t>
        <t>OSPF: Open Shortest Path First.</t>
        <t>TLV: Type-Length-Value.</t>
      </section>
    </section>

    <section anchor="overview" title="Overview">
      <t>This document defines a new Flexible Algorithm Definition (FAD) that exclude links exceeding a configured maximum BER threshold.
      </t>

      <t>Existing metric-type (for example, IGP, TE, and delay) remains unchanged.</t>

      <t>
      <xref target="I-D.gandhi-lsr-ber"/> defines extensions for advertising Packets with Bit Errors (PER) metric for links.
      Utilizing the link PER metric for Flex-Algorithm path computation will be covered in the future revision of this document.
      </t>

    </section>

    <section anchor="exclude-max-ber" title="Exclude Maximum Link BER Sub-TLV">
      <t>A new sub-sub-TLV, the "Exclude Maximum Link BER Sub-TLV", is defined as part of the FAD TLV. To ensure loop-free forwarding, all routers participating in a Flex-Algorithm MUST agree on the FAD definition. Selected nodes within the IGP domain MUST advertise FADs by including them in routing updates, as specified in Sections 5, 6, and 7 of <xref target="RFC9350"/>.</t>

      <t>The "Exclude Maximum Link BER Sub-TLV" defines the maximum allowable BER metric value for links in the Flex-Algorithm topology. When this sub-sub-TLV is present, links whose advertised BER metric exceeds the configured maximum BER metric value are excluded from path computation.</t>

      <section anchor="isis-subtlv" title="IS-IS Exclude Maximum Link BER Sub-TLV">
        <t>The IS-IS FA-EMB Sub-TLV is defined as a sub-sub-TLV of the IS-IS FAD Sub-TLV.</t>

      <figure anchor="ISIS-FA-EMB">
        <name>IS-IS FA-EMB Sub-TLV</name>
        <artwork name="" type="" align="left" alt=""><![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 2
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |      Type     |    Length     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            Maximum Link BER                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ]]></artwork>  
      </figure>

        <t>Type: TBA1 (to be assigned by IANA)</t>
        <t>Length: 3 octets</t>
        <t>Max Link BER: 24-bit unsigned integer representing the maximum allowable BER percentage. Encoded with a resolution of 0.000003% per unit, providing a maximum expressible value of 50.331642% (0xFFFFFF * 0.000003). Values exceeding this limit MUST be advertised as 0xFFFF FF.</t>

        <t>The FA-EMB sub-sub-TLV MUST appear at most once in the IS-IS FAD Sub-TLV. If it appears more than once, the IS-IS FAD Sub-TLV MUST be ignored by the receiving node.</t>

        <t>The maximum link BER metric advertised in the FA-EMB sub-sub-TLV MUST be compared with the BER metric advertised for the link as defined in <xref target="I-D.gandhi-lsr-ber"/>. </t>

        <t>If the advertised link BER metric exceeds the maximum BER metric in FA-EMB, the link MUST be excluded from the Flex-Algorithm topology.</t>

        <t>If a link does not advertise the BER metric but the FAD contains the FA-EMB sub-sub-TLV, the link MUST NOT be excluded from the Flex-Algorithm topology.</t>
      </section>

      <section anchor="ospf-subtlv" title="OSPF Exclude Maximum Link BER Sub-TLV">
        <t>The OSPF FA-EMB Sub-TLV is defined as a sub-sub-TLV of the OSPF FAD Sub-TLV.</t>

      <figure anchor="OSPF-FA-EMB">
        <name>OSPF FA-EMB Sub-TLV</name>
        <artwork name="" type="" align="left" alt=""><![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 2
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |               Type            |            Length             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                Maximum Link BER               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ]]></artwork>  
      </figure>

        <t>Type: TBA2 (to be assigned by IANA)</t>
        <t>Length: 3 octets</t>
        <t>Max Link BER: 24-bit unsigned integer representing the maximum allowable BER percentage. Encoded with a resolution of 0.000003% per unit, providing a maximum expressible value of 50.331642% (0xFFFFFF * 0.000003). Values exceeding this limit MUST be advertised as 0xFFFF FF. </t>

        <t>The FA-EMB sub-sub-TLV MUST appear at most once in the OSPF FAD Sub-TLV. If it appears more than once, the OSPF FAD Sub-TLV MUST be ignored by the receiving node.</t>

        <t>The maximum link BER metric advertised in the FA-EMB sub-sub-TLV MUST be compared with the BER metric advertised for the link as defined in <xref target="I-D.gandhi-lsr-ber"/>.
        </t>

        <t>If the advertised link BER metric exceeds the maximum BER metric in FA-EMB, the link MUST be excluded from the Flex-Algorithm topology.</t>

        <t>If a link does not advertise the BER metric but the FAD contains the FA-EMB sub-sub-TLV, the link MUST NOT be excluded from the Flex-Algorithm topology.</t>
      </section>
    </section>

    <section anchor="calc" title="Calculation of Flexible Algorithm Paths">
      <t>The following rule is added to the topology pruning rules in Section 13 of <xref target="RFC9350"/>:</t>
      <ol type="1">
        <li>Check if any exclude FA-EMB rule is part of the Flex-Algorithm definition. If such exclude rule exists and the link has BER metric advertised, check whether the link satisfies the FA-EMB rule. If not, the link MUST be pruned from the computation.</li>
      </ol>
    </section>

    <section anchor="ops" title="Operational Considerations">
      <t>In some deployments, the BER metric may oscillate around the configured threshold, causing repeated topology updates and recomputations. The following mechanisms can improve stability:</t>
      <ol type="1">
        <li>Delayed collection: BER metric values advertised into IGP can be computed over a sufficiently long observation interval.</li>
        <li>Averaging and normalization: BER metric values SHOULD be derived from averaged data (for example EMA) and MAY be normalized to avoid advertising insignificant changes.</li>
        <li>Flapping suppression: Implementations MAY apply dampening or hold-down timers before advertising BER metric changes that repeatedly cross the exclusion threshold.</li>
      </ol>
    </section>

    <section anchor="security" title="Security Considerations">
      <t>The security considerations in <xref target="RFC9350"/>, <xref target="RFC8570"/>, <xref target="RFC7471"/>, <xref target="RFC9479"/>, <xref target="RFC9492"/>, and <xref target="I-D.gandhi-lsr-ber"/> apply.</t>
    </section>

    <section anchor="iana" title="IANA Considerations">
      <t>This document requests allocation of two new code points.</t>

      <section anchor="iana-isis" title="IS-IS Sub-Sub-TLVs in Flexible Algorithm Definition Sub-TLV">
        <t>IANA maintains the registry for IS-IS sub-sub-TLVs in the Flexible Algorithm Definition Sub-TLV. IANA is requested to allocate the following IS-IS sub-sub-TLV type:</t>
        <table anchor="iana-table-isis">
          <name>IS-IS Sub-Sub-TLV Types</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>TBA1</td>
              <td>IS-IS Exclude Maximum Link BER Sub-TLV</td>
              <td>This document</td>
            </tr>
          </tbody>
        </table>
      </section>

      <section anchor="iana-ospf" title="OSPF Sub-Sub-TLVs in Flexible Algorithm Definition Sub-TLV">
        <t>IANA maintains the registry for OSPF sub-sub-TLVs in the Flexible Algorithm Definition Sub-TLV. IANA is requested to allocate the following OSPF sub-sub-TLV type:</t>
        <table anchor="iana-table-ospf">
          <name>OSPF Sub-Sub-TLV Types</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>TBA2</td>
              <td>OSPF Exclude Maximum Link BER Sub-TLV</td>
              <td>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.8174.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9350.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9479.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9492.xml"/>
      </references>

      <references title="Informative References">
        <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.8570.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9843.xml"/>
      </references>
    </references>

    <section anchor="ack" title="Acknowledgments" numbered="false">
      <t>TBA.</t>
    </section>
  </back>
</rfc>
