DOCA Documentation v3.2.0

Changes and New Features

  • DOCA BlueField Bundle (BFB)

    • Default OS is now Ubuntu 24.04 (replacing 22.04) with kernel page size 64K. Users who want Ubuntu 24.04 with 4K page size should follow bfb-build instructions to build their own BFB.

  • DOCA Argus Service

    • Automatically detects multiple VFs connected to the same VM.

    • Adds support for Hyper-V and VMware ESXi hypervisors.

    • Adds beta-level support for host Arm64 platforms (Grace-based NVIDIA platforms).

    • Adds support for Kata containers.

  • DOCA Core

    • Enables GPU data path for the DOCA Comm Channel.

    • DOCA DMA now preserves context order.

  • DMS

    • Introduces a secure DMS architecture with least-privileged process separation.

    • Exposes a gNOI interface for device configuration based on mlxconfig capabilities.

  • DPF

    • Updates OVN K8s CNI to support K8s 1.33.

    • Updates DPF OVS CNI to support K8s 1.34.

    • Received OSRB approval for OVNK.

    • OVN container and K8s downstream container are now available on NGC.

    • OVS CNI deployment is now available on RH BFB.

    • Enables OVN to run in high-availability (HA) mode and the VPC controller with failover.

    • Enables SingleHost DPF to support multiple use cases.

  • DOCA Erasure Coding Library

    • Achieves GA status

  • GPUNetIO

    • Remove CPU shared library dependency on CUDA RT

    • Remove DPDK dependency from all GPUNetIO samples

    • GPUNetIO Ethernet functions included as inline functions in open source CUDA header files

  • DOCA Ethernet Library

    • Achieves GA status, providing a full acquisition solution independent of DPDK.

  • DOCA Flow

    • DOCA ACL achieves GA status.

    • Improves the packet-mirroring API and implementation.

    • Enhances IPsec and PSP for stateless actions on BlueField-3.

  • DOCA HBN

    • Adds new HBN scaling profiles to optimize resource utilization.

  • DOCA-HOST

    • DOCA-Host now supports main OS distributions via DKMS (Dynamic Kernel Module Support). See the "General Support" section of the Release Notes for a full list of supported OSs.

  • DOCA Management SDK

    • Introduces the new DOCA Management SDK library for device management.

    • Enables configuration of data-direct for ConnectX-8 via the DOCA Management SDK API.

  • DOCA Perftest

    • New traffic patterns – Bisection, A2A, M2O, etc.

    • Auto-GPU selection and load-balancing

    • Ranged HostName and DeviceName (UX improvement)

    • Single memory region for all QPs

    • Support DOCA RDMA VERBs as an alternative for ibverbs

    • Support for IPv4 addresses

  • DOCA RDMA VERBs Library

    • Achieves GA status.

  • DOCA SNAP virtio-fs

    • Adds SR-IOV support (up to 128 VFs) to SNAP virtio-fs.

  • DOCA Telemetry Library

    • Supports modification of the sampling rate without reconfiguring counters.

  • Platform Updates

    • Updates CUDA version to 13.

    • Improves the PLDM update flow to address scenarios where a previous update was not completed.

  • BlueField BMC

    • Introduces a no-service-interruption (service-safe) firmware update mechanism from the DPU-BMC to streamline multi-component updates.

  • SoC Platform

    • Introduces a new flow for applying UEFI configuration changes by automatically rebooting Arm after exiting the UEFI menu or receiving a Redfish command.

  • DOCA 3.2 is validated with the following NVIDIA platforms: GB200 1.3, GB300 1.0, B300 1.0, B200 1.3

Note

