<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.23 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zzd-idr-sr-policy-scheduling-07" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.0 -->
  <front>
    <title abbrev="BGP SR Policy Scheduling">BGP SR Policy Extensions for Path Scheduling</title>
    <seriesInfo name="Internet-Draft" value="draft-zzd-idr-sr-policy-scheduling-07"/>
    <author initials="L." surname="Zhang" fullname="Li Zhang" role="editor">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhangli344@huawei.com</email>
      </address>
    </author>
    <author initials="T." surname="Zhou" fullname="Tianran Zhou">
      <organization>Huawei</organization>
      <address>
        <email>zhoutianran@huawei.com</email>
      </address>
    </author>
    <author initials="J." surname="Dong" fullname="Jie Dong">
      <organization>Huawei</organization>
      <address>
        <email>jie.dong@huawei.com</email>
      </address>
    </author>
    <author initials="M." surname="Wang" fullname="Minxue Wang">
      <organization>China Mobile</organization>
      <address>
        <email>wangminxue@chinamobile.com</email>
      </address>
    </author>
    <author initials="N." surname="Nzima" fullname="Nkosinathi Nzima">
      <organization>MTN</organization>
      <address>
        <email>Nkosinathi.Nzima@mtn.com</email>
      </address>
    </author>
    <date year="2025" month="February" day="27"/>
    <area>General</area>
    <workgroup>IDR</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 53?>

<t>Segment Routing (SR) policy enables instantiation of an ordered list of segments with a specific intent for traffic steering. When using SR policy in a time-variant network, delivering the time-variant information associated with paths is necessary in some scenarios.</t>
      <t>This document proposes extensions to BGP SR Policy to deliver the schedule information of candidate path (segment list) and its associated attributes.</t>
    </abstract>
  </front>
  <middle>
    <?line 59?>

<section anchor="intro">
      <name>Introduction</name>
      <t><xref target="RFC9657"/> introduces a set of time-variant network use cases where the topology of the network changes predictably. When the networks uses traditional routing protocols, it takes these topology changes as unexpected events and may cause and packet loss. However, the topology changes of these networks can be predicted in advance, therefore some measures can be taken in advance to prevent the packet loss. With this idea, <xref target="I-D.ietf-tvr-requirements"/> describes the requirements of using the time-variant information in a network. In <xref section="3.4.1" sectionFormat="of" target="I-D.ietf-tvr-requirements"/>, it describes the centralized routing scenarios with time-variant information, in which the network entities receive the time variable information and traffic forwarding rules directly from a logically centralized source(an Orchestrator or network controller). The time-variant information is especially essential when there is a risk that a logically centralized source may loses connectivity with the network entities.</t>
      <t>Segment Routing (SR) policy <xref target="RFC9256"/> is a set of candidate SR paths consisting of one or more segment lists and necessary path attributes. It describes the traffic forwarding rules for specific flows. <xref target="I-D.ietf-idr-sr-policy-safi"/> introduces how BGP may be used to distribute SR Policy candidate paths. It introduces a BGP SAFI with new NLRI to advertise the candidate paths and specific attributes of a SR Policy from a controller or path computation engine (PCE) to the network entities. However, when using BGP SR Policy in a time-variant network, it can't advertise the schedule information associated with paths.</t>
      <t>This document proposes extensions to BGP SR Policy to carry the schedule information of candidate paths/segment lists. The headend receives the SR policy with schedule information and determines the valid paths based on the arrival time of the packet.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
        <?line -18?>

