Networking DOCA SDK Documentation

Customer Affecting Changes

Changes in This Release

Category

Description

Customer Impact and Recommendation

DOCA Apps 3.5.0

DPDK queue-count initialization in dpdk_queues_and_ports_init() is now strictly enforced; the configured queue count is no longer implicitly overridden by available lcores.

Apps/samples that set reserve_main_thread=true with nb_queues=1 will now fail to initialize. Either set reserve_main_thread=false or use nb_queues >= 2.

DOCA Flow 3.5.0

Deprecation of system-wide resource APIs (stable): The following system-wide resource sizing and binding APIs are deprecated in DOCA 3.5: doca_flow_cfg_set_nr_counters(), doca_flow_cfg_set_nr_meters(), doca_flow_cfg_set_nr_shared_resource(), and doca_flow_shared_resources_bind(). These APIs configure a global resource pool. Applications should migrate to the per-port resource model.

Compiling source code that uses the deprecated APIs now produces deprecation warnings. ABI compatibility is unchanged in this release, and the corresponding symbols remain exported, so existing binaries continue to link and run without modification.

Migrate to the following per-port APIs:

  • Use doca_flow_port_cfg_set_nr_resources() to configure resource capacity, such as DOCA_FLOW_RESOURCE_COUNTER and DOCA_FLOW_RESOURCE_METER.

  • Use doca_flow_port_shared_resource_get() and doca_flow_port_shared_resource_put() to allocate and release shared resources.

Before calling doca_flow_init(), enable the per-port resource model:

doca_flow_cfg_set_resource_mode(cfg, DOCA_FLOW_RESOURCE_MODE_PORT)

In DOCA 3.5, the replacement APIs are experimental and produce an experimental-API compilation warning. Define DOCA_ALLOW_EXPERIMENTAL_API to acknowledge and suppress this warning. These APIs may change until they are promoted to stable.

During migration, define DOCA_ALLOW_DEPRECATED_API to suppress warnings from the legacy APIs temporarily.

Changes Planned for Future Releases

Planned for Version

Description

Customer Impact and Recommendation

DOCA 3.6 (Oct 2026)

Removing ofed_scripts Package in DOCA-Host

the ofed_scripts package in DOCA-Host is formally deprecated and will be removed from all DOCA-Host profiles/packs.

This removal impacts the following components:

  • ofed_info/ofed_rpm_info

  • ofed_uninstall.sh

  • sysinfo-snapshot.py

  • install.pl

  • vendor_pre_uninstall.sh/vendor_post_uninstall.sh

The openibd script is not a part of ofed_scripts and is not affected by this change.

Migration path:

  • Instead of ofed_info, use native Linux package manager metadata to query DOCA-Host meta-packages:

    • Ubuntu/Debian:

      apt info doca-networking
      
    • RHEL/Rocky:

      yum info doca-networking
      
  • Instead of sysinfo-snapshot.py, migrate to doca-sosreport.

  • Regarding ofed_uninstall: The legacy script is preserved in older versions for backward compatibility during initial installations, but it is not used for upgrades between DOCA-Host versions (DOCA-Host 2.6 and higher).

Manual Enablement of SF Auxiliary Devices: With the new implementation, mlxdevm Sub-Functions are no longer probed automatically with all auxiliary sub-devices, such as Ethernet and RDMA.

Previously, when an SF was created and activated, all relevant auxiliary sub-devices were probed by default. Now, the SF is initially probed without auxiliary sub-devices, and each required auxiliary device must be enabled manually.

To manually enable each required auxiliary device, the user must: 

  1. Create and activate the SF.

  2. Enable the Ethernet auxiliary device.

  3. Reload the auxiliary device to fully probe the SF after enabling the required auxiliary device.

For example:

  1. Create and activate the SF.

    /opt/mellanox/iproute2/sbin/mlxdevm port add pci/0000:08:00.0 flavour pcisf pfnum 0 sfnum 11
    /opt/mellanox/iproute2/sbin/mlxdevm port function set pci/0000:08:00.0/32768 state active
    
  2. Enable the Ethernet auxiliary device.

    /opt/mellanox/iproute2/sbin/mlxdevm dev param set auxiliary/mlx5_core.sf.1 name enable_eth value true cmode driverinit
    
  3. Reload the auxiliary device to fully probe the SF after enabling the required auxiliary device.

    /opt/mellanox/iproute2/sbin/devlink dev reload auxiliary/mlx5_core.sf.1
    

