<?xml version="1.0" encoding="utf-8"?>
<!--
     draft-rfcxml-general-template-standard-00

     This template includes examples of the most commonly used features of RFCXML with comments
     explaining how to customise them. This template can be quickly turned into an I-D by editing
     the examples provided. Look for [REPLACE], [REPLACE/DELETE], [CHECK] and edit accordingly.
     Note - 'DELETE' means delete the element or attribute, not just the contents.

     Documentation is at https://authors.ietf.org/en/templates-and-schemas
-->
<?xml-model href="rfc7991bis.rnc"?>  <!-- Required for schema validation and schema-aware editing -->
<!-- <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> -->
<!-- This third-party XSLT can be enabled for direct transformations in XML processors, including most browsers -->


<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<!-- If further character entities are required then they should be added to the DOCTYPE above.
     Use of an external entity file is not recommended. -->

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="std"
  consensus="true"
  docName="draft-li-idr-bgp-sr-policy-bfd-extension-03"
  ipr="trust200902"
  obsoletes=""
  sortRefs="true"
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">
<!-- [REPLACE]
       * docName with name of your draft
     [CHECK]
       * category should be one of std, bcp, info, exp, historic
       * ipr should be one of trust200902, noModificationTrust200902, noDerivativesTrust200902, pre5378Trust200902
       * updates can be an RFC number as NNNN
       * obsoletes can be an RFC number as NNNN