</section>
    </section>
    <section anchor="motivation">
      <name>Motivation</name>
      <t>Most of the time-variant network use cases using BGP SR Policy could be benefit from this work. In some cases, carrying the time-variant information with SR Policy is essential.</t>
      <t>This section describes the cases that requires extending SR Policy with schedule information.</t>
      <section anchor="network-with-discontinuous-links">
        <name>Network with Discontinuous Links</name>
        <t>In some time-variant network cases, the links between the network entities and network controller may very weak or intermittent, this is very typical in Resource Preservation and Dynamic Reachability network<xref target="RFC9657"/>. In these cases, Real-time SR policy advertising (before changes occur) may not be timely. For example, when a link of an old path is about to be disconnected, the network controller is going to advertise a new path to the headend. However, the link between the headend and the network controller is not available. As a result, the new path cannot be advertised in time, causing packet loss.</t>
        <t>Therefore, in these cases, once the links between the headend and network controller are available, the controller need to advertise the paths with schedule information for a period in the future to the headend. Then the headend could determine valid paths in the future based on the schedule information of SR policy.</t>
      </section>
      <section anchor="network-with-frequent-topology-changes">
        <name>Network with Frequent Topology Changes</name>
        <t>There are also some time-variant network cases that topology changes frequently. This is very typical when the number of network entities is very large (For example, a Dynamic Reachability network with hundreds or thousands of nodes). In this kind of time-variant network, a path form one network entity to another changes frequently, sometimes it can only be maintained for a few minutes or seconds.</t>
        <t>Considering that there are multiple paths in a network that computed by the controller, the SR Policies with candidate paths may be advertised to the headend every few seconds. It poses great changeling to the network controller. However, using schedule information could advertise several paths once, which greatly mitigate the pressure of network controllers.</t>
      </section>
    </section>
    <section anchor="schedule-information-in-sr-policy">
      <name>Schedule Information in SR Policy</name>
      <t>The NLRI defined in <xref target="I-D.ietf-idr-segment-routing-te-policy"/> contains the SR Policy candidate path. The content of the SR Policy Candidate Path is encoded in the Tunnel Encapsulation Attribute defined in <xref target="RFC9012"/> using a new Tunnel-Type called SR Policy Type with codepoint 15. The SR Policy encoding structure is as follows:</t>
      <artwork><![CDATA[
SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
      Attributes:
         Tunnel Encapsulation Attribute (23)
            Tunnel Type: SR Policy (15)
                Binding SID
                SRv6 Binding SID
                Preference
                Priority
                Policy Name
                Policy Candidate Path Name
                Explicit NULL Label Policy (ENLP)
                Segment List
                    Weight
                    Segment
                    Segment
                    ...
                ...
]]></artwork>
      <t>A candidate path includes multiple SR paths, each of which is specified by a segment list. The schedule information can be applied to a candidate path, indicating the valid time for each candidate path and its associated attributes.
The new SR Policy encoding structure is expressed as below:</t>
      <artwork><![CDATA[
SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
      Attributes:
         Tunnel Encapsulation Attribute (23)
            Tunnel Type: SR Policy (15)
                Binding SID
                SRv6 Binding SID
                Preference
                Priority
                Policy Name
                Policy Candidate Path Name
                Explicit NULL Label Policy (ENLP)
                Schedule Information
                Segment List
                    Weight
                    Segment
                    Segment
                    ...
                ...
]]></artwork>
      <t>The schedule Information also can be applied to a segment list to indicate the valid time for a segment list and its associated attributes. 