NVIDIA® BlueField®-3 networking platforms must use DOCA-Host as the host driver. MLNX_OFED does not support BlueField-3 devices.

  • DMABUF Optimization - Optimizes page size selection for DMABUF memory keys (mkeys) in the mlx5 driver. The driver now automatically chooses the most suitable page size based on system configuration and workload to enhance performance, improve memory management, and increase bandwidth.

  • Write-Combining Reliability on Arm64 – Enhances reliability by determining write-combining capability via an internal check during driver boot on Arm64 setups. This process ensures correct detection and improves traffic latency.

  • Namespace Management Enhancement – The RDMA core now sets a device's network namespace during allocation, inheriting it from the associated devlink instance after a devlink reload. Additionally, the IPoIB driver is now namespace-aware, creating its interfaces within the same namespace as the parent RDMA device.

  • ETS Rate Limit for VF Group – Adds support for defining bandwidth proportions between traffic classes (TCs) via the devlink-rate API. This enhancement allows users to allocate bandwidth across multiple TCs in a single command (e.g., 20% to TC0, 80% to TC5), enabling finer traffic management in Enhanced Transmission Selection (ETS) scenarios.

  • DPA Partition Creation - Access control was added to ensure that only the VHCA instance that created a DPA partition is permitted to modify or delete it.

  • DPA Manifest - A new DPA Manifest mechanism was introduced to define and manage application permissions.

  • DPA TIMER - DPA TIMER functionality has been exposed through the MTCTR access register, allowing direct access by applications.

  • PLDM Firmware Activation stage on NIC and DPU - With this enhancement, the updated firmware image will remain inactive on both the NIC and DPU until explicitly activated by the PLDM Update Agent (UA) through an activation command. This ensures coordinated firmware updates and improved control over activation timing.

  • ADP-RETX Timeout Profile - Firmware now allows the ADP-RETX timeout profile to be configured even when there are open QPs.

  • PLDM Transition Timing for BFB Component - The verify → apply transition for the BFB component now takes approximately 15 minutes. During this time, the NIC waits for the host (ARM) to complete processing.

  • Extended NC-SI Command for Zero-Trust Configuration - The NC-SI SET/GET external_host_privileges command was extended to include the HOST_PRIV_CONF fields, enabling configuration of zero-trust settings on BlueField-3 through a single command.

  • Emulated NVMe Emulation Stability During Host Reboot - Enhanced firmware handling of NVMe device emulation during host reboot scenarios. The update ensures that DMA transactions are properly synchronized even when the storage backend experiences long processing times, preventing potential host memory corruption.

  • Fully Orchestrated Reset Support - When cpu_auto_shutdown is enabled, NIC reset is no longer triggered from MFRL during TLV uploads or PLDM firmware updates. PLDM firmware update now supports applying activated images only via AC or DC power cycles.

  • DPU Hardware Watchdog - Enhanced system diagnosability by reporting the reset reason whenever the DPU hardware watchdog (ARM SBSA-compliant) initiates a reboot.

  • Full Support for virtio-fs Virtual Functions (VFs) within SNAP - This new capability utilizes SR-IOV to enable up to 127 VFs across two static physical functions (PFs). It extends advanced MSIX resource management, similar to virtio-blk, and includes all dynamic virtual queue (VQ) capabilities introduced for Virtio Blk. This enhancement enables SR-IOV-based VF deployment of virtio-fs devices to guest VMs on the host.

  • Enable/Disable ECN in Upstream - Added the ability to enable or disable ECN in the upstream by allowing the MODIFY_CONG_STATUS and QUERY_CONG_STATUS commands in mlx5_fwctl.

  • PCI Interface Disable via mlxconfig - The PCI interface between the DPU and host OS can now be disabled using mlxconfig. All buses overlapping the interface are set with WIDTH=0, effectively disabling PERST#. This behavior is controlled via an INI parameter.

  • Error Injection via MPEINJ - Added support for error injection via MPEINJ access registers and RAS. The supported error: fake errors for testing and validation purposes.

  • Traffic Mirroring using Hairpin Queues in non-SR-IOV Setups - This enhancement enables loopback-based packet mirroring between physical functions (PFs) or within the same PF without requiring SR-IOV or virtual functions (VFs). It allows users to duplicate and redirect selected traffic flows for monitoring, debugging, or analytics purposes while maintaining high performance and low latency through hardware-based hairpin forwarding.

  • PCC NP IFA2 GNS - Enables customers to specify the corresponding GNS values that will be forwarded to the DOCA PCC NP feature. When multiple slots are configured with IFA2, the GNS settings in pcc_config and pcc_np_config must be identical across all slots using IFA2.

  • Enable/Disable ECN in Upstream - Added the ability to enable or disable ECN in the upstream by allowing the MODIFY_CONG_STATUS and QUERY_CONG_STATUS commands in mlx5_fwctl.

The following table details the API changes that were introduced in this version of DOCA:

Library

Change Description

DOCA Common

doca_buf_inventory

  • Added

    • doca_buf_inventory_buf_reuse_by_args

    • doca_buf_inventory_buf_reuse_by_data

    • doca_buf_inventory_buf_reuse_by_addr

doca_clock

doca_ctx

  • Added

    • doca_ctx_profiler_set_max_nranges

doca_dev

  • Added

    • doca_devinfo_get_data_direct_pci_dev

    • doca_devinfo_rep_get_total_vfs

    • doca_devinfo_rep_get_pf_vuid

    • doca_devinfo_rep_get_data_direct_pci_dev

doca_mmap

  • Added

    • doca_mmap_get_mkey

    • doca_mmap_set_export_access_token

    • doca_mmap_cap_get_max_export_access_token_size

doca_pe

  • Added

    • enum doca_task_submit_flag.DOCA_TASK_SUBMIT_FLAG_RANGE_PROFILING_REQUESTED

    • enum doca_task_submit_flag.DOCA_TASK_SUBMIT_FLAG_RANGE_PROFILING_PROCESSED

DOCA DevEmu

doca_devemu_pci

  • Added

    • doca_devemu_pci_dev_reset_msix

    • doca_devemu_pci_dev_reset_db

    • doca_devemu_pci_dev_get_total_vfs

    • doca_devemu_pci_dev_get_num_vfs

    • doca_devemu_pci_dev_get_num_free_dynamic_vf_msix

    • doca_devemu_pci_dev_get_num_free_dynamic_vf_db

    • doca_devemu_pci_dev_event_sriov_register

DOCA DPA

doca_dpa_dev_verbs

  • Added

    • doca_dpa_dev_verbs_qp_post_recv_raw_ack

