<?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.17 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zzd-idr-sr-policy-scheduling-04" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.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-04"/>
    <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="2024" month="June" day="29"/>
    <area>General</area>
    <workgroup>IDR</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 53?>

<t>Path scheduling is required in many network scenarios. For example, some links or nodes will be shut down in the tidal network when the traffic decreases, which may lead to the expiration of some routing paths.</t>
      <t>This document proposes extensions to BGP SR Policy to indicate the enable time and disable time for routing paths to enable path scheduling.</t>
    </abstract>
  </front>
  <middle>
    <?line 60?>

<section anchor="intro">
      <name>Introduction</name>
      <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 enables instantiation of an ordered list of segments with a specific intent for traffic steering. <xref target="I-D.ietf-idr-segment-routing-te-policy"/> specifies how BGP may be used to distribute SR Policy candidate paths. It introduces a BGP SAFI with new NLRI to advertise a candidate path of a Segment Routing (SR) Policy.</t>
      <t><xref target="I-D.ietf-tvr-use-cases"/> introduces a set of use cases where the topology of the network changes predictably. The topology change may cause some of the paths invalid, and lead to path reselection or even recalculation. However, the reselection or recalculation takes a period of time, which will affect packet forwarding and cause problems such as packet disorder and packet loss. However, on a network with predictable topology changes, the ingress node knows future topology changes, it can schedule the forwarding paths in advance, and steer flows to different set of paths based on time to prevent packet forwarding from being affected by topology changes.</t>
      <t>In the scenario of SR-policy-based TE paths, the resource allocation efficiency is a big challenge. Some flows just last for a short time, but the TE paths resources for the flows are usually reserved for a long time and can not be used by other services. Therefore, the SR policy originator can generate a policy with time-limited paths and resources, the head node schedules these paths over time to improve the utilization of resources.</t>
      <t>This document proposes extensions to BGP SR Policy to indicate the enable time and disable time of each candidate path/SR list. The policy originator can deliver multiple paths with different valid time. The ingress node determines the current valid paths based on the arrival time of the packet and forwards along the path.</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>This section describes the use cases that may benefit from scheduled paths.</t>
      <section anchor="time-variant-network-use-case">
        <name>Time Variant Network Use Case</name>
        <t><xref target="I-D.ietf-tvr-use-cases"/> introduces the time variant network use cases, the tidal network is one of the typical time variant network scenarios. In the tidal network, in which the traffic volume varies greatly at different time. In order to reduce the power consumption, some of the links and nodes may be shut down when the traffic is at a low level.</t>
        <t>In this scenario, the SR policy originator can generate a policy with several paths for different topology. The ingress node doesn’t need to wait for the advertisement of topology change and just changes the forwarding path based on the valid time of each path, the affection of topology change is minimized.</t>
      </section>
      <section anchor="resource-utilization-efficiency-use-case">
        <name>Resource utilization efficiency use case</name>
        <t>Traditionally, the usage and allocation of network resources, especially bandwidth, can be supported by a Network Management System (NMS) operation such as path pre-establishment. However, this may not provide efficient usage of network resources. The established paths may reserve the resources for a long time. During this period, the resources cannot be used by other services even when they are not used for transporting any service.</t>
        <t>In the scenario of SR-policy-based TE path, the resource allocation efficiency is also a problem. Some flows just last for a short period of time, but the TE paths resources for the flows are usually reserved for a long time and cannot be used by other services. 
In this scenario, the controller (originator of the SR policy) can calculate a path with a valid time based on the flow duration. When the TE path is invalid, the ingress node does not steer any packets to the path and releases the resources. Furthermore, the controller can use the resource released by the flow to plan TE paths for other flows that do not have overlap time, which can effectively improve the utilization of network resources.</t>
      </section>
    </section>
    <section anchor="scheduling-time-information-in-sr-policy">
      <name>Scheduling time information in SR Policy</name>
      <t><xref target="RFC8934"/> extends the stateful PCE Communication Protocol (PCEP) to enable Label Switched Path (LSP) path computation, activation, setup, and deletion based on scheduled time intervals for the LSP and the actual network resource usage in a centralized network environment so as to improve the resource utilization efficiency. Similar with <xref target="RFC8934"/>, this document extends the SR Policy to enable paths scheduling.</t>
      <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 Scheduling time information can be applied to the candidate path, so that all the segment list of each condidate path have the same scheduling time. 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)
                Scheduling Time Information
                Segment List
                    Weight
                    Segment
                    Segment
                    ...
                ...
]]></artwork>
      <t>The Schduling time information also can be applied to each segment list to indicate the valid time for each segment list, 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
                    Scheduling Time Information
                    Weight
                    Segment
                    Segment
                    ...
                ...
]]></artwork>
    </section>
    <section anchor="scheduling-time-information-sub-tlv">
      <name>Scheduling time information Sub-TLV</name>
      <t>The Scheduling time information sub-TLV has two formats according to the change regularity of network topology. They are Aperiodic Scheduling Time Information (ASTI) sub-TLV and Periodic Scheduling Time Information (PSTI) sub-TLV.</t>
      <section anchor="asti-sub-tlv">
        <name>ASTI sub-TLV</name>
        <t>The ASTI sub-TLV indicates one or more valid time (each includes the enable time and disable time) of one or more SR paths. The format of ASTI sub-TLV is shown as follows:</t>
        <figure anchor="ref-to-fig3">
          <name>ASTI sub-TLV</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    |          Group Number         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Index     |                Reserved                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Enable Time                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Disable Time                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
/                          Variable                             /
|                                                               |
]]></artwork>
        </figure>
        <t>Type: TBD1</t>
        <t>Length: the size of the value field in octets.</t>
        <t>Group Number: indicates the number of information groups, each information group has fields of Index, Flags, Enable Time and Disable time.</t>
        <t>Index: the number used to identify specific information group. This filed will be generated by the originate router.</t>
        <t>Enable Time: the time in seconds indicates when the path(s) is(are) enabled.</t>
        <t>Disable Time: the time in seconds indicates when the path(s) is(are) disabled</t>
        <t>Variable: one or more groups of time information (A information group is composed of Index, Flags, Enable Time and Disable time) may be included in one ASTI sub-TLV.</t>
      </section>
      <section anchor="psti-sub-tlv">
        <name>PSTI sub-TLV</name>
        <t>The PSTI sub-TLV indicates the enable time, disable time and period of one or more paths. The format of PSTI sub-TLV is shown as follows:</t>
        <figure anchor="ref-to-fig4">
          <name>PSTI sub-TLV</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    |          Group Number         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Index     |                Reserved                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            Period                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Enable Time                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Disable Time                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
/                          Variable                             /
|                                                               |
]]></artwork>
        </figure>
        <t>Type: TBD2</t>
        <t>Length: the size of the value field in octets.</t>
        <t>Group Number: indicates the number of information groups, each information group has fields of Index, Flags, Period, Enable Time and Disable time.</t>
        <t>Index: the number used to identify specific information group. This filed will be generated by the originate router.</t>
        <t>Period: the time in seconds between the enable time of one repetition and the enable time of the next repetition.</t>
        <t>Enable Time: the time in seconds indicates when the path(s) is(are) enabled.</t>
        <t>Disable Time: the time in seconds indicates when the path(s) is(are) disabled</t>
        <t>Variable: one or more groups of time information(A information group is composed of Index, Flags, Period, Enable Time and Disable time) may be included in one PSTI sub-TLV.</t>
      </section>
    </section>
    <section anchor="procedures">
      <name>Procedures</name>
      <t>When a SR Policy head node receives a SR Policy with scheduling time information, the head node will parse the SR Policy and save the scheduling time information locally. When a data packet arrives, the head node 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 head node to determine the final forwarding SR 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>These extensions to BGP SR Policy do not add any new security issues to the existing protocol.</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">Aperiodic Scheduling Time Information (ASTI) sub-TLV</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">TBD2</td>
            <td align="left">Periodic Scheduling Time Information (PSTI) sub-TLV</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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-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>
        <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-tvr-use-cases" target="https://datatracker.ietf.org/doc/html/draft-ietf-tvr-use-cases-09" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tvr-use-cases.xml">
          <front>
            <title>TVR (Time-Variant Routing) Use Cases</title>
            <author fullname="Edward J. Birrane" initials="E. J." surname="Birrane">
              <organization>JHU/APL</organization>
            </author>
            <author fullname="Nicolas Kuhn" initials="N." surname="Kuhn">
              <organization>Thales Alenia Space</organization>
            </author>
            <author fullname="Yingzhen Qu" initials="Y." surname="Qu">
              <organization>Futurewei Technologies</organization>
            </author>
            <author fullname="Rick Taylor" initials="R." surname="Taylor">
              <organization>Ori Industries</organization>
            </author>
            <author fullname="Li Zhang" initials="L." surname="Zhang">
              <organization>Huawei</organization>
            </author>
            <date day="29" month="February" year="2024"/>
            <abstract>
              <t>This document introduces use cases where Time-Variant Routing (TVR) computations (i.e. routing computations taking into considerations time-based or scheduled changes to a network) could improve routing protocol convergence and/or network performance.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tvr-use-cases-09"/>
        </reference>
        <reference anchor="RFC8934" target="https://www.rfc-editor.org/info/rfc8934" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8934.xml">
          <front>
            <title>PCE Communication Protocol (PCEP) Extensions for Label Switched Path (LSP) Scheduling with Stateful PCE</title>
            <author fullname="H. Chen" initials="H." role="editor" surname="Chen"/>
            <author fullname="Y. Zhuang" initials="Y." role="editor" surname="Zhuang"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="D. Ceccarelli" initials="D." surname="Ceccarelli"/>
            <date month="October" year="2020"/>
            <abstract>
              <t>This document defines a set of extensions to the stateful PCE Communication Protocol (PCEP) to enable Label Switched Path (LSP) path computation, activation, setup, and deletion based on scheduled time intervals for the LSP and the actual network resource usage in a centralized network environment, as stated in RFC 8413.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8934"/>
          <seriesInfo name="DOI" value="10.17487/RFC8934"/>
        </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 292?>



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

-->

</rfc>
