<?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.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-li-ccamp-ospf-te-extension-computing-cap-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="OSPF-TE Compute Info">OSPF-TE Extensions for Computing Capability Advertisement</title>
    <seriesInfo name="Internet-Draft" value="draft-li-ccamp-ospf-te-extension-computing-cap-00"/>
    <author initials="A." surname="Li" fullname="Ao Li">
      <organization>China Unicom</organization>
      <address>
        <email>lia12@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="T." surname="Liu" fullname="Tianhe Liu">
      <organization>Beijing University of Posts and Telecommunications</organization>
      <address>
        <email>theo@bupt.edu.cn</email>
      </address>
    </author>
    <author initials="Y." surname="Zheng" fullname="Yanlei Zheng">
      <organization>China Unicom</organization>
      <address>
        <email>zhengyanlei@chinaunicom.cn</email>
      </address>
    </author>
    <date year="2026" month="July" day="06"/>
    <area>Routing</area>
    <workgroup>CCAMP</workgroup>
    <keyword>OSPF-TE</keyword>
    <keyword>Traffic Engineering</keyword>
    <keyword>Computing-aware Networking</keyword>
    <keyword>Computing Capability</keyword>
    <abstract>
      <?line 47?>

<t>This document defines extensions to OSPF Traffic Engineering (OSPF-TE) for advertising computing capability information associated with Artificial Intelligence Data Centers (AIDCs) in optical networks. The extensions enable an ASON or GMPLS-capable optical network to maintain a synchronized view of both network TE resources and selected computing resource attributes, so that service placement and path computation can consider computing resource status.</t>
      <t>The mechanism uses OSPFv2 Type-10 Opaque LSAs and a set of top-level TLVs and sub-TLVs. The extensions do not define new OSPF packet types and do not modify the OSPF neighbor establishment, database exchange, flooding, or acknowledgement procedures.</t>
    </abstract>
  </front>
  <middle>
    <?line 53?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Large AI workloads may require computing resources from multiple AIDCs. In such deployments, optical networks can provide high-bandwidth, low-latency, and reliable interconnection among AIDCs. Coordinated use of optical-network resources and computing resources can support cross-site inference, multi-data-center training, and other distributed computing services.</t>
      <t>The Optical Networks and AI Computing Orchestration (ONCO) framework <xref target="I-D.hu-ccamp-onco-control-framework"/> describes a control framework in which optical network resources and AI computing resources are coordinated across management, control, and data planes. In such deployments, selected computing capability metrics may be collected in the compute domain and provided to an OSPF-TE speaker through an OC-GW, a controller, or another originating function. OSPF-TE can then be used to advertise these metrics within the OSPF-TE domain.</t>
      <t>In optical networks, OSPF-TE is used to distribute Traffic Engineering (TE) attributes for path computation. When geographically distributed AIDCs are interconnected, network reachability alone does not determine whether a requested service can be placed at a particular AIDC. Path computation based only on traditional network TE attributes, such as connectivity, bandwidth, or network metrics, cannot reflect computing capability or resource status. Computing-aware routing decisions therefore need to consider both network TE attributes and selected computing capability metrics.</t>
      <t>This document defines extensions to OSPF-TE <xref target="RFC3630"/> to advertise selected AIDC computing capability information in an OSPF-TE-enabled optical network. The advertisement may be originated by an OC-GW, an optical network node, or another OSPF-TE speaker that has access to the relevant computing capability information. The resulting information is flooded according to normal OSPF-TE flooding procedures. This extension is not intended to advertise full computing capability information. It is intended to advertise selected computing capability metrics that are relevant to computing-aware routing decisions.</t>
      <t>The extensions defined in this document are distinct from the existing use of OSPF-TE to carry optical-network TE information. Existing OSPF-TE advertisements describe network-side resource attributes used for optical path computation, such as TE links, interface attributes, and switching capabilities. In contrast, the Computing Capability LSA defined by this document carries compute-domain summaries associated with an AIDC or an OC-GW, such as GPU type, GPU-associated interface capability, and aggregate memory or storage status. Both kinds of information reuse the OSPFv2 Type-10 Opaque LSA flooding mechanism, but they are distinguished by their Opaque Type and TLV semantics. Therefore, the computing-capability advertisement augments the TE database with selected computing capability metrics; it does not replace, reinterpret, or alter the existing optical TE advertisements used to compute network paths.</t>
      <t>To achieve these objectives, this document defines a dedicated container for computing information in an Opaque LSA and uses TLVs and sub-TLVs to encode AIDC-level and GPU-Type-level attributes, such as GPU type and capability and summaries of memory and storage capability. The mechanism introduces no new OSPF packet types and does not alter adjacency establishment, database exchange, flooding, or acknowledgement procedures.</t>
    </section>
    <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 anchor="terminology">
      <name>Terminology</name>
      <t>The following terms are used in this document:</t>
      <t>Artificial Intelligence Data Center (AIDC): A data center that provides GPU, memory, storage, and related computing resources for AI services.</t>
      <t>Automatically Switched Optical Network (ASON): An optical network that supports automatic connection setup, control, and resource management through a control plane.</t>
      <t>Optical-Compute Gateway (OC-GW): A protocol mediation gateway deployed at the AIDC edge, facilitating the exchange of compute metrics between the compute domain and the optical network. It translates compute metrics into network-layer TE attributes.</t>
    </section>
    <section anchor="applicability">
      <name>Applicability</name>
      <t>This extension is applicable to networks that support Opaque LSAs and OSPF-TE. It is intended for deployments in which a network control plane or path computation function needs selected AIDC computing capability information to be advertised by an OC-GW, an optical network node, or another originating OSPF-TE speaker, and to be flooded among optical network nodes within the applicable OSPF area. Because the computing information is flooded by means of Type-10 Opaque LSAs, the mechanism is primarily applicable to distribution within a single OSPF area. Summarization, translation, or policy-based distribution of computing information across areas, across AS, or across operator domains is outside the scope of this document.</t>
      <t>This document does not define how the computing control system obtains local server, GPU, memory, storage, or task information inside an AIDC. It also does not define the service-request signaling protocol used to request a computing destination. Those functions are outside the scope of this document. The focus of this document is the OSPF-TE advertisement of computing information.</t>
    </section>
    <section anchor="computing-capability-opaque-lsa">
      <name>Computing Capability Opaque LSA</name>
      <!-- Accordingly, the design follows four principles. First, it reuses the existing OSPF-TE, Opaque LSA, and TLV mechanisms while leaving the core OSPF procedures unchanged. Second, it follows the area scope of Type-10 LSAs so as to confine the dissemination of sensitive information. Third, it prefers summaries of computing-state information over raw instantaneous metrics, thereby balancing expressiveness and scalability. Fourth, it adopts interoperability rules such as threshold-triggered updates, staleness handling, and ignoring unknown items, so as to reduce oscillation and improve compatibility.  -->