DOCA Eth

doca_eth_rxq_gpu_data_path

doca_eth_rxq

  • Added

    • doca_eth_rxq_get_hw_queue_num

doca_eth_txq_gpu_data_path

  • Added

    • doca_eth_txq_gpu_set_uar_on_cpu

    • doca_eth_txq_gpu_set_sq_mem_type

    • doca_eth_txq_gpu_cpu_proxy_progress

doca_eth_txq

  • Added

    • doca_eth_txq_get_hw_queue_num

DOCA PCC

doca_pcc_dev_data_structure_le_cx9

doca_pcc_dev_algo_access

  • Added

    • doca_pcc_dev_set_slot_counter_group

doca_pcc_dev

  • Added

    • doca_pcc_dev_event_type_enum.DOCA_PCC_DEV_EVNT_ROCE_NO_CREDIT

    • doca_pcc_dev_event_type_enum.DOCA_PCC_DEV_EVNT_ROCE_SACK

    • doca_pcc_dev_event_type_enum.DOCA_PCC_DEV_EVNT_ROCE_TRIMM_NACK

    • doca_pcc_dev_results.doca_pcc_dev_results_extra_t

    • doca_pcc_dev_user_cc_hint_init_caps

    • doca_pcc_dev_get_cc_hint_id

    • doca_pcc_dev_get_cc_hint_usn

    • doca_pcc_dev_get_cc_hint

    • doca_pcc_dev_set_window_size

    • doca_pcc_dev_set_cc_credits

    • doca_pcc_dev_set_cc_credits_and_reload

    • doca_pcc_dev_set_burst_without_credit

    • DOCA_PCC_DEV_MAX_NUM_COUNTER_GROUP

    • DOCA_PCC_DEV_DEFAULT_COUNTER_GROUP_ID

    • DOCA_PCC_DEV_QP_IS_REQUESTOR

    • DOCA_PCC_DEV_CC_WINDOW_COUNT_MODE_BYTE_SHIFT

  • Changed

    • DOCA_PCC_DEV_MAX_NUM_PARAMS_PER_ALGO

doca_pcc_np_dev

  • Added

    • doca_pcc_np_dev_get_t2_ts

doca_pcc

  • Added

    • doca_pcc_np_cap_is_ifa2_gns_bitmap_mask_sel_supported

    • doca_pcc_np_set_ifa2_gns_bitmap_mask_sel

    • doca_pcc_np_cap_is_ts_source_supported

    • doca_pcc_np_set_ts_source

DOCA PCC ZTR

doca_pcc_dev_ztr_rttcc_algo

  • Added

    • doca_pcc_dev_ztr_rttcc_debug_rx_rate_algo

    • doca_pcc_dev_ztr_rttcc_debug_rx_rate_init

DOCA Verbs

doca_verbs

  • Added

    • DOCA_VERBS_QP_ATTR_CC_GROUP

    • doca_verbs_context_export_handle

    • doca_verbs_context_import_from_handle

    • doca_verbs_pd_export_handle

    • doca_verbs_pd_import_from_handle

    • doca_verbs_cq_attr_get_entry_size

    • doca_verbs_cq_attr_get_cq_size

    • doca_verbs_cq_attr_get_cq_overrun

    • doca_verbs_cq_attr_get_comp_channel

    • doca_verbs_cq_attr_get_cq_context

    • doca_verbs_cq_attr_get_external_umem

    • doca_verbs_cq_attr_get_external_uar

    • doca_verbs_cq_attr_get_dpa_thread_id

    • doca_verbs_cq_attr_get_external_datapath_en

    • doca_verbs_qp_attr_set_cc_group

    • doca_verbs_qp_attr_get_cc_group

    • doca_verbs_cc_group_attr_create

    • doca_verbs_cc_group_attr_destroy

    • doca_verbs_cc_group_attr_set_hint

    • doca_verbs_cc_group_attr_get_hint

    • doca_verbs_cc_group_create

    • doca_verbs_cc_group_destroy

    • doca_verbs_cc_group_modify

    • doca_verbs_cc_group_query

    • doca_verbs_query_cc_group_caps

    • doca_verbs_cc_group_caps_free

    • doca_verbs_cc_group_caps_get_data

    • doca_verbs_cc_group_caps_get_vendor_id

    • doca_verbs_cc_group_caps_get_format_id

    • doca_verbs_device_attr_get_is_cc_group_supported

    • doca_verbs_device_attr_get_max_cc_group

    • doca_verbs_device_attr_get_max_cc_group_hint_max_size

  • Removed

    • doca_verbs_qp_init_attr_set_external_datapath_en

    • doca_verbs_qp_init_attr_get_dbr_umem_id

    • doca_verbs_qp_init_attr_get_wq_umem_id

    • doca_verbs_qp_init_attr_get_send_cqn

    • doca_verbs_qp_init_attr_get_receive_cqn

    • doca_verbs_qp_init_attr_get_external_datapath_en

Info

To view API changes for previous DOCA versions, refer to the release notes of those archived versions.

© Copyright 2025, NVIDIA. Last updated on Nov 20, 2025