The new SR Policy encoding structure is expressed as below:</t>
      <artwork><![CDATA[
SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
      Attributes:
         Tunnel Encapsulation Attribute (23)
            Tunnel Type: SR Policy (15)
                Binding SID
                SRv6 Binding SID
                Preference
                Priority
                Policy Name
                Policy Candidate Path Name
                Explicit NULL Label Policy (ENLP)
                Segment List
                    Schedule Information
                    Weight
                    Segment
                    Segment
                    ...
                ...
]]></artwork>
    </section>
    <section anchor="schedule-information-sub-tlv">
      <name>Schedule Information Sub-TLV</name>
      <t>The schedule information sub-TLV indicates one or more valid time slot for one or more paths. The format of schedule information sub-TLV is shown as follows:</t>
      <figure anchor="ref-to-fig1">
        <name>Scheduling Time Information Sub-TL</name>
        <artwork><![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    |   Reserved    |Schedule Number|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
/                        Schedules                              /
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>Type: TBD1</t>
      <t>Length: the size of the value field in octets.</t>
      <t>Schedule Number: indicates the number of schedules.</t>
      <t>Schedules: one or more schedules, each schedule indicates the duration when the candidate path (segment list) is active. The format of each schedule is shown as follows:</t>
      <figure anchor="ref-to-fig2">
        <name>Schedule of SR Policy</name>
        <artwork><![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Schedule-id                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Flags         |P|S|R|       Reserved                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Start Time                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Start Time                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      End Time (Duration)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      End Time (Duration)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Recurrence count/Bound(Optional)            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Recurrence count/Bound(Optional)            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Frequency (Optional)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
      </figure>
      <t>Schedule-id: 8-bit value, the unique identifier to distinguish each schedule within a SR Policy, this value is allocated by the SR Policy generator.</t>
      <t>Flags: 8 bits, currently only 2 bits are used, the other bits are reserved.</t>
      <t>S (Schedule type): one-bit flag to indicate the type of a schedule. If S=0, it indicates the schedule only has one instance, the Recurrence Count/Bound, Frequency and Interval field should not be included in the sub-TLV; If S=1, it indicates the schedule has multiple instances, the Recurrence Count/Bound, Frequency and Interval field should be included.</t>
      <t>P (Period type): one-bit flag to indicate the description type of a period. if P=1, then the period is described by a start time filed and an end time field; If P =0, then the period is described by a start time field and a duration time field.</t>
      <t>R (Recurrence bound type): one-bit flag to indicate the how to determine whether the recurrence is end. if R=1, then the end of recurrence is determined by a detail timepoint; If R = 0, then the end of the recurrence is determined by the number of occurrences.</t>
      <t>Start Time: 64-bit value, the number of seconds since the epoch, it indicates when the candidate path (segment list) and its associated attributes start to take effect.</t>
      <t>End Time (Duration): 64-bit value, if the flag P=1, then it is the number of seconds since the epoch, it indicates when the candidate path (segment list) and its associated attributes becomes ineffective. If the flag P=0, then it is the number of seconds since the Start Time, it indicates how long the candidate path (segment list) and its associated attributes are effective.</t>
      <t>Recurrence Count/Bound(optional): 64-bit value, this field <bcp14>SHOULD</bcp14> be included when the flag P is set to 1. When the flag R=0, then this field indicates the max number of occurrences. For example, if it is set to 2, then the schedule will repeat twice with the specified Frequency and Interval. When the flag R=1, then tis field indicates the bounded timepoint of recurrence, it is descripted by the number of seconds since the epoch.</t>
      <t>Frequency(optional): 32-bit value, this field should be included when the flag S is set to 1. It is the numbers of seconds since the Start Time of an instance to the Start Time of next instance. This field indicates the recurrence frequency for all the instance of this schedule.</t>
    </section>
    <section anchor="procedures">
      <name>Procedures</name>
      <t>When a SR Policy headend receives a SR Policy with schedule information, the headend will parse the SR Policy and save the schedule information locally. When a data packet arrives, the headend will steer it to a specific SR Policy by color or other means.</t>
      <t>Within a specific SR Policy, there are two ways for the headend to determine the final forwarding path:</t>
      <t>Option 1: A valid SR path is dynamically determined based on the packet arrival time whenever a packet arrives.</t>
      <t>Option 2: One or more valid paths are selected for the SR policy and one or more timers are set based on the path disable time. When the timer expires, packets steered to this SR policy are switched to another path.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document defines two new sub-TLV in the registry "BGP Tunnel Encapsulation Attribute sub-TLVs" to be assigned by IANA:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD1</td>
            <td align="left">Schedule Information (SI) sub-TLV</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-tvr-requirements" target="https://datatracker.ietf.org/doc/html/draft-ietf-tvr-requirements-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tvr-requirements.xml">
          <front>
            <title>TVR (Time-Variant Routing) Requirements</title>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Lancaster University</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Brian Sipos" initials="B." surname="Sipos">
              <organization>JHU/APL</organization>
            </author>
            <author fullname="Li Zhang" initials="L." surname="Zhang">
              <organization>Huawei</organization>
            </author>
            <date day="13" month="September" year="2024"/>
            <abstract>
              <t>Time-Variant Routing (TVR) refers to calculating a path or subpath through a network where the time of message transmission (or receipt) is part of the overall route computation. This means that, all things being equal, a TVR computation might produce different results depending on the time that the computation is performed without other detectable changes to the network topology or other cost functions associated with the route This document introduces requirements where TVR computations could improve message exchange in a network.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tvr-requirements-04"/>
        </reference>
        <reference anchor="RFC9256" target="https://www.rfc-editor.org/info/rfc9256" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9256.xml">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="A. Bogdanov" initials="A." surname="Bogdanov"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>Segment Routing (SR) allows a node to steer a packet flow along any path. Intermediate per-path states are eliminated thanks to source routing. SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated called a headend node. The packets steered into an SR Policy carry an ordered list of segments associated with that SR Policy.</t>
              <t>This document updates RFC 8402 as it details the concepts of SR Policy and steering into an SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9256"/>
          <seriesInfo name="DOI" value="10.17487/RFC9256"/>
        </reference>
        <reference anchor="I-D.ietf-idr-sr-policy-safi" target="https://datatracker.ietf.org/doc/html/draft-ietf-idr-sr-policy-safi-13" xml:base="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.ietf-idr-sr-policy-safi.xml">
          <front>
            <title>Advertising Segment Routing Policies in BGP</title>
            <author fullname="Stefano Previdi" initials="S." surname="Previdi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Paul Mattes" initials="P." surname="Mattes">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Dhanendra Jain" initials="D." surname="Jain">
              <organization>Google</organization>
            </author>
            <date day="6" month="February" year="2025"/>
            <abstract>
              <t>A Segment Routing (SR) Policy is an ordered list of segments (also referred to as instructions) that define a source-routed policy. An SR Policy consists of one or more candidate paths, each comprising one or more segment lists. A headend can be provisioned with these candidate paths using various mechanisms, such as CLI, NETCONF, PCEP, or BGP. This document specifies how BGP can be used to distribute SR Policy candidate paths. It introduces a BGP SAFI for advertising a candidate path of an SR Policy and defines sub-TLVs for the Tunnel Encapsulation Attribute to signal information related to these candidate paths. Furthermore, this document updates RFC9012 by extending the Color Extended Community to support additional steering modes over SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-sr-policy-safi-13"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="I-D.ietf-idr-segment-routing-te-policy" target="https://datatracker.ietf.org/doc/html/draft-ietf-idr-segment-routing-te-policy-26" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-idr-segment-routing-te-policy.xml">
          <front>
            <title>Advertising Segment Routing Policies in BGP</title>
            <author fullname="Stefano Previdi" initials="S." surname="Previdi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Paul Mattes" initials="P." surname="Mattes">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Dhanendra Jain" initials="D." surname="Jain">
              <organization>Google</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>This document introduces a BGP SAFI with two NLRIs to advertise a candidate path of a Segment Routing (SR) Policy. An SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. An SR Policy consists of one or more candidate paths, each consisting of one or more segment lists. A headend may be provisioned with candidate paths for an SR Policy via several different mechanisms, e.g., CLI, NETCONF, PCEP, or BGP. This document specifies how BGP may be used to distribute SR Policy candidate paths. It defines sub-TLVs for the Tunnel Encapsulation Attribute for signaling information about these candidate paths. This documents updates RFC9012 with extensions to the Color Extended Community to support additional steering modes over SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-segment-routing-te-policy-26"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9657" target="https://www.rfc-editor.org/info/rfc9657" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9657.xml">
          <front>
            <title>Time-Variant Routing (TVR) Use Cases</title>
            <author fullname="E. Birrane, III" initials="E." surname="Birrane, III"/>
            <author fullname="N. Kuhn" initials="N." surname="Kuhn"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <author fullname="R. Taylor" initials="R." surname="Taylor"/>
            <author fullname="L. Zhang" initials="L." surname="Zhang"/>
            <date month="October" year="2024"/>
            <abstract>
              <t>This document introduces use cases where Time-Variant Routing (TVR) computations (i.e., routing computations that take into consideration time-based or scheduled changes to a network) could improve routing protocol convergence and/or network performance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9657"/>
          <seriesInfo name="DOI" value="10.17487/RFC9657"/>
        </reference>
        <reference anchor="RFC9012" target="https://www.rfc-editor.org/info/rfc9012" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9012.xml">
          <front>
            <title>The BGP Tunnel Encapsulation Attribute</title>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="G. Van de Velde" initials="G." surname="Van de Velde"/>
            <author fullname="S. Sangli" initials="S." surname="Sangli"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <date month="April" year="2021"/>
            <abstract>
              <t>This document defines a BGP path attribute known as the "Tunnel Encapsulation attribute", which can be used with BGP UPDATEs of various Subsequent Address Family Identifiers (SAFIs) to provide information needed to create tunnels and their corresponding encapsulation headers. It provides encodings for a number of tunnel types, along with procedures for choosing between alternate tunnels and routing packets into tunnels.</t>
              <t>This document obsoletes RFC 5512, which provided an earlier definition of the Tunnel Encapsulation attribute. RFC 5512 was never deployed in production. Since RFC 5566 relies on RFC 5512, it is likewise obsoleted. This document updates RFC 5640 by indicating that the Load-Balancing Block sub-TLV may be included in any Tunnel Encapsulation attribute where load balancing is desired.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9012"/>
          <seriesInfo name="DOI" value="10.17487/RFC9012"/>
        </reference>
      </references>
    </references>
    <?line 272?>



  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
