DOCA Platform Framework (DPF) Documentation v25.10.0

DOCA Platform Framework v25.10.0

This is the GA release of the DOCA Platform Framework (DPF). It includes bug fixes and improvements to enhance the provisioning and orchestration of NVIDIA BlueField DPUs in Kubernetes environments.

  • Multi-DPU Support:

    • Enhancements to support multiple DPUs throughout DPF components

    • Support provisioning multiple DPUs on the same host with node effect and reboot synchronization

  • Networking:

    • RDMA CNI support for DPU workloads

  • DPF Operator:

    • Support Resource configuration for DPF components

  • Support for DPUDeployment disruptive upgrades:

    • Support for triggering node effect on update of disruptive standard or in-cluster DPUServices and DPUServiceChains

    • Support for removing the node effect only after all the DPUServices have Pods that are Ready

    • Support for removing the node effect only after all the DPUServiceChains have ServiceChains that are Ready

  • Provisioning Enhancements:

    • New Host Agent component to handle host operations

  • Upgrade Support:

    • DPF now supports upgrades from previous GA releases

  • DPF Storage Enhancements:

    • Support VirtioFS for Trusted and Zero Trust cases

    • Support for static PF PCI emulated functions

    • Support for multiple DPUs on same host

  • OVN VPC DPUService:

    • (tech preview) OVN HA support

    • Zero downtime upgrade guide

  • dpfctl:

    • Enhancements to reflect the status of additional DPF objects such as storage, dpunode, dpudevice

Note

Detailed information about the fixed issues can be found in the release notes for v25.7.0.

  • DPUSet and BFB removal leaves DPU CRs in OS Installing Phase indefinitely

  • DPUFlavor nvconfig.hostPowerCycleRequired is not used

  • [VPC OVN DPUService] E/W Traffic Not Passing within Same VPC after DPU Reprovisioning

  • DPUServiceInterface doesn't wait for ServiceInterface to be deleted

  • DPUDeployment disruptive upgrade handling is not always graceful

Hardware and Software Requirements

Note

For Host Trusted mode: Refer to Host Trusted Prerequisites for detailed requirements.

For Zero Trust mode: Refer to Zero Trust Prerequisites for detailed requirements. In addition, notice the additional requirements for deploying via Redfish.

  • DPU Hardware: NVIDIA BlueField-3 DPUs

  • Minimal DOCA BFB Image: DOCA v2.5 or higher (must be pre-installed on DPUs to support DPF provisioning)

  • Supported DOCA BFB Image: bf-bundle-3.2.1

Installation Notes

None.

Upgrade Notes

Note

DPF supports upgrades from the immediate previous GA release. For more information refer to Lifecycle Management

  • [Zero-Trust] DpuDiscovery no longer creates DPUNodes:

    • Description: DpuDiscovery no longer creates DPUNodes by default. Site-admin can enable it by setting skipDPUNodeDiscovery to false in DPFOperatorConfig.

    • Example: Set skipDPUNodeDiscovery to false in DPFOperatorConfig:

Copy
Copied!
            

apiVersion: operator.dpu.nvidia.com/v1alpha1 kind: DPFOperatorConfig metadata: name: dpfoperatorconfig namespace: dpf-operator-system spec: provisioningController: installInterface: installViaRedfish: skipDPUNodeDiscovery: false

  • Required field changes in DPUSet:

    • Description: The following fields in DPUSet are now required and must be specified:

      • spec.dpuTemplate is now required

      • spec.dpuTemplate.spec.dpuFlavor is now required

    • Impact: Existing DPUSet resources that do not specify these fields will need to be updated before upgrading.

    • Note: These fields were made required because DPUSet resources cannot function properly without them. This change enforces validation that should have been in place from the beginning, making this effectively a bug fix rather than a breaking change for properly configured resources.

  • MTU minimum value changes:

    • Description: The minimum MTU value has been increased from 1000 to 1280 bytes across multiple API fields. Additionally, maximum MTU constraints have been added where applicable.

    • Affected Fields:

      • DPUServiceChain.spec.template.spec.template.spec.switches[*].serviceMTU - minimum increased: 1000 → 1280

      • DPUDeployment.spec.serviceChains.switches[*].serviceMTU - minimum increased: 1000 → 1280

      • ServiceChain.spec.switches[*].serviceMTU - minimum increased: 1000 → 1280

      • ServiceChainSet.spec.template.spec.switches[*].serviceMTU - minimum increased: 1000 → 1280

      • DPFOperatorConfig.spec.networking.controlPlaneMTU - minimum increased: 1000 → 1280

      • DPFOperatorConfig.spec.networking.highSpeedMTU - minimum increased: 1000 → 1280

      • DPUFlavor.spec.hostNetworkInterfaceConfigs[*].mtu - minimum increased: 1000 → 1280

      • DPUServiceNAD.spec.serviceMTU - minimum constraint added: 1280, maximum constraint added: 9216

    • Impact: Existing resources with MTU values below 1280 will need to be updated. The system will reject values below the new minimum during validation.

  • DPUDeployment now requires at least one and up to 50 services:

    • Description: Previously, it was possible to define a DPUDeployment without any service. This was a bug in the validation which is now fixed. DPUDeployment now requires more than 1 and up 50 services.

    • Affected Fields:

      • DPUDeployment.spec.services - minimum constraint added when there was none previously : 1

      • DPUDeployment.spec.services - maximum constraint added when there was none previously : 50

    • Impact: Existing DPUDeployments without services should be replaced with a DPUSet instead. The system will reject creation or update of a DPUDeployment with none or more than 50 services.

