<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt"?>
<rfc submissionType="IETF" category="std" ipr="trust200902" docName="draft-lin-idr-bgpls-te-policy-pm-10"
version="3" consensus="true" xmlns:xi="http://www.w3.org/2001/XInclude">
  <?rfc toc="yes"?>
  <?rfc symrefs="yes"?>
  <?rfc sortrefs="yes"?>
  <?rfc compact="yes"?>
  <?rfc subcompact="no"?>
  <?rfc private=""?>
  <?rfc topblock="yes"?>
  <?rfc comments="no"?>

  <front>
    <title abbrev="BGP-LS TE Policy Performance Metric">BGP-LS Advertisement of SR Policy Performance Metric</title>

    <author fullname="Changwang Lin" surname="Lin">
      <organization abbrev="New H3C Technologies">New H3C Technologies</organization>
      <address>
        <email>linchangwang.04414@h3c.com</email>
      </address>
    </author>

    <author fullname="Yisong Liu" surname="Liu">
      <organization abbrev="China Mobile">China Mobile</organization>
      <address>
        <email>liuyisong@chinamobile.com</email>
      </address>
    </author>

    <author fullname="Yongqing Zhu" surname="Zhu">
      <organization abbrev="China Telecom">China Telecom</organization>
      <address>
        <postal>
          <city>Guangzhou</city>
        </postal>
        <email>zhuyq8@chinatelecom.cn</email>
      </address>
    </author>

    <author fullname="Ran Chen" surname="Chen">
      <organization abbrev="ZTE Corporation">ZTE Corporation</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>chen.ran@zte.com.cn</email>
      </address>
    </author>

    <author fullname="Aravind Babu MahendraBabu" surname="MahendraBabu">
      <organization abbrev="Cisco Systems">Cisco Systems</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>aramahen@cisco.com</email>
      </address>
    </author>

    <date year="2026"/>

    <area>Routing</area>

    <workgroup>IDR Working Group</workgroup>

    <keyword>BGP-LS</keyword>
    <keyword>Segment Routing</keyword>
    <keyword>SR Policy</keyword>
    <keyword>Performance Metric</keyword>
    <keyword>Traffic Engineering</keyword>

    <abstract>
      <t>
        This document describes a way to advertise the performance metrics
        for Traffic Engineering (TE) Policy using BGP Link State (BGP-LS).
      </t>
    </abstract>
  </front>

  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false">
      <name>Introduction</name>
      <t>
        BGP Link State (BGP-LS) can be used to distribute link-state and
        traffic engineering (TE) information to external components
        <xref target="RFC9552"/>. <xref target="RFC9857"/> describes the mechanism for BGP-LS to
        distribute the information of TE policies.
      </t>
      <t>
        In some network scenarios, the controller needs to obtain the
        performance information of TE Policies, which can be used in service
        placement to meet better customer requirements and utilize network
        resources more efficiently.
      </t>
      <t>
        <xref target="I-D.ietf-spring-stamp-srpm-mpls"/> and <xref target="I-D.ietf-spring-stamp-srpm-srv6"/>
        describe the procedures for Performance Measurement in SR
        networks, using STAMP as defined in <xref target="RFC8762"/>. The described
        procedure is used for SR paths <xref target="RFC8402"/> (including SR Policies
        <xref target="RFC9256"/>).
      </t>
      <t>
        This document describes a way to advertise the performance metrics
        for Traffic Engineering (TE) Policy using BGP Link State (BGP-LS).
      </t>

      <section anchor="requirements-language" numbered="true" removeInRFC="false">
        <name>Requirements Language</name>
        <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="sr-policy-pm-advertisement" numbered="true" removeInRFC="false">
      <name>Advertisement of SR Policy Performance Metric</name>
      <t>
        <xref target="RFC8571"/> defines several Link Attribute TLVs for BGP-LS to carry
        the IGP Traffic Engineering Performance Metric Extensions:
      </t>
      <table anchor="link-attribute-tlvs" align="left">
        <name>Link Attribute TLVs for Performance Metric Extensions</name>
        <thead>
          <tr>
            <th>TLV Code Point</th>
            <th>Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>1114</td>
            <td>Unidirectional Link Delay</td>
          </tr>
          <tr>
            <td>1115</td>
            <td>Min/Max Unidirectional Link Delay</td>
          </tr>
          <tr>
            <td>1116</td>
            <td>Unidirectional Delay Variation</td>
          </tr>
          <tr>
            <td>1117</td>
            <td>Unidirectional Link Loss</td>
          </tr>
        </tbody>
      </table>
      <t>
        The above TLVs can be reused to report performance metrics for TE
        Policies. The scope of measurement and advertisement is described in
        <xref target="scope-of-measurement"/>.
      </t>
      <t>
        When used to describe the performance metric of the SR Policy NLRI,
        they are carried in the optional non-transitive BGP Path Attribute
        "BGP-LS Attribute" defined in <xref target="RFC9552"/>. The semantics of the above
        TLVs comply with <xref target="RFC8571"/>, except for that they are extended to
        describe TE Policies besides IGP links.
      </t>
      <t>
        The performance metric of SR Policy may be measured at the headend,
        for example, by using STAMP for SR Policy <xref target="I-D.ietf-spring-stamp-srpm-mpls"/> and <xref target="I-D.ietf-spring-stamp-srpm-srv6"/>. But the
        measurement methods are out of the scope of this document.
      </t>
      <t>
        The existing performance metrics above are all unidirectional.
        However, there are also requirements to advertise round-trip
        performance metrics for TE Policies. The BGP-LS extensions for
        round-trip TE performance metrics are defined in the <xref target="round-trip-extensions"/>.
      </t>

      <section anchor="scope-of-measurement" numbered="true" removeInRFC="false">
        <name>Scope of Measurement</name>
        <t>
          The TLVs defined in this document and the reused TLVs from
          <xref target="RFC8571"/> can be used to report performance metrics at two
          levels:
        </t>
        <ul>
          <li>
            <t>
              SID-List level: When a metric is associated with a
              specific SID list, the TLV is carried as a sub-TLV of the
              corresponding SR Segment List TLV
              <xref target="RFC9857"/> of the SR Policy Candidate Path NLRI.
            </t>
          </li>
          <li>
            <t>
              Candidate Path level: When a metric is associated
              with a particular SR candidate path, the TLV is carried as a top-level
              TLV in the BGP-LS Attribute associated with the SR Policy Candidate
              Path NLRI <xref target="RFC9857"/>.
            </t>
          </li>
        </ul>
        <t>
          When multiple SID lists are active and load balanced for a candidate path,
          a candidate-path-level metric represents the performance measured across all active
          SID lists, which may be a weighted aggregate (weighted by the weight
          associated with each SID list, as defined in <xref target="RFC9256"/>). A value
          measured for a single SID list MUST NOT be advertised as representing the
          entire candidate path. In such cases, the metric MUST be reported at the
          SID-List level.
        </t>
        <t>
          When a candidate path or SID list becomes inactive, or when a SID list or
          its weight changes, the metrics associated with the affected SID list or
          candidate path SHOULD be re-advertised with updated information. When a
          candidate path or SID list is no longer active, the associated metrics that
          are no longer valid SHOULD be withdrawn and the latest measurement for the
          newly active SID list or candidate path SHOULD be advertised.
        </t>
        <t>
          A PCE MAY advertise these measurements on behalf of the headend, as
          permitted by <xref target="RFC9857"/>. In this case, the measurements remain
          associated with the exact headend, candidate path, and SID list through the
          corresponding SR Policy Candidate Path NLRI as defined in
          <xref target="RFC9857"/>. The measurement information MUST remain associated with the
          exact headend, candidate path, and SID list for which the measurement was
          performed. A value measured for one SID list MUST NOT be advertised as
          representing the entire candidate path.
        </t>
        <t>
          BGP-LS distributes state information; it does not by itself indicate when a
          measurement was taken or whether the measurement session remains operational.
          A stale value may therefore remain associated with a live SR Policy Candidate
          Path NLRI after the measurement session fails or becomes idle. The absence of
          a performance metric TLV in a BGP-LS update MUST be interpreted as "no current
          value is advertised" -- it MUST NOT be interpreted as a zero value and it does
          not imply withdrawal of the SR Policy Candidate Path NLRI. A BGP-LS consumer
          MUST NOT retain a previously received value for a given metric after an
          updated BGP-LS Attribute omits that TLV; the value MUST be considered invalid
          until a new measurement is advertised.
        </t>
        <t>
          For each TLV defined in this document and reused from
          <xref target="RFC8571"/>, only one instance of a given metric type is permitted
          per container (i.e., per SR Segment List TLV for SID-List level metrics, or per
          BGP-LS Attribute for Candidate Path level metrics). If multiple instances of the
          same metric type appear in a container, the first syntactically valid instance
          MUST be used, and subsequent instances MUST be ignored. This rule is consistent
          with <xref target="RFC9857"/>.
        </t>
      </section>
    </section>

    <section anchor="relationship-to-rfc9857" numbered="true" removeInRFC="false">
      <name>Relationship to RFC 9857</name>
      <t>
        <xref target="RFC9857"/> defines a mechanism for advertising SR Policy
        information using BGP-LS, including the SR Policy Candidate Path NLRI
        and associated state TLVs. In particular, <xref target="RFC9857"/>
        defines:
      </t>
      <ul>
        <li>
          <t>
            The SR Metric Constraint sub-TLV (Type 1215) for reporting
            optimization metrics and constraints at the candidate path level
            (Section 5.6.6 of <xref target="RFC9857"/>)
          </t>
        </li>
        <li>
          <t>
            The SR Segment List Metric sub-TLV (Type 1207) for reporting
            computed metrics at the segment list level (Section 5.7.2 of
            <xref target="RFC9857"/>)
          </t>
        </li>
      </ul>
      <t>
        The metrics defined in <xref target="RFC9857"/> are computed
        path metrics, which are derived by the computation entity (i.e., the
        headend or the controller when the path is delegated). These include the
        optimization metric with its margin and bound used for path computation, as
        well as the computed metric values of the resulting path. They represent
        the computed or planned characteristics of an SR Policy based on the
        underlying IGP link-state TE metrics.
      </t>
      <t>
        In contrast, this document reuses the IGP Traffic Engineering
        Performance Metric Extensions TLVs defined in <xref target="RFC8571"/>
        (Types 1114-1117) and extends their applicability to SR Policies. These
        TLVs are used to advertise measured operational performance
        metrics, which are obtained through active or passive measurement of
        the actual traffic forwarding behavior. The round-trip extensions
        defined in <xref target="round-trip-extensions"/> follow the same
        approach for bidirectional performance characteristics.
      </t>
      <t>
        The key distinctions between the two documents are:
      </t>
      <ul>
        <li>
          <t>
            Source of metrics: <xref target="RFC9857"/> reports
            computed or planned metrics from the path computation entity, while
            this document reports measured operational performance from actual
            traffic forwarding.
          </t>
        </li>
        <li>
          <t>
            TLV namespace: <xref target="RFC9857"/> uses the
            SR Policy Metric Types (e.g., Types 1207 and 1215) within the SR
            Policy Attribute, while this document reuses the Link Attribute
            TLVs (Types 1114-1117) from <xref target="RFC8571"/>.
          </t>
        </li>
        <li>
          <t>
            Directionality: The SR Policy Metric Types in
            <xref target="RFC9857"/> are unidirectional, while this document
            also defines round-trip (bidirectional) performance metrics.
          </t>
        </li>
        <li>
          <t>
            Use case: <xref target="RFC9857"/> provides SR Policy state
            information for path computation, reoptimization, service placement,
            and network visualization, while this document additionally enables
            operational monitoring and reoptimization based on measured performance
            metrics.
          </t>
        </li>
      </ul>
      <t>
        When both types of metrics are present, a consumer SHOULD treat them
        as complementary information:
      </t>
      <ul>
        <li>
          <t>
            The computed metrics from <xref target="RFC9857"/> indicate the
            computed path metric values from the computation entity (i.e., the
            headend or the controller when the path is delegated), which can be
            used for path validation and network visualization.
          </t>
        </li>
        <li>
          <t>
            The measured metrics from this document indicate the actual
            operational performance, which may vary due to network conditions,
            congestion, or anomalies. These provide additional information for
            service placement and reoptimization decisions based on measured
            performance.
          </t>
        </li>
      </ul>
    </section>

    <section anchor="round-trip-extensions" numbered="true" removeInRFC="false">
      <name>Extensions for Round-trip TE Performance Metric</name>
      <t>
        The round-trip performance metrics defined in this section describe the
        measured performance of a packet traveling from the headend to the endpoint
        and back. An SR Policy identifies the forward path from the headend to the
        endpoint. The reverse path of a round-trip measurement is not explicitly
        identified by the SR Policy and may be an IGP path, another SR Policy, or
        a path selected by the measurement procedure. The reverse path may change
        independently of the advertised candidate path.
      </t>
      <t>
        The reverse path is not identified by any TLV defined in this document or in
        <xref target="RFC9857"/>. Therefore, a receiver MUST NOT assume that the reverse path is
        congruent with the forward path, nor that the reverse path is represented by the
        advertised SR Policy Candidate Path NLRI. The round-trip metric value applies
        only to the combination of the advertised forward path and an unspecified reverse
        path.
      </t>

      <section anchor="round-trip-delay-tlv" numbered="true" removeInRFC="false">
        <name>Round-trip Delay TLV</name>
        <t>
          This TLV advertises the average round-trip delay for SR Policy.
          As described in <xref target="scope-of-measurement"/>, this TLV can be
          used at either the SID-List level or the Candidate Path level.
        </t>
        <figure anchor="fig-round-trip-delay" title="Round-trip Delay TLV Format">
          <artwork align="left">
  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              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |A|  Reserved   |                   Delay                       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          </artwork>
        </figure>
        <t>
          where:
        </t>
        <ul>
          <li>
            <t>
              Type: TBD
            </t>
          </li>
          <li>
            <t>
              Length: 4 octets
            </t>
          </li>
          <li>
            <t>
              Reserved: Reserved for future use. MUST be set to 0 when sent and
              MUST be ignored when received.
            </t>
          </li>
          <li>
            <t>
              A: Anomalous (A) Bit. Same semantics as the A Bit in Unidirectional Link
              Delay TLV <xref target="RFC8571"/>.
            </t>
          </li>
          <li>
            <t>
              Delay: A 24-bit unsigned integer in microseconds. Same semantics as
              the Delay field in Unidirectional Link Delay TLV <xref target="RFC8571"/>,
              except that the delay is round-trip.
            </t>
          </li>
        </ul>
      </section>

      <section anchor="min-max-round-trip-delay-tlv" numbered="true" removeInRFC="false">
        <name>Min/Max Round-trip Delay TLV</name>
        <t>
          This TLV advertises the minimum and maximum round-trip delay for SR
          Policy. As described in <xref target="scope-of-measurement"/>, this TLV can be
          used at either the SID-List level or the Candidate Path level.
        </t>
        <figure anchor="fig-min-max-round-trip-delay" title="Min/Max Round-trip Delay TLV Format">
          <artwork align="left">
  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              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |A|  Reserved   |                 Min Delay                     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |    Reserved   |                 Max Delay                     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          </artwork>
        </figure>
        <t>
          where:
        </t>
        <ul>
          <li>
            <t>
              Type: TBD
            </t>
          </li>
          <li>
            <t>
              Length: 8 octets
            </t>
          </li>
          <li>
            <t>
              Reserved: Reserved for future use. MUST be set to 0 when sent and
              MUST be ignored when received.
            </t>
          </li>
          <li>
            <t>
              A: Anomalous (A) Bit. Same semantics as the A Bit in Min/Max
              Unidirectional Link Delay TLV <xref target="RFC8571"/>.
            </t>
          </li>
          <li>
            <t>
              Min Delay: A 24-bit unsigned integer in microseconds. Same semantics as
              the Min Delay field in Min/Max Unidirectional Link Delay TLV
              <xref target="RFC8571"/>, except that the delay is round-trip.
            </t>
          </li>
          <li>
            <t>
              Max Delay: A 24-bit unsigned integer in microseconds. Same semantics as
              the Max Delay field in Min/Max Unidirectional Link Delay TLV
              <xref target="RFC8571"/>, except that the delay is round-trip.
            </t>
          </li>
        </ul>
      </section>

      <section anchor="round-trip-delay-variation-tlv" numbered="true" removeInRFC="false">
        <name>Round-trip Delay Variation TLV</name>
        <t>
          This TLV advertises the average round-trip delay variation for SR
          Policy. As described in <xref target="scope-of-measurement"/>, this TLV can be
          used at either the SID-List level or the Candidate Path level.
        </t>
        <figure anchor="fig-round-trip-delay-variation" title="Round-trip Delay Variation TLV Format">
          <artwork align="left">
  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              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |    Reserved   |              Delay Variation                  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          </artwork>
        </figure>
        <t>
          where:
        </t>
        <ul>
          <li>
            <t>
              Type: TBD
            </t>
          </li>
          <li>
            <t>
              Length: 4 octets
            </t>
          </li>
          <li>
            <t>
              Reserved: Reserved for future use. MUST be set to 0 when sent and
              MUST be ignored when received.
            </t>
          </li>
          <li>
            <t>
              Delay Variation: A 24-bit unsigned integer in microseconds. Same
              semantics as the Delay Variation field in Unidirectional Delay
              Variation TLV <xref target="RFC8571"/>, except that the delay variation
              is round-trip.
            </t>
          </li>
        </ul>
      </section>

      <section anchor="round-trip-loss-tlv" numbered="true" removeInRFC="false">
        <name>Round-trip Loss TLV</name>
        <t>
          This TLV advertises the round-trip loss for SR Policy.
          As described in <xref target="scope-of-measurement"/>, this TLV can be
          used at either the SID-List level or the Candidate Path level.
        </t>
        <figure anchor="fig-round-trip-loss" title="Round-trip Loss TLV Format">
          <artwork align="left">
  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              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |A|  Reserved   |                  Loss                         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          </artwork>
        </figure>
        <t>
          where:
        </t>
        <ul>
          <li>
            <t>
              Type: TBD
            </t>
          </li>
          <li>
            <t>
              Length: 4 octets
            </t>
          </li>
          <li>
            <t>
              Reserved: Reserved for future use. MUST be set to 0 when sent and
              MUST be ignored when received.
            </t>
          </li>
          <li>
            <t>
              A: Anomalous (A) Bit. Same semantics as the A Bit in Unidirectional Link
              Loss TLV <xref target="RFC8571"/>.
            </t>
          </li>
          <li>
            <t>
              Loss: A 24-bit unsigned integer representing packet loss as a
              percentage. Same semantics as the Link Loss field in Unidirectional Link
              Loss TLV <xref target="RFC8571"/>, except that the loss is round-trip.
            </t>
          </li>
        </ul>
      </section>
    </section>

    <section anchor="security-considerations" numbered="true" removeInRFC="false">
      <name>Security Considerations</name>
      <t>
        The procedures and protocol extensions defined in this document do
        not affect the BGP security model.
      </t>
      <t>
        The sub-TLVs introduced in this document allow an operator to
        advertise state information of SR Policy (e.g., bandwidth, delay),
        which may be sensitive and dynamic in nature.
      </t>
      <t>
        In very large networks, instability could occur if measurement
        intervals are configured at a frequency that overwhelms the
        processing capacity for announcement intervals. Therefore, care must
        be taken when configuring these values. Implementations SHOULD NOT
        allow the inter-update timer to be set lower than the measurement
        interval. Additionally, implementations SHOULD enforce configurable
        constraints to mitigate the risk of instability.
      </t>
      <t>
        For a discussion of BGP security, refer to the "Security
        Considerations" section of <xref target="RFC4271"/>. Analyses of BGP security
        issues are also provided in <xref target="RFC4272"/> and <xref target="RFC6952"/>. Security
        considerations related to the acquisition and distribution of BGP-LS
        information are discussed in <xref target="RFC9552"/>, <xref target="RFC9830"/>, and <xref target="RFC9857"/>.
      </t>
      <t>
        The mechanism proposed in this document is subject to the same
        vulnerabilities as any other protocol that relies on BGP-LS.
      </t>
    </section>

    <section anchor="management-considerations" numbered="true" removeInRFC="false">
      <name>Management Considerations</name>
      <t>
        An implementation SHOULD allow the operator to specify neighbors to
        which Link-State NLRIs will be advertised and from which Link-State
        NLRIs will be accepted.
      </t>
      <t>
        An implementation SHOULD allow the operator to control the content
        of advertisements, such as whether or not to advertise latency,
        packet loss rate, bidirectional latency, and bidirectional packet
        loss rate.
      </t>
      <t>
        An implementation SHOULD allow the operator to control advertisement
        thresholds to avoid frequent announcements.
      </t>
    </section>

    <section anchor="iana-considerations" numbered="true" removeInRFC="false">
      <name>IANA Considerations</name>
      <t>
        IANA maintains a registry called "BGP-LS NLRI and Attribute TLVs"
        under the "Border Gateway Protocol - Link State (BGP-LS) Parameters"
        registry group.
      </t>
      <t>
        This document defines the following new TLV code points for round-trip
        performance metrics of SR Policies:
      </t>
      <table anchor="iana-tlvs" align="left">
        <name>New BGP-LS TLVs for Round-trip Performance Metrics</name>
        <thead>
          <tr>
            <th>TLV Code Point</th>
            <th>Description</th>
            <th>Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>TBD</td>
            <td>Round-trip Delay</td>
            <td>Section 4.1 of this document</td>
          </tr>
          <tr>
            <td>TBD</td>
            <td>Min/Max Round-trip Delay</td>
            <td>Section 4.2 of this document</td>
          </tr>
          <tr>
            <td>TBD</td>
            <td>Round-trip Delay Variation</td>
            <td>Section 4.3 of this document</td>
          </tr>
          <tr>
            <td>TBD</td>
            <td>Round-trip Loss</td>
            <td>Section 4.4 of this document</td>
          </tr>
        </tbody>
      </table>
      <t>
        This document also extends the applicability of the Link Attribute TLVs
        (Types 1114-1117) defined in <xref target="RFC8571"/> to SR Policies.
        IANA is requested to update the corresponding entries in the "BGP-LS NLRI
        and Attribute TLVs" registry to include a reference to this document in
        addition to <xref target="RFC8571"/> for the following TLVs:
      </t>
      <table anchor="iana-rfc8571-tlvs" align="left">
        <name>BGP-LS Link Attribute TLVs Extended for SR Policy</name>
        <thead>
          <tr>
            <th>TLV Code Point</th>
            <th>Description</th>
            <th>Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>1114</td>
            <td>Unidirectional Link Delay</td>
            <td><xref target="RFC8571"/>, Section 2 of this document</td>
          </tr>
          <tr>
            <td>1115</td>
            <td>Min/Max Unidirectional Link Delay</td>
            <td><xref target="RFC8571"/>, Section 2 of this document</td>
          </tr>
          <tr>
            <td>1116</td>
            <td>Unidirectional Delay Variation</td>
            <td><xref target="RFC8571"/>, Section 2 of this document</td>
          </tr>
          <tr>
            <td>1117</td>
            <td>Unidirectional Link Loss</td>
            <td><xref target="RFC8571"/>, Section 2 of this document</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>

  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner"/>
            <date year="1997" month="March"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC4271" target="https://www.rfc-editor.org/info/rfc4271">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author initials="Y." surname="Rekhter" fullname="Y. Rekhter" role="editor"/>
            <author initials="T." surname="Li" fullname="T. Li" role="editor"/>
            <author initials="S." surname="Hares" fullname="S. Hares" role="editor"/>
            <date year="2006" month="January"/>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </reference>
        <reference anchor="RFC6952" target="https://www.rfc-editor.org/info/rfc6952">
          <front>
            <title>Analysis of BGP, LDP, PCEP, and MSDP Issues According to the Keying and Authentication for Routing Protocols (KARP) Design Guide</title>
            <author initials="M." surname="Jethanandani" fullname="M. Jethanandani"/>
            <author initials="K." surname="Patel" fullname="K. Patel"/>
            <author initials="L." surname="Zheng" fullname="L. Zheng"/>
            <date year="2013" month="May"/>
          </front>
          <seriesInfo name="RFC" value="6952"/>
          <seriesInfo name="DOI" value="10.17487/RFC6952"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba"/>
            <date year="2017" month="May"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8571" target="https://www.rfc-editor.org/info/rfc8571">
          <front>
            <title>BGP - Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions</title>
            <author initials="L." surname="Ginsberg" fullname="L. Ginsberg" role="editor"/>
            <author initials="S." surname="Previdi" fullname="S. Previdi"/>
            <author initials="Q." surname="Wu" fullname="Q. Wu"/>
            <author initials="J." surname="Tantsura" fullname="J. Tantsura"/>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils"/>
            <date year="2019" month="March"/>
          </front>
          <seriesInfo name="RFC" value="8571"/>
          <seriesInfo name="DOI" value="10.17487/RFC8571"/>
        </reference>
        <reference anchor="RFC9552" target="https://www.rfc-editor.org/info/rfc9552">
          <front>
            <title>Distribution of Link-State and Traffic Engineering Information Using BGP</title>
            <author initials="K." surname="Talaulikar" fullname="K. Talaulikar" role="editor"/>
            <date year="2023" month="December"/>
          </front>
          <seriesInfo name="RFC" value="9552"/>
          <seriesInfo name="DOI" value="10.17487/RFC9552"/>
        </reference>
        <reference anchor="RFC9830" target="https://www.rfc-editor.org/info/rfc9830">
          <front>
            <title>Advertising Segment Routing Policies in BGP</title>
            <author initials="S." surname="Previdi" fullname="S. Previdi"/>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils"/>
            <author initials="K." surname="Talaulikar" fullname="K. Talaulikar"/>
            <author initials="P." surname="Mattes" fullname="P. Mattes"/>
            <author initials="D." surname="Jain" fullname="D. Jain"/>
            <date year="2025" month="September"/>
          </front>
          <seriesInfo name="RFC" value="9830"/>
          <seriesInfo name="DOI" value="10.17487/RFC9830"/>
        </reference>
        <reference anchor="RFC9857" target="https://www.rfc-editor.org/info/rfc9857">
          <front>
            <title>Advertisement of Segment Routing Policies using BGP Link-State</title>
            <author initials="S." surname="Previdi" fullname="S. Previdi"/>
            <author initials="K." surname="Talaulikar" fullname="K. Talaulikar"/>
            <author initials="J." surname="Dong" fullname="J. Dong"/>
            <author initials="H." surname="Gredler" fullname="H. Gredler"/>
            <author initials="J." surname="Tantsura" fullname="J. Tantsura"/>
            <date year="2025" month="October"/>
          </front>
          <seriesInfo name="RFC" value="9857"/>
          <seriesInfo name="DOI" value="10.17487/RFC9857"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC4272" target="https://www.rfc-editor.org/info/rfc4272">
          <front>
            <title>BGP Security Vulnerabilities Analysis</title>
            <author initials="T." surname="Voigt" fullname="T. Voigt"/>
            <date year="2006" month="January"/>
          </front>
          <seriesInfo name="RFC" value="4272"/>
          <seriesInfo name="DOI" value="10.17487/RFC4272"/>
        </reference>
        <reference anchor="RFC8402" target="https://www.rfc-editor.org/info/rfc8402">
          <front>
            <title>Segment Routing Architecture</title>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils" role="editor"/>
            <author initials="S." surname="Previdi" fullname="S. Previdi" role="editor"/>
            <author initials="L." surname="Ginsberg" fullname="L. Ginsberg"/>
            <author initials="B." surname="Decraene" fullname="B. Decraene"/>
            <author initials="S." surname="Litkowski" fullname="S. Litkowski"/>
            <author initials="R." surname="Shakir" fullname="R. Shakir"/>
            <date year="2018" month="July"/>
          </front>
          <seriesInfo name="RFC" value="8402"/>
          <seriesInfo name="DOI" value="10.17487/RFC8402"/>
        </reference>
        <reference anchor="RFC8762" target="https://www.rfc-editor.org/info/rfc8762">
          <front>
            <title>Simple Two-Way Active Measurement Protocol</title>
            <author initials="G." surname="Mirsky" fullname="G. Mirsky" role="editor"/>
            <author initials="S." surname="Ruffini" fullname="S. Ruffini"/>
            <author initials="E." surname="Gray" fullname="E. Gray"/>
            <author initials="J." surname="Drake" fullname="J. Drake"/>
            <author initials="S." surname="Bryant" fullname="S. Bryant"/>
            <author initials="A." surname="Vainshtein" fullname="A. Vainshtein"/>
            <date year="2020" month="March"/>
          </front>
          <seriesInfo name="RFC" value="8762"/>
          <seriesInfo name="DOI" value="10.17487/RFC8762"/>
        </reference>
        <reference anchor="RFC9256" target="https://www.rfc-editor.org/info/rfc9256">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils"/>
            <author initials="K." surname="Talaulikar" fullname="K. Talaulikar" role="editor"/>
            <author initials="D." surname="Voyer" fullname="D. Voyer"/>
            <author initials="A." surname="Bogdanov" fullname="A. Bogdanov"/>
            <author initials="P." surname="Mattes" fullname="P. Mattes"/>
            <date year="2022" month="July"/>
          </front>
          <seriesInfo name="RFC" value="9256"/>
          <seriesInfo name="DOI" value="10.17487/RFC9256"/>
        </reference>
        <reference anchor="I-D.ietf-spring-stamp-srpm-mpls" target="https://datatracker.ietf.org/doc/draft-ietf-spring-stamp-srpm-mpls/">
          <front>
            <title>Performance Measurement Using Simple Two-Way Active Measurement Protocol (STAMP) for Segment Routing over the MPLS Data Plane</title>
            <author initials="R." surname="Gandhi" fullname="R. Gandhi"/>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils"/>
            <author initials="D." surname="Voyer" fullname="D. Voyer"/>
            <author initials="M." surname="Chen" fullname="M. Chen"/>
            <author initials="R. F." surname="Foote" fullname="R. F. Foote"/>
            <date year="2026" month="July" day="22"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-stamp-srpm-mpls-06"/>
        </reference>
        <reference anchor="I-D.ietf-spring-stamp-srpm-srv6" target="https://datatracker.ietf.org/doc/draft-ietf-spring-stamp-srpm-srv6/">
          <front>
            <title>Performance Measurement Using Simple Two-Way Active Measurement Protocol (STAMP) for Segment Routing over the SRv6 Data Plane</title>
            <author initials="R." surname="Gandhi" fullname="R. Gandhi"/>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils"/>
            <author initials="D." surname="Voyer" fullname="D. Voyer"/>
            <author initials="M." surname="Chen" fullname="M. Chen"/>
            <author initials="R. F." surname="Foote" fullname="R. F. Foote"/>
            <date year="2026" month="July" day="6"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-stamp-srpm-srv6-03"/>
        </reference>
        <reference anchor="I-D.draft-gandhi-pce-pm" target="https://datatracker.ietf.org/doc/draft-gandhi-pce-pm/">
          <front>
            <title>PCEP Extensions for Performance Measurement for SR-TE and MPLS-TE LSPs</title>
            <author initials="R." surname="Gandhi" fullname="R. Gandhi"/>
            <author initials="B." surname="Wen" fullname="B. Wen"/>
            <author initials="C." surname="Barth" fullname="C. Barth"/>
            <author initials="D." surname="Dhody" fullname="D. Dhody"/>
            <author initials="A." surname="Stone" fullname="A. Stone"/>
            <date year="2026" month="July" day="23"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-gandhi-pce-pm-14"/>
        </reference>
      </references>
    </references>
    <section anchor="appendix" numbered="true">
      <name>Cross WG Information</name>
      <t>
        This section describes cross-working group information for use
        during the IETF review process. This section will be removed by the
        RFC editor prior to publication.
      </t>

      <section anchor="link-to-spring-wg" numbered="true">
        <name>Link to Spring WG</name>
        <t>
          <xref target="I-D.ietf-spring-stamp-srpm-mpls"/> and <xref target="I-D.ietf-spring-stamp-srpm-srv6"/>
          describe the procedures for Performance Measurement in SR
          networks, using STAMP as defined in <xref target="RFC8762"/>. The described
          procedure is used for SR paths <xref target="RFC8402"/> (including SR Policies
          <xref target="RFC9256"/>). These SPRING features require the implementation of this
          document.
        </t>
        <t>
          This document describes a way to advertise the performance metrics
          for Traffic Engineering (TE) Policy using BGP Link State (BGP-LS).
        </t>
      </section>

      <section anchor="interaction-with-pce-wg" numbered="true">
        <name>Interaction with PCE WG</name>
        <t>
          Stateful Path Computation Element Communication Protocol (PCEP)
          extensions have been defined for TE LSPs for Segment Routing (SR)
          and RSVP. <xref target="I-D.draft-gandhi-pce-pm"/> describes the PCEP extensions
          for enabling and notifying end-to-end performance measurement
          including liveness detection for both PCE-Initiated and PCC-
          Initiated LSPs for SR-TE over MPLS and IPv6 data planes, and MPLS-TE
          using RSVP to an Active Stateful PCE.
        </t>
        <t>
          BGP-LS and PCEP are two distinct methods for reporting SR Policy
          performance metrics. Implementers can choose between BGP-LS and PCEP
          based on actual deployment requirements.
        </t>
      </section>

      <section anchor="interaction-with-srv6ops" numbered="true">
        <name>Interaction with SRV6ops Recommendations</name>
        <t>
          This optimization feature could be distributed to external
          components using BGP-LS extension defined in this document.
        </t>
      </section>
    </section>
  </back>
</rfc>