-->

  <front>
    <title abbrev="SR Policy BFD Extensions">BGP SR Policy Extensions for BFD Configuration</title>
    <!--  [REPLACE/DELETE] abbrev. The abbreviated title is required if the full title is longer than 39 characters -->

    <seriesInfo name="Internet-Draft" value="draft-li-idr-bgp-sr-policy-bfd-extension-03"/>

    <author fullname="Zhenqiang Li" initials="Z" role="editor" surname="Li">
      <!-- [CHECK]
             * initials should not include an initial for the surname
             * role="editor" is optional -->
    <!-- Can have more than one author -->

    <!-- all of the following elements are optional -->
      <organization>China Mobile</organization>
      <address>
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>29 Finance Avenue, Xicheng District</street>
          <city>Beijing</city>
          <country>CN</country>
          <!-- Uses two letter country code -->
        </postal>
        <email>lizhenqiang@chinamobile.com</email>
        <!-- Can have more than one <email> element -->
      </address>
    </author>
	<author fullname="Song Liu" initials="S" role="editor" surname="Liu">
      <!-- [CHECK]
             * initials should not include an initial for the surname
             * role="editor" is optional -->
    <!-- Can have more than one author -->

    <!-- all of the following elements are optional -->
      <organization>China Mobile</organization>
      <address>
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>10 Manbai Road, Changping District</street>
          <city>Beijing</city>
          <country>CN</country>
          <!-- Uses two letter country code -->
        </postal>
        <email>liusongwl@chinamobile.com</email>
        <!-- Can have more than one <email> element -->

      </address>
    </author>

    <date year="2026"/>
    <!-- On draft subbmission:
         * If only the current year is specified, the current day and month will be used.
         * If the month and year are both specified and are the current ones, the current day will be
           used
         * If the year is not the current one, it is necessary to specify at least a month and day="1" will be used.
    -->

    <area>Routing</area>
    <workgroup>Inter-Domain Routing</workgroup>
    <!-- "Internet Engineering Task Force" is fine for individual submissions.  If this element is
          not present, the default is "Network Working Group", which is used by the RFC Editor as
          a nod to the history of the RFC Series. -->

    <keyword>BGP</keyword>
	<keyword>SR Policy</keyword>
	<keyword>S-BFD</keyword>
    <!-- [REPLACE/DELETE]. Multiple allowed.  Keywords are incorporated into HTML output files for
         use by search engines. -->

    <abstract>
      <t>Segment Routing (SR) Policies require fast failure detection for Candidate Paths (CPs) to enable rapid rerouting and high availability.  Currently, the provisioning of SR Policies and the configuration of the associated Seamless Bidirectional Forwarding Detection (S-BFD) sessions are performed independently.  This often necessitates separate mechanisms (e.g., manual configuration, NETCONF, or additional signaling) to associate S-BFD sessions with the SR Policies, resulting in complex and error-prone operations.</t>

	  <t>This document defines extensions to BGP SR Policy for the simultaneous provisioning of SR Policy CPs and their S-BFD configuration parameters during policy advertisement.  The extensions include optional sub-TLVs within the Tunnel Encapsulation Attribute to carry S-BFD configuration parameters (e.g., discriminators, intervals, multipliers).</t>

	  <t>These extensions simplify deployment in distributed or controller-based environments, reduce configuration overhead, and enhance operational efficiency for SR-based traffic engineering.</t>
    </abstract>

  </front>

  <middle>

    <section>
      <name>Introduction</name>
      <t>Segment Routing (SR) <xref target="RFC8402"/> enables source routing by allowing a headend node to steer packet flows along specific paths using an ordered list of segments, eliminating intermediate per-path states.  An SR Policy <xref target="RFC9256"/> defines such paths as one or more Candidate Paths (CPs), each comprising one or more segment lists.</t>

	  <t>To ensure high availability and fast failure detection in SR networks, Seamless Bidirectional Forwarding Detection (S-BFD) <xref target="RFC7880"/> is commonly used to monitor SR Policy path liveness.  However, current deployments configure SR Policies and S-BFD sessions independently. Typically, an SR Policy Controller <xref target="RFC9256"/> defines the set of policies and advertises them to SR Policy headend routers (typically ingress routers) via BGP SR Policy <xref target="RFC9830"/>, or PCEP <xref target="RFC8664"/><xref target="RFC9603"/>. After SR Policies are advertised and installed, separate mechanisms (e.g., manual configuration, NETCONF/YANG, or additional signaling) are required to associate S-BFD parameters with the paths. This leads to increased operational complexity, longer provisioning times, and potential inconsistencies.</t>

	  <t><xref target="I-D.ietf-pce-pcep-bfd-parameters"/> extends PCEP <xref target="RFC5440"/> to carry S-BFD parameters, which can be used together with <xref target="RFC8664"/> or <xref target="RFC9603"/> to complete S-BFD configuration while distributing SR Policies.</t>

	  <t>This document extends BGP SR Policy <xref target="RFC9830"/> to carry S‑BFD parameters.  These extensions enable simultaneous provisioning of SR Policies and their monitoring sessions, reducing separate configuration steps.</t>

      <t>BGP itself does not install SR Policy CPs or S‑BFD sessions into the data plane; these actions remain the responsibility of the SR Policy Module (SRPM) on the headend node.</t>

      <section>
        <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>
      <!-- [CHECK] The 'Requirements Language' section is optional -->

    </section>

        <section anchor="extension">
      <name>BGP SR Policy Extensions for S‑BFD Configuration</name>

      <t>This section defines extensions to BGP SR Policy that allow an SR Policy Candidate Path (CP)
        to be advertised together with the configuration parameters required to establish
        S‑BFD <xref target="RFC7880"/> sessions for monitoring
        the liveness of the path.  The extensions are designed to be carried within the
        existing BGP SR Policy SAFI (73) and the Tunnel Encapsulation Attribute as specified
        in <xref target="RFC9830"/>.</t>

        <t>The S‑BFD configuration parameters are carried in a new optional
          sub‑TLV of the Tunnel Encapsulation Attribute <xref target="RFC9012"/>.
          This sub‑TLV is applicable only for the SR Policy SAFI (AFI/SAFI 1/73
          or 2/73).  It MAY appear at most once in a given Tunnel Encapsulation
          Attribute; if multiple instances of this sub‑TLV are present, only the
          first instance is processed and subsequent instances MUST be ignored. The Extended BGP SR Policy Encoding structure is as follows.</t>

		<figure>
	        <name>Extended BGP SR Policy Encoding</name>
	        <artwork align="center"><![CDATA[
 SR Policy SAFI NLRI: <Distinguisher, Color, Endpoint>
 Attributes:
     Tunnel Encapsulation Attribute (23)
         Tunnel Type: SR Policy (15)
             Binding SID
             Preference
             Priority
             S‑BFD Parameters (This Document)
             SR Policy Name
             SR Policy Candidate Path Name
             Explicit NULL Label Policy (ENLP)
             Segment List
                 Weight
                 Segment
                 Segment
                 ...
             ...
           ]]></artwork>
	      </figure>

        <t>The introduced sub‑TLV in this document is not used by the BGP path selection process. It is passed unchanged to the SRPM on the headend node, which is
          responsible for validating the parameters and instantiating the corresponding S‑BFD sessions.</t>


        <section>
          <name>S‑BFD Sub‑TLV</name>
          <t>The S‑BFD sub‑TLV carries the configuration parameters needed to
  establish a S-BFD session <xref target="RFC7880"/> for
  monitoring an SR Policy Candidate Path. The presence of this Sub‑TLV
  in the Tunnel Encapsulation Attribute indicates that S‑BFD SHALL be
  enabled for the Candidate Path. The format of this Sub‑TLV is as
  follows.</t>
  <t>The S‑BFD parameters carried in this sub‑TLV apply at the Candidate
	  Path level. All Segment Lists within a given Candidate Path share
	  the same S‑BFD configuration.  Per-Segment-List differentiation of
	  S‑BFD parameters is not supported, as the S‑BFD session monitors the
	  reachability of the SR Policy endpoint (the tailend reflector), which
	  is common to all Segment Lists of the same Candidate Path.</t>

          <figure align="center">
            <name>S‑BFD Sub‑TLV Format</name>
            <artwork align="center"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Type (TBD1) |    Length     |           RESERVED            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Your Discriminator                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~                     Optional TLVs (variable)                  ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            ]]></artwork>
          </figure>

          <t>Type: 1 octet. To be assigned by IANA from the "BGP Tunnel Encapsulation Attribute Sub‑TLVs" registry (suggested value 21).</t>
          <t>Length: 1 octet. The total length, in octets, of the RESERVED,
