DPL Runtime Service
This page explains how to deploy, configure, and operate the DOCA Pipeline Language (DPL) Runtime Service on NVIDIA® BlueField® DPUs. The service enables runtime management of data plane pipelines compiled using DPL.
The DPL Runtime Service programs and manages the DPU datapath at runtime. It supports dynamic rule insertion, packet monitoring, and forwarding logic using both standard and proprietary APIs.
The service consists of the following core components:
Component | Description |
Runtime core | Manages requests from all interfaces and programs hardware resources |
P4Runtime server | gRPC server implementing the P4Runtime 1.3.0 API for remote pipeline configuration and table control |
Nspect server | Provides runtime visibility and debugging through the |
Admin server | Offers administrative and configuration control over the daemon via gRPC |
High-level system illustration:

Supported Platforms
DPL is supported on the following BlueField SKUs:
NVIDIA SKU | Legacy OPN | PSID | Description |
900-9D3B6-00CV-AA0 | N/A | MT_0000000884 | BlueField-3 B3220 P-Series FHHL DPU; 200GbE (default mode) / NDR200 IB; Dual-port QSFP112; PCIe Gen5.0 x16 with x16 PCIe extension option; 16 Arm cores; 32GB on-board DDR; integrated BMC; Crypto Enabled |
900-9D3B6-00SV-AA0 | N/A | MT_0000000965 | BlueField-3 B3220 P-Series FHHL DPU; 200GbE (default mode) / NDR200 IB; Dual-port QSFP112; PCIe Gen5.0 x16 with x16 PCIe extension option; 16 Arm cores; 32GB on-board DDR; integrated BMC; Crypto Disabled |
900-9D3B6-00CC-AA0 | N/A | MT_0000001024 | BlueField-3 B3210 P-Series FHHL DPU; 100GbE (default mode) / HDR100 IB; Dual-port QSFP112; PCIe Gen5.0 x16 with x16 PCIe extension option; 16 Arm cores; 32GB on-board DDR; integrated BMC; Crypto Enabled |
900-9D3B6-00SC-AA0 | N/A | MT_0000001025 | BlueField-3 B3210 P-Series FHHL DPU; 100GbE (default mode) / HDR100 IB; Dual-port QSFP112; PCIe Gen5.0 x16 with x16 PCIe extension option; 16 Arm cores; 32GB on-board DDR; integrated BMC; Crypto Disabled |
The following NVIDIA DPUs are supported with DOCA on the host:
Hardware Prerequisites
For the the system requirements, see DPU's hardware user guide .
Software Prerequisites
Component | Minimum Version |
Ubuntu OS | 22.04 |
DOCA BFB Bundle | 3.1.0+ |
DOCA Networking | 3.1.0+ |
Firmware | 32.46.1000+ |
Firmware is included in the BFB bundle available on the NVIDIA DevZone. Use bfb-install
to install the bundle. For example:
Example of BFB installation
bfb-install
--bfb bf-bundle-3.1.0-102_25.04_ubuntu-22.04_prod.bfb --rshim rshim0
Helpful resources:
Firmware Settings
The following firmware configuration is required and applied by the dpl_dpu_setup.sh
script documented at DPL Container Deployment:
FLEX_PARSER_PROFILE_ENABLE=4
PROG_PARSE_GRAPH=true
SRIOV_EN=1 # Required only if using VFs
To enable multi-port eSwitch mode, also set:
LAG_RESOURCE_ALLOCATION=1
The following table lists the possible ingress and egress ports for a given packet that is processed by a BlueField pipeline (DPU mode):
Ingress Port | Egress Port | |||
Wire Port P0 |
|
|
| |
Wire port P0 | Allowed | Allowed | Allowed | Allowed |
| Allowed | Disabled | Allowed | Allowed |
| Allowed | Allowed | Disabled | Allowed |
| Allowed | Allowed | Allowed | Disabled |
All forwarding combinations supported for SR-IOV VFs are also supported for scalable functions (SFs).
Prerequisites
BlueField must be in DPU Mode.
SR-IOV or SFs must be enabled and created on the host.
DOCA must be installed on the host and BlueField.
Ensure
doca-rt-service
configuration files are available. Refer to DPL Service Configuration for details.
Installation
Refer to the DPL Container Deployment for detailed steps on deploying the DPL Runtime Service container.
The dpl-dev
container provides essential developer tools for compiling, loading, and debugging DPL programs, including:
DPL Compiler
Nspect CLI
Admin CLI
DPL Debugger
Runtime Controller SDK
Refer to the DPL Installation Guide for installation instructions.
Once the dpl-rt-service
is running and the dpl-dev
container is installed, you can:
Compile your DPL programs. Refer to Compiling DPL Applications.
Load the compiled program into the runtime. Refer to Loading DPL Applications.
(Optional) Use DOCA Pipeline Language Developer Tools for debugging and verification.
Advanced users may implement their own controller to communicate with the DPL Runtime via P4Runtime 1.3.0 over gRPC (TCP port 9559
).
Resources: