<?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.24 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-yue-nmop-dpu-management-control-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="DPU-Based Bare Metal Management and Control Solution">DPU-Based Bare Metal Management and Control Solution</title>
    <seriesInfo name="Internet-Draft" value="draft-yue-nmop-dpu-management-control-00"/>
    <author initials="Y." surname="Yue" fullname="Yi Yue" role="editor">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>yuey80@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="W." surname="Zhu" fullname="Wei Zhu" role="editor">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhuw93@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="T." surname="Sui" fullname="Tengfei Sui" role="editor">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>suitf@chinaunicom.cn</email>
      </address>
    </author>
    <date year="2025" month="March" day="20"/>
    <area>Ops &amp; Management</area>
    <workgroup>NMOP</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 48?>

<t>This document proposes a DPU-based bare metal management solution to address inefficiencies in management and resource utilization associated with traditional bare metal deployments. The core idea of this solution is to leverage the DPU's high-performance processing and network acceleration capabilities, transforming traditional network/resource management into a DPU-centric control model. This not only simplifies bare-metal operations but achieves unified management across virtualized and physical environments through a consolidated framework.</t>
    </abstract>
  </front>
  <middle>
    <?line 52?>

<section anchor="intro">
      <name>Introduction</name>
      <t>DPU (Data Processing Unit) is an emerging hardware acceleration technology designed to offload data-plane tasks (e.g., high-performance networking and packet processing) while integrating CPU clusters for control-plane offloading. Widely adopted in data centers, DPUs enable unified resource management, network virtualization, AI acceleration, and security hardening through their high-throughput processing, ultra-low latency, and purpose-built acceleration engines.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC8174">RFC2119</xref> when, and only when, they appear in all capitals, as shown here. 
Abbreviations and definitions used in this document:
*DPU: Data Processing Unit. 
*HPC: High-Performance Computing.
*VM: Virtual Machine.
*NICs: Network Interfance Cards.
*SPDK: Storage Performance Development Kit.</t>
    </section>
    <section anchor="use-cases">
      <name>Use cases</name>
      <t>Due to exclusive access to bare metal resources with no performance loss, they are ideal for high-IO applications and high-performance computing (HPC) such as massive data collection/mining, high-performance databases, and large-scale online games. Compared to virtual machines, DPU-based bare metal resources provide physical server characteristics, while compared to physical servers, they offer the elasticity of virtual machines.</t>
      <t>1.In large-scale data center telecom cloud scenarios, 5G new calling services (including media applications) require physical servers with GPUs and DPU-based bare metal shared pool management technology to enable rapid resource provisioning.</t>
      <t>2.In edge computing scenarios, the acceleration capabilities of DPUs are leveraged to achieve fast bare metal startup, addressing high-concurrency CDN demands.</t>
    </section>
    <section anchor="requirements">
      <name>Requirements</name>
      <t>Bare metal deployment is a method of running operating systems and applications directly on physical hardware, which provides an effective solution for high-performance computing (HPC) and large-scale data processing tasks. However, traditional bare metal deployment faces challenges such as inflexible resource management and poor resource utilization, where each bare metal server typically runs only a single application.</t>
      <t>OpenStack can effectively manage and allocate computing, storage, and network resources in data centers. Through its Ironic subproject, OpenStack manages bare metal servers. Ironic offers an API framework and task orchestration services for operations like bare metal server provisioning, power management, and rebooting. It can be deployed independently or integrated with other OpenStack services (e.g., Nova, Neutron, Glance), enabling seamless integration of bare metal servers into existing cloud platforms while delivering a unified user experience equivalent to virtual machine (VM) services.</t>
      <t>Leveraging its data processing capabilities, the DPU provides optimized support for OpenStack bare metal services and network management. The DPU enables diskless boot, hot-swappable cloud storage, and storage management for bare metal servers. Simultaneously, it offloads and integrates network configuration and protocol processing tasks within OpenStack networks. This simplifies network topology, enhances flexibility, reduces costs, and strengthens security and isolation, thereby delivering robust guarantees for OpenStack’s efficient operation and resource management.</t>
      <t>The DPU addresses the following critical requirements for efficient resource management:</t>
      <ol spacing="normal" type="1"><li>
          <t>In bare metal scenarios, traditional NICs cannot support remote cloud disk mounting before the host operating system boots, thus failing to enable diskless boot and requiring each bare metal server to have a local system disk; when deploying bare metal servers via PXE installation, critical information such as BMC IP addresses, usernames, and passwords must be pre-registered; furthermore, the ports and network configurations connecting bare metal servers to external switches demand prior planning, resulting in inflexibility where bare metal servers cannot be interchanged with virtual machine (VM) servers during elastic deployments, preventing unified pool management of bare metal, VM, and container resources while significantly prolonging deployment cycles—all of which can be resolved by a DPU-based solution that leverages external storage as boot disks with preconfigured image parameters to enable on-demand provisioning.</t>
        </li>
        <li>
          <t>Essentially, the DPU is a dedicated processor designed to provide data-centric infrastructure virtualization services, including network, storage, security, and management functions for data centers. The DPU's specialized processing units resolve performance bottlenecks caused by generalized infrastructure virtualization.