Your Discriminator, and Optional TLVs fields. That is, it is the length of
the sub‑TLV Value field, not including the Type and Length fields, and it is
consistent with the definition of the other sub‑TLVs of the Tunnel
Encapsulation Attribute <xref target="RFC9012"/>. When no Optional TLVs are
present, this field MUST be set to 6. An S‑BFD sub‑TLV whose Length field is
less than 6 MUST be considered malformed.</t>
		  <t>RESERVED: 2 octets. Reserved for future use. RESERVED field SHOULD be set to zero on transmission and MUST be ignored on receipt.</t>
		  <t>Your Discriminator: 4 octets. This field identifies the S‑BFD reflector instance on the tailend node. It MUST match the local discriminator configured on the tailend reflector. This field is REQUIRED, as S‑BFD sessions rely on the Your Discriminator to demultiplex incoming S‑BFD packets as specified in <xref target="RFC7880"/>.</t>
		  <t>Optional TLVs: variable-length. It is optional and MAY be used to carry additional parameters.  Details are defined in <xref target="sbfd-optional-tlvs"/>.</t>
	        </section>

	        <section anchor="sbfd-optional-tlvs">
	          <name>S‑BFD Optional TLVs</name>
		  <t>Optional TLVs MAY be carried in S‑BFD Sub‑TLV in a sequential manner. The format of each Optional TLV is as follows:</t>
		  <figure align="center">
            <name>Optional TLV Format</name>
            <artwork align="center"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~                     Value (variable)                          ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            ]]></artwork>
          </figure>
		  <t>Where:</t>

  <dl spacing="normal">
    <dt>Type:</dt>
    <dd>2 octets. The type of the Optional TLV. The following types are
    defined in this document (see the table below for the complete list).</dd>

    <dt>Length:</dt>
    <dd>2 octets. The length of the Value field in octets.</dd>

    <dt>Value:</dt>
    <dd>A variable-length field that carries the TLV-specific data.</dd>
  </dl>

  <t>The following Optional TLV types are defined by this document:</t>

  <table align="center">
    <name>S‑BFD Parameters Optional TLV Types</name>
    <thead>
      <tr>
        <th align="left" colspan="1" rowspan="1">TLV Type</th>
        <th align="left" colspan="1" rowspan="1">Description</th>
        <th align="left" colspan="1" rowspan="1">Length</th>
        <th align="left" colspan="1" rowspan="1">Reference</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td align="left" colspan="1" rowspan="1">1</td>
        <td align="left" colspan="1" rowspan="1">S‑BFD Desired Min TX Interval</td>
        <td align="left" colspan="1" rowspan="1">4</td>
        <td align="left" colspan="1" rowspan="1">This document</td>
      </tr>
      <tr>
        <td align="left" colspan="1" rowspan="1">2</td>
        <td align="left" colspan="1" rowspan="1">S‑BFD Detection Multiplier</td>
        <td align="left" colspan="1" rowspan="1">1</td>
        <td align="left" colspan="1" rowspan="1">This document</td>
      </tr>
    </tbody>
  </table>

  <t>Each Optional TLV type MUST NOT appear more than once within a given
  S‑BFD sub‑TLV. If more than one instance of the same Optional TLV type is
  present, the S‑BFD sub‑TLV MUST be considered malformed and MUST be handled
  as specified in <xref target="sbfd-error-handling"/>.</t>


        <section>
          <name>Desired Min TX Interval TLV</name>
  <t>The S‑BFD Desired Min TX Interval TLV (Type=1) carries the
  desired minimum transmit interval for the S‑BFD session. Its format
  is as follows:</t>

  <figure align="center">
    <name>S‑BFD Desired Min TX Interval TLV Format (Type=1)</name>
    <artwork align="center"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type=1            |             Length=4          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Desired Min TX Interval                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    ]]></artwork>
  </figure>

  <t>The fields of the S‑BFD Desired Min TX Interval TLV are as follows:</t>

  <dl spacing="normal">
    <dt>Type:</dt>
    <dd>2 octets. Set to 1.</dd>

    <dt>Length:</dt>
    <dd>2 octets. Set to 4.</dd>

    <dt>Desired Min TX Interval:</dt>
    <dd>4 octets. Specifies the minimum transmit interval for the S‑BFD
    session, in microseconds. This field has the same semantics as the
    "Desired Min TX Interval" defined in <xref target="RFC7880"/>.</dd>
  </dl>
        </section>

        <section>
          <name>Detection Multiplier TLV</name>
  <t>The S‑BFD Detection Multiplier TLV (Type=2) carries the detection
  multiplier for the S‑BFD session. Its format is as follows:</t>

  <figure align="center">
    <name>S‑BFD Detection Multiplier TLV Format (Type=2)</name>
    <artwork align="center"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type=2            |             Length=1          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Multiplier  |