RoCE Configuration Interface Update: The sysfs interface previously used to configure the RoCE state (/sys/bus/pci/devices/0000:00:08.0/roce_enable) will no longer be supported.


Users should now use mlxdevm to enable or disable RoCE on a port.

Example:

mlxdevm dev param set pci/0000:08:00.0 roce <enable|disable>

MAC Address Configuration Interface Update: MAC address configuration through sysfs is being deprecated. Users should use devlink or mlxdevm to configure the MAC address for the ECPF, PF vport, or VF vport.

To configure a MAC address using devlink or mlxdevm:

  1. Discover the relevant port index.

    devlink port show
    

    Example:

    pci/0000:03:00.0/65536: flavour pci_pf controller 1 pf 0 external
    pci/0000:03:00.0/65537: flavour pci_vf controller 1 pf 0 vf 0 external
    pci/0000:03:00.0/65538: flavour pci_vf controller 1 pf 0 vf 1 external
    
  2. Set the MAC address using the relevant port index.

    devlink port function set pci/0000:03:00.0/<port_index> hw_addr <mac>
    

    Example mappings:

    Host PF    vport 0 → pci/0000:03:00.0/65536
    Host VF 0  vport 1 → pci/0000:03:00.0/65537
    Host VF 1  vport 2 → pci/0000:03:00.0/65538
    

Support for App Shield, BlueMan, and Flow Inspector will be discontinued.

Support for the DOCA Flow Inspector service, DOCA BlueMan service, and DOCA AppShield library will be discontinued in DOCA 3.6. DOCA 3.5.0 is the last release that supports these components.

DOCA 3.6 (Oct 2026 release) will be the last DOCA version to support ConnectX-4 Lx and ConnectX-5. DOCA 3.6 will be an LTS version supported for 3 years for bug fixes and CVE updates. DOCA 4.0 (Jan 2027 release) will not support these devices.


DOCA 3.5 July 2026 release will be the last to support BFB-Install tool. in DOCA 3.6 Oct 2026 DOCA-Installer will replace the fun functionality currently provided by BFB-Install


DOCA 4.0
(Jan 2027)

DOCA-Flow - Support of Crypto and NAT64 actions will be removed from Basic pipe.

For Crypto and NAT64 functionality customers should use Ordered_List pipe. 

Removal of system-wide resource APIs: In DOCA 4.0, the declarations for the following system-wide shared-resource APIs are removed from doca_flow.h:

  • doca_flow_cfg_set_nr_counters()

  • doca_flow_cfg_set_nr_meters()

  • doca_flow_cfg_set_nr_shared_resource()

  • doca_flow_shared_resources_bind()

  • doca_flow_shared_resource_set_cfg()

  • doca_flow_shared_resources_query()

The declaration for doca_flow_cfg_set_resource_mode() and the definition of enum doca_flow_resource_mode are also removed. The corresponding symbols remain in the library to preserve binary compatibility for applications built against earlier headers. For applications compiled against the DOCA 4.0 headers, per-port shared resources are the default and only supported resource model.

Existing binaries are unaffected. Applications built against pre-4.0 headers continue to link and run against DOCA 4.0 without relinking or behavior changes. The legacy symbols remain exported, and the system-wide resource behavior is preserved for these binaries.

Source migration is required. Code rebuilt against the DOCA 4.0 headers no longer compiles if it calls the removed APIs or references enum doca_flow_resource_mode or DOCA_FLOW_RESOURCE_MODE_*. Migrate the source code to the per-port APIs before rebuilding it against DOCA 4.0. Per-port resource management is the default and only supported model in DOCA 4.0, so remove calls to doca_flow_cfg_set_resource_mode() and all related resource-mode references.

Use the following replacements:

  • doca_flow_cfg_set_nr_counters(), doca_flow_cfg_set_nr_meters(), and doca_flow_cfg_set_nr_shared_resource()doca_flow_port_cfg_set_nr_resources()

  • doca_flow_shared_resources_bind()doca_flow_port_shared_resource_get() and doca_flow_port_shared_resource_put()

  • doca_flow_shared_resource_set_cfg()doca_flow_port_shared_resource_set_cfg()

  • doca_flow_shared_resources_query()doca_flow_port_shared_resources_query()

  • doca_flow_cfg_set_resource_mode() and enum doca_flow_resource_mode → no replacement; remove the call and any DOCA_FLOW_RESOURCE_MODE_* references