Deprecated API Fields

The following API fields have been deprecated and will be removed in future releases. Users should migrate to the recommended alternatives.

  • DPFOperatorConfig Fields:

    • Description: Multiple fields in DPFOperatorConfig have been deprecated.

      • The top-level image fields have been replaced with container-specific image override fields for more granular control.

      • Registry configuration fields under installViaRedfish have been deprecated in favor of the top-level registry field.

      • The deployInTargetCluster field is deprecated and not supported.

    • Deprecated Fields:

      • Image fields (replaced with container-specific overrides):

      • spec.provisioningController.image → Use spec.provisioningController.controller.image instead

      • spec.dpuServiceController.image → Use spec.dpuServiceController.controller.image instead

      • spec.dpuDetector.image → Use spec.dpuDetector.daemon.image instead

      • spec.kamajiClusterManager.image → Use spec.kamajiClusterManager.controller.image instead

      • spec.staticClusterManager.image → Use spec.staticClusterManager.controller.image instead

      • spec.serviceSetController.image → Use spec.serviceSetController.controller.image instead

      • spec.flannel.image → Use spec.flannel.cni.image and spec.flannel.daemon.image instead

      • spec.multus.image → Use spec.multus.cni.image instead

      • spec.nvipam.image → Use spec.nvipam.controller.image instead

      • spec.sriovDevicePlugin.image → Use spec.sriovDevicePlugin.deviceplugin.image instead

      • spec.ovsCNI.image → Use spec.ovsCNI.cni.image instead

      • spec.sfcController.image → Use spec.sfcController.controller.image instead

      • ProvisioningController registry fields:

      • spec.provisioningController.installInterface.installViaRedfish.bfbRegistryAddress → Use spec.provisioningController.registry.address instead

      • spec.provisioningController.installInterface.installViaRedfish.bfbRegistry → Use spec.provisioningController.registry instead

      • DeployInTargetCluster fields (not supported):

      • spec.serviceSetController.deployInTargetCluster → This field is not supported and will be removed

      • spec.flannel.deployInTargetCluster → This field is not supported and will be removed

      • spec.multus.deployInTargetCluster → This field is not supported and will be removed

      • spec.nvipam.deployInTargetCluster → This field is not supported and will be removed

      • spec.sriovDevicePlugin.deployInTargetCluster → This field is not supported and will be removed

      • spec.ovsCNI.deployInTargetCluster → This field is not supported and will be removed

      • spec.sfcController.deployInTargetCluster → This field is not supported and will be removed

      • spec.cniInstaller.deployInTargetCluster → This field is not supported and will be removed

  • DPUDevice Fields:

    • Description: The following fields in DPUDevice.spec have been deprecated in favor of their corresponding status fields, which are automatically populated by the system.

    • Deprecated Fields:

      • spec.psid → Use status.psid instead

      • spec.opn → Use status.opn instead

      • spec.pf0Name → Use status.pf0Name instead

    • Note: The status fields are considered read-only and automatically populated by the system. Users should not attempt to modify these fields.

  • DPUNode Fields:

    • Description: The gNOI reboot method and nodeDMSAddress field have been deprecated.

    • Deprecated Fields:

      • spec.nodeRebootMethod.gNOI → Use spec.nodeRebootMethod.hostAgent instead

      • spec.nodeDMSAddress → This field is no longer used

  • DPUSet Fields:

    • Description: The maxUnavailable field in rolling update strategy has been deprecated.

    • Deprecated Fields:

      • spec.strategy.rollingUpdate.maxUnavailable → Use dpfoperatorconfig.spec.provisioningController.maxUnavailableDPUNodes instead

  • DPUFlavor Fields:

    • Description: The hostPowerCycleRequired field in NVConfig has been deprecated as it is unused.

    • Deprecated Fields:

      • spec.nvconfig[].hostPowerCycleRequired → This field is unused and deprecated

  • DPU Fields:

    • Description: The bmcIP field in DPU spec should be obtained from the associated DPUDevice instead.

    • Deprecated Fields:

      • spec.bmcIP → Use DPUDevice.spec.bmcIp or DPUDevice.status.bmcIp instead

  • DPUServiceNAD Fields:

    • Description: The spec.metadata field in DPUServiceNAD has been deprecated. The standard Kubernetes metadata field at the resource level remains available.

    • Deprecated Fields:

      • spec.metadata → This field is unused and deprecated

© Copyright 2025, NVIDIA. Last updated on Dec 23, 2025