+-+-+-+-+-+-+-+-+
    ]]></artwork>
  </figure>

  <t>The fields of the S‑BFD Detection Multiplier TLV are as follows:</t>

  <dl spacing="normal">
    <dt>Type:</dt>
    <dd>2 octets. Set to 2.</dd>

    <dt>Length:</dt>
    <dd>2 octets. Set to 1.</dd>

    <dt>Multiplier:</dt>
    <dd>1 octet. Specifies the detection multiplier for the S‑BFD
    session. This field has the same semantics as the "Detect Mult"
    defined in <xref target="RFC7880"/>. The value MUST be in the range
    1 through 255.</dd>
  </dl>
        </section>
    </section>

    <section anchor="sbfd-error-handling">
      <name>Error Handling</name>

      <t>The S‑BFD sub‑TLV is considered malformed if any of the following
      conditions are true:</t>

      <ul spacing="normal">
        <li>The Length field of the S‑BFD sub‑TLV is less than 6 octets, or is
        inconsistent with the total length of the Optional TLVs it contains.</li>
        <li>The Length field of an Optional TLV is inconsistent with the length
        expected for that Type, as specified in the table in
        <xref target="sbfd-optional-tlvs"/>.</li>
        <li>More than one instance of the same Optional TLV type is present,
        as specified in <xref target="sbfd-optional-tlvs"/>.</li>
      </ul>

      <t>An Optional TLV with an unrecognized Type MUST be ignored and skipped
      during processing; it does not make the S‑BFD sub‑TLV malformed.</t>

      <t>If the S‑BFD sub‑TLV is malformed, the speaker MUST ignore it and MUST
      continue processing the rest of the Tunnel Encapsulation Attribute.  The
      SR Policy Candidate Path is then installed without the S‑BFD parameters
      carried in this sub‑TLV.  S‑BFD monitoring for that Candidate Path MAY
      still be configured through existing local mechanisms (e.g., manual
      configuration).  The error SHOULD be logged for the operator.</t>

      <t>If the SRPM cannot support a requested parameter (e.g., an interval
      value below its hardware capability), it MUST log an error and MUST fall
      back to the device-level default value for that parameter.</t>

    </section>

    </section>

    <section anchor="behavior">
      <name>BGP SR Policy Speaker Behavior</name>

      <t>A BGP SR Policy speaker that receives an SR Policy UPDATE containing
      the S‑BFD sub‑TLV MUST perform the following steps:</t>

      <ol>
        <li>If the S‑BFD sub‑TLV is malformed, the speaker MUST follow the
        procedure specified in <xref target="sbfd-error-handling"/>.</li>
        <li>If more than one S‑BFD sub‑TLV is present in the same Tunnel
        Encapsulation Attribute, the speaker MUST process only the first
        instance and MUST ignore the subsequent ones.</li>
        <li>If the S‑BFD sub‑TLV is syntactically valid, the speaker MUST pass
        it unchanged to the SRPM together with the rest of the SR Policy
        Candidate Path information.</li>
      </ol>

      <t>When establishing an S‑BFD session, the headend of the SR Policy acts
      as the S‑BFD initiator and the endpoint of the SR Policy acts as the
      S‑BFD reflector, as described in Section 4 of <xref target="RFC7880"/>.
      The Your Discriminator field in the fixed header identifies the S‑BFD
      reflector instance associated with the monitored Candidate Path.</t>

      <t>The SRPM on the headend node is responsible for interpreting the
      S‑BFD parameters and instantiating the corresponding monitoring sessions
      in the data plane, as described in <xref target="extension"/>.</t>

    </section>

    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document defines a new Sub‑TLV for the BGP Tunnel Encapsulation Attribute that enables S‑BFD configuration to be advertised along with SR Policy Candidate Paths.</t>

        <t>IANA is requested to allocate a new code point in the "BGP Tunnel Encapsulation Attribute Sub‑TLVs" registry:</t>

       <table align="center">
		<name>BGP Tunnel Encapsulation Attribute Sub-TLV Values</name>
        <thead>
        <!-- [REPLACE/DELETE] a table header is optional -->
          <tr>
			<th align="left" colspan="1" rowspan="1">Code Point</th>
            <th align="left" colspan="1" rowspan="1">Description</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
		  </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">TBD1</td>
            <td align="left" colspan="1" rowspan="1">S‑BFD Sub‑TLV</td>
            <td align="left" colspan="1" rowspan="1">This document</td>
          </tr>
        </tbody>
      </table>

        <t>The suggested value is 21.</t>

        <t>IANA is also requested to create a new registry named "S-BFD
        Optional TLVs" as a subregistry of the "BGP Tunnel Encapsulation
        Attribute Sub‑TLVs" registry.  The code points of this registry are
        scoped to the S‑BFD Sub‑TLV (code point TBD1) and identify the
        Optional TLVs carried within that sub‑TLV.  The initial contents of
        this registry are as follows:</t>
      <table align="center">
    <name>S‑BFD Optional TLVs</name>
    <thead>
      <tr>
        <th align="left" colspan="1" rowspan="1">TLV Type</th>
        <th align="left" colspan="1" rowspan="1">Description</th>
         <th align="left" colspan="1" rowspan="1">Reference</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td align="left" colspan="1" rowspan="1">1</td>
        <td align="left" colspan="1" rowspan="1">S‑BFD Desired Min TX Interval</td>
         <td align="left" colspan="1" rowspan="1">This document</td>
      </tr>
      <tr>
        <td align="left" colspan="1" rowspan="1">2</td>
        <td align="left" colspan="1" rowspan="1">S‑BFD Detection Multiplier</td>
         <td align="left" colspan="1" rowspan="1">This document</td>
      </tr>
    </tbody>
  </table>


    </section>

    <section anchor="operational-considerations">
      <name>Operational Considerations</name>

      <t>Specifying aggressive detection timers on many Candidate Paths
      simultaneously can stress the S‑BFD packet processing capacity of the
      involved nodes.  S‑BFD session scaling varies across implementations and
      hardware platforms, and the scale achievable when per‑path timer overrides
      are deployed can be significantly lower than the theoretical maximum.
      Operators SHOULD verify the S‑BFD session scale that each headend can
      sustain before such timers are distributed to a large number of Candidate
      Paths, and SHOULD NOT assume that the theoretical maximum is achievable.</t>

      <t>In many deployments, S‑BFD timer parameters are better determined on a
      per‑device basis.  When per‑path customization is used, the SRPM SHOULD
      apply overrides selectively, the operator SHOULD monitor the total number
      of S‑BFD sessions per headend, and fallback events SHOULD be logged as
      specified in <xref target="sbfd-error-handling"/>.</t>

      <t>The S‑BFD parameters defined in this document participate in a
      two‑level configuration model:</t>

      <ul spacing="normal">
        <li><strong>Device‑level:</strong> locally configured or factory‑default
        timer values that serve as the global baseline for all S‑BFD sessions on
        the node.</li>
        <li><strong>Candidate Path (CP) level:</strong> parameters advertised by
        the controller via the S‑BFD sub‑TLV, which apply only to the S‑BFD
        session associated with that specific Candidate Path.</li>
      </ul>

      <t>The interaction between these two levels MUST be as follows:</t>

      <ul spacing="normal">
        <li>If the S‑BFD sub‑TLV is present but contains no Optional TLVs
        (Length = 6), the SRPM MUST establish the S‑BFD session using the
        device‑level default timer values.</li>
        <li>If the S‑BFD sub‑TLV carries Optional TLVs (e.g., the S‑BFD Desired
        Min TX Interval TLV or the S‑BFD Detection Multiplier TLV), the
        CP‑level values MUST take precedence over the device‑level values for
        the S‑BFD session of that Candidate Path.</li>
        <li>If the SRPM cannot support a requested CP‑level parameter, it MUST
        log an error and MUST fall back to the device‑level default value for
        that parameter, as specified in <xref target="sbfd-error-handling"/>.</li>
        <li>The CP‑level parameters MUST NOT alter or override the device‑level
        defaults for any other session.  Their scope MUST be strictly limited to
        the Candidate Path with which they were advertised, and an implementation
        MUST NOT apply parameters received for one Candidate Path to any other
        Candidate Path or session.</li>
      </ul>

    </section>

    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of BGP <xref target="RFC4271"/>, BGP SR Policy <xref target="RFC9830"/>,
        and S‑BFD <xref target="RFC7880"/> apply to this document.</t>

      <t>Advertisements of S‑BFD parameters via BGP SR Policy may expose sensitive network information,
        such as failure detection capabilities, session intervals, and discriminator values.
        These advertisements MUST be confined within trusted administrative domains to prevent
        information disclosure.</t>

      <t>Malicious modification of S‑BFD parameters in BGP SR Policy advertisements could lead to
        denial of service or reduced monitoring effectiveness. For example, setting extremely
        short intervals might overwhelm network resources, while setting inappropriate discriminators
        could prevent session establishment. Implementations MUST validate received parameters
        against acceptable ranges before applying them, and MUST discard parameters that fall
        outside those ranges.</t>

      <t>Unauthorized configuration of S‑BFD sessions could be used to create false
        failure indications or hide actual failures. Network operators MUST ensure that
        BGP SR Policy sessions carrying S‑BFD configuration parameters are properly authenticated
        and authorized.</t>

      <t>For S‑BFD sessions established based on the parameters advertised via BGP SR Policy,
        the security mechanisms defined in <xref target="RFC7880"/>
        MUST be used to protect against session spoofing and unauthorized access.
        This includes using authentication where appropriate.</t>
    </section>

    <!-- NOTE: The Acknowledgements and Contributors sections are at the end of this template -->
  </middle>

  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <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.7880.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.9012.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9830.xml"/>

        <!-- The recommended and simplest way to include a well known reference -->

      </references>

	  <references>
        <name>Informative References</name>

        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4271.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.8402.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8664.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9256.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9603.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-pce-pcep-bfd-parameters.xml" />
        <!-- The recommended and simplest way to include a well known reference -->

      </references>

    </references>
    <section anchor="Acknowledgements" numbered="false">
	<!-- [REPLACE/DELETE] an Acknowledgements section is optional -->
    <name>Acknowledgements</name>
	<t>The authors thank Susan Hares for her detailed review and constructive suggestions. 
	They also thank Changwang Lin (New H3C Technologies), Xuhui Cai and Yunyang Lu (China Unitechs), and Zhibo Hu (Huawei) for their valuable comments and suggestions</t>
</section>
<section anchor="Contributors" numbered="false">
      <name>Contributors</name>

      <t>The following people contributed substantially to the content of this document:</t>
      <t>Jeffrey Haas</t>
    </section>
 </back>
</rfc>