Migration requirements:

  • Configure resource capacity on the port configuration before calling doca_flow_port_start().

  • After the port starts, allocate resource IDs with doca_flow_port_shared_resource_get(), configure and query the resources through the corresponding per-port APIs, and release the IDs with doca_flow_port_shared_resource_put().

  • Translate resource types by name rather than by numeric value. enum doca_flow_resource and enum doca_flow_shared_resource_type are not numerically aligned; DOCA_FLOW_RESOURCE_COUNTER_CT shifts the values that follow IPSEC_SA.

  • Resource IDs are scoped by port and resource type. They start at 0, may be reused after release, and are not guaranteed to increase monotonically. doca_flow_port_shared_resource_get() returns DOCA_ERROR_EMPTY when the configured capacity for that resource type is exhausted.

  • In DOCA 3.5.0, the per-port APIs require calling doca_flow_cfg_set_resource_mode(cfg, DOCA_FLOW_RESOURCE_MODE_PORT) before doca_flow_init(). This call is not required in DOCA 4.0. Isolate it if the source must support both releases.

For implementation examples, see samples/doca_flow/flow_shared_counter and samples/doca_flow/flow_shared_meter.

DOCA 4.0 (Jan 2027)

DOCA-Host introduction of new Host Packs to replace current DOCA-Host Profiles. DOCA-Host-Packs allows better resolution of DOCA installation, where each Pack includes a smaller part of DOCA libs. Packs can be installed alone, or more than one on a host. DOCA-Host-Packs will include: 

  • DOCA-Host-Base

  • DOCA-Networking-Core

  • DOCA-GPU-Net

  • DOCA-Storage

  • DOCA-Scientific-AI

  • DOCA-All

  • DOCA-Tools

Customer automation and installation flows must be updates with the new DOCA-Host-Packs.

 To align with existing DOCA-Host Profiles, users should install: 

  • DOCA-OFED – install DOCA-Host-Base + DOCA-Tools

  • DOCA-Networking – install DOCA-Networking-Core + DOCA Tools

  • DOCA-All – install DOCA-All 

October 2027

ConnectX-6 Adapters and BlueField-2 DPU Adapters End-of-Life

October 2027 DOCA release will be the last to support ConnectX-6 and BlueField-2. This version will be an LTS version supported for 3 years. The following release (January 2028) will no longer support these devices. 

Changes from Earlier Releases

This section provides a list of changes that took place throughout the past two major releases that broke compatibility/interface or discontinued support for features or OS versions.

For older changes, consult the DOCA documentation archive.

Introduced in Version

Description

Customer Impact and Recommendation

DOCA 3.4 (Apr 2026) 

Virtio-net and virtio-blk support for BlueField-2 devices will be removed from DOCA GA release. BlueField-2 virtio-net will continue to be available in the current LTS branches (DOCA 2.9.x and DOCA 3.2.x).

BlueField-2 customers interested in using virtio-net should use one of the LTS branches.

DOCA-Host 3.3.0 (Jan 2026)

The GPG key used to sign the DOCA-Host Linux repository has been rotated to a new, stronger key. The key identity has also changed from "Mellanox Technologies" to "NVIDIA DOCA Host."

During installation or upgrade, users may be prompted to confirm and import the new repository key; once accepted, the process will proceed normally.

DOCA-Host 3.3.0 no longer supports the end-of-life Ubuntu 20.04 , Ubuntu 25.04, Azure Linux 2.0, OpenEuler 20.03, Debian 10.13, Xenserver 8.2, BCLinux 21.10 SP2.


The SHARP package has been removed from all DOCA-Host deliverables.


The SYSFS interface for MR cache configuration will be deprecated and replaced by the rdma resource command.

Any users or scripts relying on this SYSFS interface must be updated to use the new rdma command API.

The knem module has been deprecated and replaced by xpmem.


DOCA-Host 3.3.0 (Jan 2026)

Transition to 2023 Microsoft UEFI Certificate Authority