<section anchor="lsa-type-and-opaque-type">
        <name>LSA Type and Opaque Type</name>
        <t>The Computing Capability LSA is an OSPFv2 Type-10 Opaque LSA. It uses a new Opaque Type, <tt>COMPUTING-CAPABILITY-OPAQUE-TYPE</tt>, to be assigned by IANA. The suggested value is 12. Until IANA allocation is completed, implementations <bcp14>MUST</bcp14> treat the value as experimental or configurable.</t>
        <t>The LSA payload consists of one or more top-level TLVs. This document defines the following top-level TLVs:</t>
        <table anchor="top-level-tlv-table">
          <name>Top-Level Computing Capability TLVs</name>
          <thead>
            <tr>
              <th align="left">Type</th>
              <th align="left">TLV</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">1</td>
              <td align="left">AIDC GPU Basic Information TLV</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">AIDC GPU Performance TLV</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">AIDC Global Compute Performance TLV</td>
            </tr>
          </tbody>
        </table>
        <t>An implementation receiving an unknown top-level TLV in a Computing Capability LSA <bcp14>MUST</bcp14> ignore the unknown TLV and continue processing the remaining TLVs in the LSA.</t>
      </section>
      <section anchor="lsa-id">
        <name>LSA ID</name>
        <t>In an Opaque LSA, the 32-bit Link State ID consists of an 8-bit Opaque Type and a 24-bit Opaque ID.</t>
        <figure anchor="lsa-id-format">
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Opaque Type  |                  Opaque ID                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>The Opaque Type is <tt>COMPUTING-CAPABILITY-OPAQUE-TYPE</tt>. The Opaque ID identifies one instance of computing capability under that Opaque Type. The Opaque ID has no topological meaning.</t>
        <t>A router <bcp14>MAY</bcp14> originate multiple Computing Capability LSAs. For example, a router may originate one LSA per AIDC GPU Type and one additional LSA for global AIDC-level performance information.</t>
      </section>
      <section anchor="tlv-encoding-rules">
        <name>TLV Encoding Rules</name>
        <t>All multi-octet fields are encoded in network byte order. Unless otherwise specified, reserved fields <bcp14>MUST</bcp14> be set to zero on transmission and <bcp14>MUST</bcp14> be ignored on receipt.</t>
        <t>Top-level TLVs and sub-TLVs use the following generic format:</t>
        <figure anchor="generic-tlv-format">
          <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             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~                             Value                             ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t><strong>Type:</strong> A 16-bit identifier.</t>
        <t><strong>Length:</strong> A 16-bit field that specifies the total length of the TLV or sub-TLV in octets, including the Type and Length fields.</t>
        <t><strong>Value:</strong> A variable-length field. The Value field <bcp14>MAY</bcp14> contain one or more sub-TLVs.</t>
        <t>TLVs and sub-TLVs <bcp14>SHOULD</bcp14> be padded to a 32-bit boundary when necessary. Padding octets are used only for alignment, <bcp14>MUST</bcp14> be set to zero on transmission, and <bcp14>MUST</bcp14> be ignored on receipt. Padding octets are not included in the Length field. A receiver <bcp14>MUST</bcp14> ignore padding. <xref target="RFC3630"/></t>
      </section>
    </section>
    <section anchor="top-level-tlvs">
      <name>Top-Level TLVs</name>
      <section anchor="aidc-gpu-basic-information-tlv">
        <name>AIDC GPU Basic Information TLV</name>
        <t>The AIDC GPU Basic Information TLV describes static or slowly changing properties of a GPU Type in an AIDC. A Computing Capability LSA that describes GPU information <bcp14>MUST</bcp14> include exactly one AIDC GPU Basic Information TLV.</t>
        <figure anchor="gpu-basic-info-tlv">
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          TLV Type = 1         |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            AIDC ID                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           OC-GW ID                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Client-side Port ID                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Type 1 Sub-TLV                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Type 2 Sub-TLV                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Type 3 Sub-TLV                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Type 4 Sub-TLV                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Type 5 Sub-TLV                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Type 6 Sub-TLV                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Type 7 Sub-TLV                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Type 8 Sub-TLV                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t><strong>AIDC ID:</strong> A 32-bit identifier of the AIDC. The value <bcp14>MUST</bcp14> be unique within the administrative domain.</t>
        <t><strong>OC-GW ID:</strong> A 32-bit identifier of the OC-GW. The value <bcp14>MUST</bcp14> be unique within the administrative domain.</t>
        <t><strong>Client-side Port ID:</strong> A 32-bit identifier of the customer-facing port or UNI-side interface associated with the AIDC or OC-GW.</t>
        <t><strong>GPU Attribute Sub-TLVs:</strong> One or more sub-TLVs defined in <xref target="gpu-attribute-sub-tlvs"/>. The GPU Vendor sub-TLV and GPU Model sub-TLV are keys. Exactly one GPU Vendor sub-TLV and exactly one GPU Model sub-TLV <bcp14>MUST</bcp14> be present in this TLV. Other GPU Attribute sub-TLVs <bcp14>MAY</bcp14> appear multiple times when multiple values are supported.</t>
        <section anchor="gpu-attribute-sub-tlvs">
          <name>GPU Attribute Sub-TLVs</name>
          <t>GPU Attribute sub-TLVs are carried in the AIDC GPU Basic Information TLV. Each sub-TLV uses the generic sub-TLV format defined in <xref target="tlv-encoding-rules"/>.</t>
          <table anchor="gpu-attribute-sub-tlv-table">
            <name>GPU Attribute Sub-TLVs</name>
            <thead>
              <tr>
                <th align="left">Type</th>
                <th align="left">Sub-TLV</th>
                <th align="left">Max Length</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">1</td>
                <td align="left">GPU Vendor</td>
                <td align="left">12 octets</td>
              </tr>
              <tr>
                <td align="left">2</td>
                <td align="left">GPU Model</td>
                <td align="left">12 octets</td>
              </tr>
              <tr>
                <td align="left">3</td>
                <td align="left">GPU-associated Link-Layer Protocol</td>
                <td align="left">16 octets</td>
              </tr>
              <tr>
                <td align="left">4</td>
                <td align="left">GPU-associated Transport Protocol</td>
                <td align="left">16 octets</td>
              </tr>
              <tr>
                <td align="left">5</td>
                <td align="left">Operating System</td>
                <td align="left">12 octets</td>
              </tr>
              <tr>
                <td align="left">6</td>
                <td align="left">GPU Driver Version</td>
                <td align="left">16 octets</td>
              </tr>
              <tr>
                <td align="left">7</td>
                <td align="left">GPU Computing Framework</td>
                <td align="left">12 octets</td>
              </tr>
              <tr>
                <td align="left">8</td>
                <td align="left">GPU Collective Communication Library</td>
                <td align="left">8 octets</td>
              </tr>
            </tbody>
          </table>
          <t>The Value field of each GPU Attribute sub-TLV is an ASCII string. It <bcp14>MUST NOT</bcp14> be NUL-terminated. If a value is shorter than the maximum length, the Length field <bcp14>MUST</bcp14> indicate the actual sub-TLV length, including the Sub-TLV Type and Length fields. If a value exceeds the maximum length, the originator <bcp14>MUST</bcp14> either advertise an abbreviated value that is locally unambiguous or omit the sub-TLV.</t>
          <t>For the Operating System and GPU Driver Version sub-TLVs, an AIDC may contain multiple versions for the same GPU Type. To reduce protocol overhead, an implementation <bcp14>SHOULD</bcp14> advertise the highest capability version within the same major version unless operator policy requires more detailed advertisement.</t>
          <section anchor="gpu-vendor-sub-tlv">
            <name>GPU Vendor 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Sub-TLV Type = 1        |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~                    GPU Vendor, max 12 octets                  ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            <t>The GPU Vendor Sub-TLV is used to advertise the GPU vendor information. The Sub-TLV Type field is set to 1. The Length field is variable and specifies the total sub-TLV length in octets, including the Sub-TLV Type and Length fields.  The Value field contains the GPU vendor name encoded as an ASCII string. The Value field