# Architecture Design</t>
        </li>
      </ol>
      <section anchor="component-offloading-strategy">
        <name>Component Offloading Strategy</name>
        <t>The Nova-compute, Cinder-volume, Neutron, and other components of OpenStack were originally deployed on the host machines of compute nodes. With the introduction of DPUs, OpenStack now requires additional operations to manage DPUs, leading to multiple system management strategies. All components installed on compute nodes, such as Nova, Cinder, and Neutron, need to be offloaded and managed directly on the DPUs.</t>
        <t>The overall architecture involves inserting DPUs into bare-metal physical servers of cloud-based products via PCIe. In OpenStack, the management components for bare-metal servers are directly offloaded and deployed from the servers to the DPUs, forming the cloud resource scheduling and management components (as illustrated in the diagram). Leveraging the data plane acceleration capabilities of FPGA or ASIC-based hardware on the DPUs, data forwarding is accelerated, and these components are unified under DPU management.</t>
        <t>Under this architecture, all computing resources and network devices are managed directly by the DPUs. OpenStack perceives the scheduled bare-metal devices as native DPU-managed resources. Control operations, such as creating or deleting bare-metal instances, are issued by OpenStack to the DPUs. The DPUs then directly manage these operations on the compute node's host machines and external storage system images for device creation or deletion.</t>
      </section>
      <section anchor="management-integration-plan">
        <name>Management Integration Plan</name>
        <t>Bare-Metal Adaptation in OpenStack: To enable bare-metal registration in OpenStack and provide an upper-layer management system with a resource view of bare-metal types, the mounting of compute, network, and storage resources must be implemented for bare-metal scenarios.</t>
        <section anchor="compute-mounting">
          <name>Compute Mounting</name>
          <t>Mount CPU resources from bare-metal servers to OpenStack bare-metal instances. OpenStack requests CPU resources from bare-metal nodes. Based on the request, the bare-metal nodes select an appropriate node. OpenStack then loads the selected bare-metal node's information into the instance, completing CPU allocation to the instance.</t>
        </section>
        <section anchor="network-mounting">
          <name>Network Mounting</name>
          <t>Create virtual NICs (Network Interface Cards) on servers and mount them to OpenStack bare-metal instances.
Step 1: Create virtual NICs and Open vSwitch ports.
Servers create virtual NICs based on physical or virtual network devices. Open vSwitch ports are then configured on the DPUs to enable communication with the external LAN. The virtual NICs are connected to these ports to ensure network connectivity for the bare-metal instance.
Step 2: Mount virtual NICs to bare-metal instances.
OpenStack retrieves virtual NIC information via the Neutron component, injects this information into the bare-metal instance, and notifies the DPU. The instance can then detect and utilize the virtual NIC, completing the mounting process.</t>
        </section>
        <section anchor="storage-mounting">
          <name>Storage Mounting</name>
          <t>DPUs create virtual disks and mount them to OpenStack bare-metal instances.
Step 1: Create virtual disks.
The DPU sends a request via the storage client to the storage server to create a physical disk, retrieves basic hardware configuration details, and establishes a virtual disk using SPDK (Storage Performance Development Kit) technology. By maintaining metadata linking the virtual disk to the physical disk, the DPU ensures seamless integration.
Step 2: Mount virtual disks to bare-metal instances.
Substep 1: Use the Cinder component to create virtual disk metadata in OpenStack.
Substep 2: OpenStack retrieves virtual disk information from the DPU via the Nova component, binding the metadata to the DPU's virtual disk.
Substep 3: Inject the virtual disk information into the bare-metal instance, finalizing the mounting process</t>
        </section>
      </section>
      <section anchor="components-and-relationships">
        <name>Components and Relationships</name>
        <t>The management platform includes nova-api, cinder-api, and neutron-api, while the cloud resource scheduling and management components include Nova-compute, Cinder, Neutron agent, and BM Agent.</t>
        <section anchor="management-platform">
          <name>Management Platform</name>
          <t>nova-api: Receives requests to create bare-metal instances and invokes nova-scheduler to allocate an ironic node.
cinder-api: Receives requests to create/delete storage devices for bare-metal instances and schedules the creation/deletion of virtio-blk devices on the ironic node.
neutron-api: Receives requests to create/delete network devices for bare-metal instances and schedules the creation/deletion of virtio-net devices on the ironic node.</t>
        </section>
        <section anchor="cloud-resource-scheduling-and-management-components">
          <name>Cloud Resource Scheduling and Management Components</name>
          <t>nova-compute: Uses a specified disk image to instruct Cinder to create a system disk volume. Cinder clones the image volume via snapshots (not full copies) on the backend storage, which is completed rapidly, typically within seconds.
Cinder: Manages storage devices based on commands from the control node.
Neutron agent: Manages network devices and handles flow table distribution for virtual switches according to control node instructions.
BM Agent: Runs on the DPU SoC and communicates with ironic-conductor via RPC. It manages storage and network resources for bare-metal instances on the local node. During deployment, it receives deployment commands from ironic-conductor, connects cloud disks within the DPU, and mounts them to the host. During runtime, it dynamically adds or removes disks/NICs for the host based on commands from ironic-conductor.</t>
        </section>
      </section>
    </section>
    <section anchor="additional-considerations">
      <name>Additional Considerations</name>
      <t>For implementation and evaluation: Deploying a DPU-based unified bare-metal management architecture requires balanced hardware and software configurations. Proper hardware (e.g., DPUs) and driver installations are critical for deployment success. Effectiveness is evaluated through:
Performance testing: Measuring network acceleration improvements (e.g., throughput, latency).
Resource utilization analysis: Quantifying efficiency gains in CPU, storage, and network usage.
Security validation: Ensuring secure resource isolation and compliance with policies.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <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>
  </back>
  <!-- ##markdown-source:
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
AA==

-->

</rfc>