To align with updated Microsoft UEFI Secure Boot requirements and the upcoming end-of-life of the 2011 Certificate Authority (CA), NVIDIA is transitioning to the 2023 CA.

To ensure successful loading of the Expansion ROM (ExpROM) during the UEFI Secure Boot process, system BIOS and operating system trust stores must be updated to include the 2023 CA.

When performing a firmware update of ConnectX and BlueField devices the new certificate is required for Secure Boot.

To continue supporting Secure Boot, systems must be updated to recognize the "Microsoft Option ROM UEFI CA 2023."

DPA 3.2.0

DPA Application Attributes: To enhance security, DPA application attributes are being introduced. Developers must now create a dpa-app-attributes file for each application, which declares the app's permissions and must be compiled with the application.

When updating the BF-Bundle (or ConnectX firmware), users must also update the corresponding DOCA Host components.

As part of this update, each DPA application must be rebuilt with its dpa-app-attributes file.

If a file is not supplied, a default manifest enabling all permissions will be applied automatically.

Undocumented and previously deprecated DPA/FlexIO APIs will be removed.

Users who utilized these APIs must remove them from their code and re-build their applications.

DOCA-Host 3.2.0

OpenSM support is removed from DOCA-Host for Xenserver operating systems.

No impact.

The HCOLL and MPItests packages have been removed from all DOCA-Host deliverables.

No impact listed.

The phy_stats sysfs counters are deprecated.

  • Deprecated: /sys/class/net/<iface>/phy_stats/

  • Replacement: Use ethtool -S <iface> and filter for packets_phy or bytes_phy.

No impact listed; recommendation is in the description.

The has_smi sysfs entry is deprecated.

  • Deprecated: /sys/class/infiniband/mlx5_0/ports/1/has_smi

  • Replacement: Use the ib_stat tool

Users should parse the ib_stat output for the "Capability mask" value:

  • Bit #1 indicates IsSM

  • Bit #10 indicates IsSMdisabled

The hfunc sysfs entry for setting/showing hash functions is deprecated.

  • Show (Deprecated): cat /sys/class/net/<iface>/settings/hfunc

  • Show (Replacement): ethtool -x --show-rxfh <devname>

  • Set (Deprecated): echo [hfunc] > /sys/class/net/<iface>/settings/hfunc

  • Set (Replacement): ethtool -X --rxfh <devname> [hfunc FUNC]

No impact listed; recommendation is in the description.

The pfc_stall_prevention sysfs entry is deprecated.

  • Show (Deprecated): cat /sys/class/net/<iface>/settings/pfc_stall_prevention

  • Show (Replacement): ethtool --get-tunable <iface> pfc-prevention-tout

  • Set (Deprecated): echo [default/auto] > /sys/class/net/<iface>/settings/pfc_stall_prevention 

    default is mapped to 8000 msec per critical prevention.
    auto is mapped to 100 msec per critical prevention.

  • Set (Replacement): ethtool -X --set-tunable <devname> [pfc-prevention-tout N]

No impact listed; recommendation is in the description.

The sysfs entry for displaying VF statistics is deprecated.

  • Deprecated: /sys/class/infiniband/mlx5_2/device/sriov/2/stats

Users should use the ip command instead: 

/opt/mellanox/iproute2/sbin/ip -s link show dev <VF-interface-name>

VGT+ capability will be unsupported as of October 2025.

No impact listed.

The "Per Channel Statistics" ethtool private-flag will be unsupported as of October 2025.

No impact listed.

The commands_cache sysfs entry is deprecated.

No impact listed.

Dynamic Kernel Module Support (DKMS) is now integrated, allowing customers to build their own DOCA-Host packages.

As part of the DKMS build process, driver signing is removed. Customers must sign the drivers themselves.

The mlxdevm tool, part of DOCA-Host, is deprecated.

Use the devlink tool, which is included in DOCA-Host. mlxdevm is redundant as it provides the exact same functionality.

Backward compatibility with older MFT (NVIDIA Firmware Tools) versions 4.31.0-149 and 4.30.0-139 is no longer supported.

Using these unsupported MFT versions may lead to unexpected behavior or prevent device detection.

DOCA-Host 3.1.0

In the DOCA-OFED profile, the openvswitch component was deprecated and replaced with the doca-openvswitch component.

The content and features are identical, but customers using the openvswitch component must re-build their applications with the new doca-openvswitch package.

