DOCA Documentation v3.1.0

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 dpl_nspect client

Admin server

Offers administrative and configuration control over the daemon via gRPC

High-level system illustration:

Untitled_Diagram-1736851997812-version-1-modificationdate-1752153465687-api-v2.png

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

Copy
Copied!
            

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:

Copy
Copied!
            

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:

Copy
Copied!
            

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

pf0hpf

pf0vf_n

pf0vf_m

Wire port P0

Allowed

Allowed

Allowed

Allowed

pf0hpf

Allowed

Disabled

Allowed

Allowed

pf0vf_n

Allowed

Allowed

Disabled

Allowed

pf0vf_m

Allowed

Allowed

Allowed

Disabled

Info

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

Info

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:

  1. Compile your DPL programs. Refer to Compiling DPL Applications.

  2. Load the compiled program into the runtime. Refer to Loading DPL Applications.

  3. (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:

  • Protobuf definitions available at p4lang/p4runtime GitHub

  • Local Path (container): /opt/mellanox/third_party/dpl_rt_service/p4runtime/

  • Toolchain: Use standard gRPC + protobuf toolchains (e.g., IN C++)

© Copyright 2025, NVIDIA. Last updated on Aug 25, 2025.