<bcp14>MUST NOT</bcp14> exceed 12 octets.</t>
          </section>
          <section anchor="gpu-model">
            <name>GPU Model</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Sub-TLV Type = 2        |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~                    GPU Model, max 12 octets                   ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            <t>The GPU Model Sub-TLV is used to advertise the GPU model information. The Sub-TLV Type field is set to 2.  The Length field is variable and specifies the total sub-TLV length in octets, including the Sub-TLV Type and Length fields.  The Value field contains the GPU model name encoded as an ASCII string.  The Value field
<bcp14>MUST NOT</bcp14> exceed 12 octets.</t>
          </section>
          <section anchor="gpu-associated-link-layer-protocol">
            <name>GPU-associated Link-Layer Protocol</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Sub-TLV Type = 3        |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~      GPU-associated Link-Layer Protocol, max 16 octets        ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            <t>The Link-Layer Protocol Sub-TLV is used to advertise the link-layer protocol of the network interface associated with the GPU.  The Sub-TLV Type field is set to 3.  The Length field is variable and specifies the total sub-TLV length in octets, including the Sub-TLV Type and Length fields.  The Value field contains the link-layer protocol name encoded as an ASCII string.  The Value field <bcp14>MUST NOT</bcp14> exceed 16 octets.</t>
          </section>
          <section anchor="gpu-associated-transport-protocol">
            <name>GPU-associated Transport Protocol</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Sub-TLV Type = 4        |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~       GPU-associated Transport Protocol, max 16 octets        ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            <t>The Transport-Layer Protocol Sub-TLV is used to advertise the transport-layer protocol of the network interface associated with the GPU.  The Sub-TLV Type field is set to 4.  The Length field is variable and specifies the total sub-TLV length in octets, including the Sub-TLV Type and Length fields.  The Value field contains the transport-layer protocol name encoded as an ASCII string. The Value field <bcp14>MUST NOT</bcp14> exceed 16 octets.</t>
          </section>
          <section anchor="operating-system">
            <name>Operating System</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Sub-TLV Type = 5        |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~               Operating System, max 12 octets                 ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            <t>The Operating System Sub-TLV is used to advertise the operating system information associated with the GPU.  The Sub-TLV Type field is set to 5. The Length field is variable and specifies the total sub-TLV length in octets, including the Sub-TLV Type and Length fields.  The Value field contains the operating system name encoded as an ASCII string.  The Value field <bcp14>MUST NOT</bcp14> exceed 12 octets.</t>
          </section>
          <section anchor="gpu-driver-version">
            <name>GPU Driver Version</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Sub-TLV Type = 6        |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~              GPU Driver Version, max 16 octets                ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            <t>The GPU Driver Version Sub-TLV is used to advertise the GPU driver version.  The Sub-TLV Type field is set to 6.  The Length field is variable and specifies the total sub-TLV length in octets, including the Sub-TLV Type and Length fields.  The Value field contains the GPU driver version encoded as an ASCII string. The Value field <bcp14>MUST NOT</bcp14> exceed 16 octets.</t>
            <t>Multiple driver versions may exist for the same type of GPU within an AIDC.  To reduce protocol overhead, it is <bcp14>RECOMMENDED</bcp14> that only the driver version with the highest capability among driver versions with the same major version be advertised.</t>
          </section>
          <section anchor="gpu-computing-framework">
            <name>GPU Computing Framework</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Sub-TLV Type = 7        |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~            GPU Computing Framework, max 12 octets             ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            <t>The GPU Computing Framework Sub-TLV is used to advertise the GPU computing framework.  The Sub-TLV Type field is set to 7.  The Length field is variable and specifies the total sub-TLV length in octets, including the Sub-TLV Type and Length fields. The Value field contains the GPU computing framework name encoded as an ASCII string.  The Value field <bcp14>MUST NOT</bcp14> exceed 12 octets.</t>
          </section>
          <section anchor="gpu-collective-communication-library">
            <name>GPU Collective Communication Library</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Sub-TLV Type = 8        |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~      GPU Collective Communication Library, max 8 octets       ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            <t>The GPU Server Collective Communication Database Sub-TLV is used to advertise the GPU server collective communication database.  The Sub-TLV Type field is set to 8.  The Length field is variable and specifies the total sub-TLV length in octets, including the Sub-TLV Type and Length fields.  The Value field contains the name of the GPU server collective communication database encoded as an ASCII string.  The Value field <bcp14>MUST NOT</bcp14> exceed 8 octets.</t>
          </section>
        </section>
      </section>
      <section anchor="aidc-gpu-performance-tlv">
        <name>AIDC GPU Performance TLV</name>
        <t>The AIDC GPU Performance TLV describes dynamic or frequently updated GPU performance information for a specific AIDC and GPU Type.</t>
        <figure anchor="gpu-performance-tlv">
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          TLV Type = 2         |           Length = 14         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       GPU Memory Capacity                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Bandwidth of GPU-associated NIC                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| GPU Util.     | GPU NIC State |            Padding            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>The Type field is 2 octets in length and is set to 2, indicating the Type 2 Top-Level TLV. The Length field is 2 octets in length and is set to 14, including the Type and Length fields. The Value field contains the following fields:</t>
        <t><strong>GPU Memory Capacity:</strong> A 4-octet unsigned integer that indicates the memory capacity of the corresponding type of GPU, in GB.</t>
        <t><strong>Bandwidth of GPU-associated NIC:</strong> A 4-octet unsigned integer that indicates the bandwidth of the network interface associated with the corresponding type of GPU, in GB/s.</t>
        <t><strong>GPU Utilization:</strong> A 1-octet unsigned integer that indicates the utilization of the corresponding type of GPU.</t>
        <t><strong>GPU-associated NIC State:</strong> A 1-octet field that indicates the operational state of the network interface associated with the GPU.  A value of 1 indicates that the interface is UP.  A value of 2 indicates that the interface is DOWN.</t>
        <t><strong>Padding:</strong> A 2-octet field. It <bcp14>MUST</bcp14> be set to zero on transmission and <bcp14>MUST</bcp14> be ignored on receipt.</t>
      </section>
      <section anchor="aidc-global-compute-performance-tlv">
        <name>AIDC Global Compute Performance TLV</name>
        <t>The AIDC Global Compute Performance TLV describes AIDC-level computing performance information that is not specific to a single GPU Type. Each AIDC <bcp14>SHOULD</bcp14> originate one AIDC Global Compute Performance TLV per advertising OC-GW or edge ASON node.</t>
        <figure anchor="global-compute-tlv">
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          TLV Type = 3         |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Total Memory Capacity                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Total Storage Capacity                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Memory Util. | Storage Util. |             Padding            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Sub-TLV Type = 1       |         Sub-TLV Length         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~              Intra-Node Communication Architecture            ~
|                      max 12 octets                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>The Type field is 2 octets in length and is set to 3, indicating the Type 3 Top-Level TLV. The Length field is variable and specifies the total TLV length in octets, including the Type and Length fields. The Value field contains the following fields:</t>
        <t><strong>Total Memory Capacity:</strong> A 32-bit unsigned integer indicating the total memory capacity of the AIDC, in gigabytes.</t>
        <t><strong>Total Storage Capacity:</strong> A 32-bit unsigned integer indicating the total storage capacity of the AIDC, in gigabytes.</t>
        <t><strong>Memory Utilization:</strong> An 8-bit unsigned integer indicating AIDC-level memory utilization percentage. Values from 0 to 100 are valid.</t>
        <t><strong>Storage Utilization:</strong> An 8-bit unsigned integer indicating AIDC-level storage utilization percentage. Values from 0 to 100 are valid.</t>
        <t><strong>Padding:</strong> A 2-octet field. It <bcp14>MUST</bcp14> be set to zero on transmission and <bcp14>MUST</bcp14> be ignored on receipt.</t>
        <t><strong>Intra-AIDC Communication Architecture Sub-TLVs:</strong> Zero or more sub-TLVs. Multiple instances <bcp14>MAY</bcp14> be present when an AIDC supports multiple communication architectures. The Value field is an ASCII string with a maximum length of 12 octets. The string identifies an intra-AIDC communication architecture or framework supported by the AIDC.</t>
      </section>
    </section>
    <section anchor="lsa-origination-and-processing">
      <name>LSA Origination and Processing</name>
      <section anchor="origination-triggers">
        <name>Origination Triggers</name>
        <t>A node that originates Computing Capability LSAs <bcp14>SHOULD</bcp14> originate or refresh them in the following cases:</t>
        <ul spacing="normal">
          <li>
            <t>when the OSPF adjacency reaches Full state and the node is responsible for advertising AIDC computing information;</t>
          </li>
          <li>
            <t>when an AIDC is added, removed, enabled, or disabled;</t>
          </li>
          <li>
            <t>when the computing resource is added, removed, enabled, or disabled;</t>
          </li>
          <li>
            <t>when a dynamic metric crosses an operator-configured threshold;</t>
          </li>
          <li>
            <t>when a periodic refresh is required by OSPF LSA aging rules;</t>
          </li>
          <li>
            <t>when local policy requires re-advertisement.</t>
          </li>
        </ul>
        <t>Implementations <bcp14>MUST</bcp14> provide configurable dampening or threshold controls for frequently changing metrics such as GPU utilization, memory utilization, and storage utilization. This is required to avoid excessive OSPF flooding caused by small resource fluctuations.</t>
      </section>
      <section anchor="processing-rules">
        <name>Processing Rules</name>
        <t>A router receiving a Computing Capability LSA <bcp14>MUST</bcp14> process the LSA using normal OSPF Opaque LSA processing rules. If the LSA is accepted into the LSDB, the router <bcp14>MUST</bcp14> flood it according to the normal Type-10 Opaque LSA flooding rules.</t>
        <t>A router that understands the Computing Capability LSA <bcp14>SHOULD</bcp14> parse the TLVs and make the resulting information available to local applications such as path computation, service placement, or controller agents.</t>
        <t>A router that does not understand one or more TLVs or sub-TLVs <bcp14>MUST</bcp14> ignore the unknown TLVs or sub-TLVs and <bcp14>MUST NOT</bcp14> reject the whole LSA solely because unknown information is present.</t>
        <t>A receiver <bcp14>MUST</bcp14> validate all Length fields before parsing the Value field. If a TLV or sub-TLV Length is malformed, the receiver <bcp14>MUST</bcp14> ignore the malformed TLV or sub-TLV and <bcp14>SHOULD</bcp14> log a diagnostic message.</t>
        <t>When multiple LSAs advertise information for the same AIDC and GPU Type, normal OSPF LSA selection rules determine the active LSA for a given <tt>{LS type, Link State ID, Advertising Router}</tt>. If semantically duplicate information is originated by multiple routers, local policy determines which information is preferred.</t>
      </section>
      <section anchor="use-case">
        <name>Use Case</name>
        <t>This document does not mandate a specific usage. However, the advertised information is intended to support path computation and service placement procedures that consider both network TE constraints and computing constraints. Service signaling, including any RSVP-TE extension used to carry a computing request or task-deployment notification, is outside the scope of this document.</t>
        <t><xref target="fig-use-case"/> illustrates one possible deployment of the mechanism defined in this document. In this example, AIDC 1 is the source site, while AIDC 2 and AIDC 3 are candidate destination sites. This example does not constrain other deployments.</t>
        <t>Each optical node may obtain selected computing capability metrics from its associated AIDC and originate a Computing Capability LSA toward its attached optical node. After a valid LSA is accepted, it is flooded among Optical Nodes 1, 2, and 3 according to the normal OSPFv2 Type-10 Opaque LSA procedures.</t>
        <t>For example, AIDC 2 and AIDC 3 may advertise different GPU utilization values. AIDC 2 may advertise a GPU utilization of 80 percent, while AIDC 3 may advertise a GPU utilization of 30 percent. A path computation function associated with Optical Node 1 can combine these computing capability metrics with network TE attributes. If the paths to both candidate AIDCs satisfy the network constraints, the function may prefer AIDC 3 because of its lower advertised GPU utilization.</t>
        <figure anchor="fig-use-case">
          <name>Computing Capability Advertisement Use Case</name>
          <artwork><![CDATA[
+--------+  +-----------------+  +-----------------+  +--------+
| AIDC 1 |--| Optical Node 1  |--| Optical Node 2  |--| AIDC 2 |
|        |  | GMPLS/OSPF-TE   |  | GMPLS/OSPF-TE   |  |        |
+--------+  +--------+--------+  +--------+--------+  +--------+
                     |                    |
                     |                    |
+--------+  +--------+--------+           |
| AIDC 3 |--| Optical Node 3  |-----------+
|        |  | GMPLS/OSPF-TE   |
+--------+  +-----------------+
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of OSPFv2 <xref target="RFC2328"/> and OSPF-TE <xref target="RFC3630"/> apply to the extensions defined in this document. Computing Capability LSAs are carried as OSPFv2 Type-10 Opaque LSAs and are flooded by the OSPF control plane.</t>
      <t>The information advertised by this mechanism may be operationally sensitive. It can reveal data-center capacity, GPU inventory, software versions, resource utilization, and availability. Falsified, modified, or replayed LSAs can affect computing-aware routing decisions.</t>
      <t>The authentication and integrity protection mechanisms used for normal OSPF LSA exchanges <bcp14>MUST</bcp14> also be applied to Computing Capability LSAs. A router <bcp14>MUST</bcp14> accept Computing Capability LSAs only from trusted OSPF neighbors. Operators <bcp14>SHOULD</bcp14> apply appropriate filtering, scoping, and operational policy to limit the distribution of these LSAs to the intended OSPF area and to trusted control-plane participants.</t>
      <t>OSPF authentication does not provide confidentiality or protection against traffic analysis. Operators that consider the advertised computing capability information sensitive <bcp14>SHOULD</bcp14> use deployment-level isolation, trusted control-plane environments, and other appropriate mechanisms to protect confidentiality. Operators <bcp14>SHOULD</bcp14> isolate tenant-facing OSPF sessions from internal control-plane OSPF sessions, for example through separate processes, instances, areas, or virtual routing contexts.</t>
      <t>Implementations <bcp14>MUST</bcp14> validate all TLV and sub-TLV lengths before parsing. A malformed TLV or sub-TLV <bcp14>MUST NOT</bcp14> cause the receiver to reject the entire LSA unless required by normal OSPF processing. Implementations <bcp14>SHOULD</bcp14> log malformed Computing Capability LSAs to support operational diagnosis and to reduce the risk of control-plane resource exhaustion.</t>
      <t>Operators <bcp14>SHOULD</bcp14> ensure that all entities that collect, translate, originate, receive, or flood Computing Capability LSAs are mutually trusted and that their configuration is protected from unauthorized modification.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to allocate a new OSPFv2 Opaque LSA Opaque Type for <tt>COMPUTING-CAPABILITY-OPAQUE-TYPE</tt> from the "Opaque Link-State Advertisements (LSA) Option Types" registry. For clarity, the existing Opaque Types and the requested new allocation are listed below:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Opaque Type</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">1</td>
            <td align="left">Traffic Engineering LSA</td>
            <td align="left">RFC3630</td>
          </tr>
          <tr>
            <td align="left">2</td>
            <td align="left">Sycamore Optical Topology Descriptions</td>
            <td align="left">John_Moy</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="left">grace-LSA</td>
            <td align="left">RFC3623</td>
          </tr>
          <tr>
            <td align="left">4</td>
            <td align="left">Router Information (RI)</td>
            <td align="left">RFC7770</td>
          </tr>
          <tr>
            <td align="left">5</td>
            <td align="left">L1VPN LSA</td>
            <td align="left">RFC5252</td>
          </tr>
          <tr>
            <td align="left">6</td>
            <td align="left">Inter-AS-TE-v2 LSA</td>
            <td align="left">RFC5392</td>
          </tr>
          <tr>
            <td align="left">7</td>
            <td align="left">OSPFv2 Extended Prefix Opaque LSA</td>
            <td align="left">RFC7684</td>
          </tr>
          <tr>
            <td align="left">8</td>
            <td align="left">OSPFv2 Extended Link Opaque LSA</td>
            <td align="left">RFC7684</td>
          </tr>
          <tr>
            <td align="left">9</td>
            <td align="left">TTZ LSA</td>
            <td align="left">RFC8099</td>
          </tr>
          <tr>
            <td align="left">10</td>
            <td align="left">OSPFv2 Dynamic Flooding Opaque LSA</td>
            <td align="left">RFC9667</td>
          </tr>
          <tr>
            <td align="left">11</td>
            <td align="left">OSPFv2 Extended Inter-Area ASBR (EIA-ASBR) LSA</td>
            <td align="left">RFC9350</td>
          </tr>
          <tr>
            <td align="left">12</td>
            <td align="left">Computing Capability LSA (<tt>COMPUTING-CAPABILITY-OPAQUE-TYPE</tt>)</td>
            <td align="left">(This document)</td>
          </tr>
        </tbody>
      </table>
      <t>IANA is requested to create a new "OSPF Computing Capability TLVs" registry with the following initial allocations:</t>
      <table anchor="iana-top-level-tlv-registry">
        <name>OSPF Computing Capability TLVs</name>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Name</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">1</td>
            <td align="left">AIDC GPU Basic Information TLV</td>
            <td align="left">(This document)</td>
          </tr>
          <tr>
            <td align="left">2</td>
            <td align="left">AIDC GPU Performance TLV</td>
            <td align="left">(This document)</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="left">AIDC Global Compute Performance TLV</td>
            <td align="left">(This document)</td>
          </tr>
        </tbody>
      </table>
      <t>IANA is requested to create a new "OSPF AIDC GPU Attribute Sub-TLVs" registry with the following initial allocations:</t>
      <table anchor="iana-gpu-attribute-sub-tlv-registry">
        <name>OSPF AIDC GPU Attribute Sub-TLVs</name>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Name</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">1</td>
            <td align="left">GPU Vendor</td>
            <td align="left">(This document)</td>
          </tr>
          <tr>
            <td align="left">2</td>
            <td align="left">GPU Model</td>
            <td align="left">(This document)</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="left">GPU-associated Link-Layer Protocol</td>
            <td align="left">(This document)</td>
          </tr>
          <tr>
            <td align="left">4</td>
            <td align="left">GPU-associated Transport Protocol</td>
            <td align="left">(This document)</td>
          </tr>
          <tr>
            <td align="left">5</td>
            <td align="left">Operating System</td>
            <td align="left">(This document)</td>
          </tr>
          <tr>
            <td align="left">6</td>
            <td align="left">GPU Driver Version</td>
            <td align="left">(This document)</td>
          </tr>
          <tr>
            <td align="left">7</td>
            <td align="left">GPU Computing Framework</td>
            <td align="left">(This document)</td>
          </tr>
          <tr>
            <td align="left">8</td>
            <td align="left">GPU Collective Communication Library</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="RFC2328" target="https://www.rfc-editor.org/info/rfc2328" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2328.xml">
          <front>
            <title>OSPF Version 2</title>
            <author fullname="J. Moy" initials="J." surname="Moy"/>
            <date month="April" year="1998"/>
            <abstract>
              <t>This memo documents version 2 of the OSPF protocol. OSPF is a link- state routing protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="54"/>
          <seriesInfo name="RFC" value="2328"/>
          <seriesInfo name="DOI" value="10.17487/RFC2328"/>
        </reference>
        <reference anchor="RFC3630" target="https://www.rfc-editor.org/info/rfc3630" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3630.xml">
          <front>
            <title>Traffic Engineering (TE) Extensions to OSPF Version 2</title>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="D. Yeung" initials="D." surname="Yeung"/>
            <date month="October" year="2003"/>
            <abstract>
              <t>This document describes extensions to the OSPF protocol version 2 to support intra-area Traffic Engineering (TE), using Opaque Link State Advertisements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3630"/>
          <seriesInfo name="DOI" value="10.17487/RFC3630"/>
        </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.hu-ccamp-onco-control-framework">
          <front>
            <title>A Control Framework for Optical Networks and AI Computing Orchestration (ONCO)</title>
            <author initials="Q." surname="Hu" fullname="Qiaojun Hu">
              <organization/>
            </author>
            <author initials="Z." surname="Han" fullname="Zheng Han">
              <organization/>
            </author>
            <author initials="Y." surname="Tan" fullname="Yanxia Tan">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hu-ccamp-onco-control-framework-02"/>
        </reference>
      </references>
    </references>
    <?line 571?>



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

-->

</rfc>