The "Shared RQ" feature was replaced by the "memory consumption reduction for representors" feature.

As a result, the esw_pet_insert devlink parameter is no longer available, and setting ALLOW_SHARED_RQ in /etc/mellanox/mlnx-bf.conf has no effect.

DOCA-Host 3.0.0 (Apr 2025)

The mlxdevm tool was aligned with devlink v6.12. In this version, a zero-rate value indicates "unlimited" and is omitted from the display.

When using mlxdevm port function rate show, the tx_rate and tx_max fields are omitted if their value is zero. The driver also only accepts tx_rate and tx_max values that are multiples of 1 Mb/s.

The mlxdevm tool was aligned with devlink v6.12 and conforms to its man page specifications.

To set rate, use: 

port function rate set [DEV/PORT_INDEX | DEV/NODE_NAME] tx_max VALUE

DOCA-Host 2.10.0 (Jan 2025)

When Dynamic Interrupt Moderation (DIM) is enabled, static coalescing parameters cannot be set because the dynamic algorithm will override their values.

To set static coalescing parameters, you must first disable DIM.

The ConnectX-4 adapter card family is no longer supported

N/A

Support was removed for several OS versions (e.g., RHEL 8.0, 8.1, 8.3, 8.5, 8.7, 9.1, 9.3, and OL 7.9)

N/A

DOCA-Flow 2.10.0

Several features were temporarily unsupported in the 2.10 release, including ACL pipe, LPM pipe, CT pipe, ordered_list pipe, external send queue (SQ), and pipe resize.

Users needing these features were advised to use DOCA Flow 2.9.1.

The requirement to use a dummy_id for IPsec encryption actions during pipe creation was removed.

When creating a pipe with a crypto action, UINT32_MAX now represents a changeable shared object, while a crypto_id between 0 and UINT32_MAX indicates a constant.

Memory for "modify field" and "encap" actions must be allocated upfront on a per-port basis.

If these actions are used, the doca_flow_port_cfg_set_actions_mem_size() function must be called to configure the memory size.

"Strict matching" is no longer supported.

The doca_flow_pipe_cfg_set_enable_strict_matching() function is deprecated. Users must use "relaxed matching".

The entry aging mechanism no longer relies on DPDK. The service_core= and svc_cycle_time= DPDK arguments are no longer supported.

Users must use the new APIs: doca_flow_port_cfg_set_service_threads_core() and doca_flow_port_cfg_set_service_threads_interval().

The doca_flow_parser_meta.random field was changed to big-endian.

Users must update code to provide this value in big-endian format. The DOCA_HTOBE16 macro is recommended.

The RSS config API was refactored to align with other resource types.

Users must now specify whether the RSS resource is shared or non-shared

Values for the doca_flow_l2_meta and doca_flow_meter_color enums were changed.

Users must recompile their applications.

The match fields parser_meta.outer_l4_ok and parser_meta.inner_l4_ok no longer validate the L4 checksum.

To check for a valid checksum, users must use parser_meta.outer_l4_checksum_ok and parser_meta.inner_l4_checksum_ok.

Entry "life event" callback was previously invoked only on "entry add" and "entry removal".

The callback is now also invoked upon "port stop" during the removal of pipe entries. Therefore, the user context must still be defined at that stage.

DOCA-ETH 2.10.0

The eth_rxq_managed_mempool_receive and eth_rxq_regular_receive samples were not supported.

Users needing these samples were advised to use DOCA 2.9.1.

DOCA 2.9.0 (Oct 2024)

DPA Outbox Blocking-Mode: Due to a silicon issue (as of firmware v28.43.2026), the DPA outbox was set to non-blocking mode, causing requests to complete immediately without waiting for the actual operation to finish.

The DPA stack must poll a "busy" bit before starting another operation. Users programming the DPA must update firmware to 28.43.2026+ and DOCA-Host to 2.9.x+.

DPA Thread Context: As of firmware v28.43.2026, internal DPA stack API changes altered the DPA thread context, impacting the overlying DPA stack.

This requires the same action as the Outbox Blocking-Mode: update firmware to 28.43.2026+ and DOCA-Host to 2.9.x+.

Discontinued Features

List of features which are supported in previous generations of hardware devices:

  • N/A

Last updated: