Skip to content

The DOCA framework map, versions and LTS

S1·E5The host image that stops at ConnectX-7 · NVIDIA briefing room, design review with the Dell host-image team

S1·E5Understand~30 minsources checked todayverified against DOCA 3.5.0 overview, profiles, host-install, BF-Bundle, libraries, dependency-compatibility, general-support, release-notes and changes pages; MLNX_OFED to DOCA-OFED transition guide (3.4.0 archive); doca-samples 3.5.0; NGC catalog, 2026-09-06

Builds on: Modes of operation: DPU, NIC, Zero-Trust

Before you read: what do you already know?

3 quick questions. Wrong answers are fine and expected; trying first makes the lesson stick.

After this lesson you can

  • Distinguish DOCA-Host from the BF-Bundle and the firmware-only bf-fwbundle, and say what each installs and overwrites.
  • Choose among the five DOCA-Host installation profiles from their exact component lists and NVIDIA's device recommendations.
  • Read the DOCA 3.5.0 libraries table and state the quality level of any library before promising it.
  • Apply the release cadence, LTS naming and the Level 1 / Level 2 dependency-compatibility rules to a host-firmware upgrade question.
  • Explain the MLNX_OFED to DOCA-OFED transition and its dates to a Dell host-image team.

Episode 5 — The host image that stops at ConnectX-7

The situation · NVIDIA briefing room, design review with the Dell host-image team

Six people, one whiteboard, a PM in the corner with a roadmap slide he introduces as “not announced”, and a team that has shipped the same qualified driver stack for four years. Their March build carries the customer’s sixty-four nodes — BlueField-3 on the multi-tenant class, ConnectX-8 on the GPU class — into a fleet that is otherwise ConnectX-6 and ConnectX-7. The lead engineer states the plan in one sentence: add the cards, keep MLNX_OFED, ship in March. You have to say, in front of an SE whose spreadsheet already has that month in it, that this plan has no version that works.

DOCA exists so that one framework covers both device classes. It provides all the required libraries and drivers for hosts that include NVIDIA Networking platforms — BlueField and ConnectX — and it ships as two packages: DOCA-Host, installed on the host server, and the BlueField Software Bundle, installed on the BlueField Arm cores[1]. The line that ends the argument is in the support matrix: BlueField-2 and ConnectX-7 are the last generation of BlueField and ConnectX families supported by MLNX_OFED[6]. Every new node is on the far side of it.

A fleet’s host stack is decided by its newest card, not its oldest. So the whiteboard fills with the questions that follow. Which profile — doca-all, or doca-ofed, the driver-only installation equivalent to MLNX_OFED[2]? Which release, given the annual LTS and its three-year support window[8]? Which libraries may they promise, given the quality levels in the 3.5.0 table[7]? You start at the packages.

1Two packages, three layers on the card

The overview draws the first line: “DOCA-Host: the software package installed on the host server which includes different DOCA installation profiles”, and the “BlueField Software Bundle (BF-Bundle): the software package installed on the BlueField Arm cores”.[1] The BF-Bundle is itself three layers: “The DOCA runtime drivers and libs installed on top of the BlueField Platform”, “The OS installed on the BlueField Platform”, and “The BlueField Platform Software (i.e., firmware and UEFI bootloader)”.[1]

Those three layers can be updated together or separately. Installing the full BF-Bundle “overwrites the entire boot partition” and “updates BlueField and NIC firmware”; the firmware-only alternative, the bf-fwbundle, “upgrades the ATF-UEFI, NIC firmware, and BMC firmware only”, which is what you use to “preserve configurations or files on BlueField itself”.[5] The Arm OS in 3.5.0 is stated on the general-support page: “The default operating system provided with the BlueField bundle (for DPU and SuperNIC) is Ubuntu 24.04 64k”.[6] Note that the BF-Bundle install page’s worked examples still carry 2.7.0-era names such as bf-bundle-2.7.0_24.04_ubuntu-22.04_prod.bfb; the general-support page is the current statement, the install page’s examples are stale.[5][6]

On the host side the package split is runtime versus development: “By default, installing DOCA profiles with standard Linux tools (yum, apt) installs both doca-runtime and doca-devel”, where runtime is the production set of libraries, drivers and tools and devel (formerly doca-sdk) adds headers, reference applications and compilers.[4]

The overview also fixes the component vocabulary: libraries and drivers; samples, “an implementation example of a single feature of a given DOCA library”; applications, “higher-level reference code than the samples”; tools, “helper tools for both runtime and development”; and services, “containerized DOCA-based programs that provide an end-to-end solution for a given use case”.[1]

2Five host profiles

The 3.5.0 profiles page lists five DOCA-Host profiles with exact component lists:[2]

Profile Components (verbatim) NVIDIA’s guidance
doca-all “All DOCA libraries and drivers, MLNX_OFED, DOCA Core, MLNX-DPDK, OVS-DOCA, DOCA Flow” recommended for BlueField devices
doca-networking “MLNX_OFED, DOCA Core, DOCA-PCC, OVS-DOCA, DOCA Flow, DOCA Perftest” recommended for ConnectX devices; BlueField for networking only
doca-ofed “MLNX_OFED drivers and tools” driver-only, equivalent to MLNX_OFED
doca-roce “rdma-core, ofed-scripts, mlnx-tools, mlnx-ofa_kernel, perftest” minimal RDMA host
doca-host-basic “rdma-core, mlnx-tools, mlnx-ofa_kernel, perftest, mlnx-ethtool, mlnx-iproute2” minimal Ethernet host tooling

All five support BlueField-3, BlueField-2, ConnectX-8, ConnectX-7, the ConnectX-6 family, ConnectX-5 and ConnectX-4 Lx.[2] The doca-host-basic row is what changed: earlier documents list four profiles, and 3.5.0’s page has five.[2] The doca-samples README states the superset relationship plainly: “Use doca-all profile, This profile is the super-set of components, which also includes the content of doca-ofed and doca-networking”.[12]

Installation is one package-manager line, sudo apt install -y doca-all (or the yum/zypper equivalent), and the install page names three further installable targets outside the profile table — doca-libvma, doca-libxlio and doca-extra.[3] One prerequisite is easy to skip: a host that runs MLNX_OFED must have it fully removed first, with sudo /usr/sbin/ofed_uninstall.sh --force, before the initial DOCA-Host installation.[3]

The NGC container reproduces the same idea in image flavours: base-rt “Includes the DOCA runtime, using the most basic runtime environment needed”, full-rt “includes the full list of runtime packages”, and devel “adds headers and development tools for developing and debugging DOCA applications”.[13]

1 · What does the host do?
2 · DOCA-Host profiles (3.5.0 — five, incl. doca-host-basic added in 3.x)

⚠ = not confirmed on a fetched primary source (hover for why). Facts as of DOCA 3.5.0 (Sep 2026). Selections are saved.

Profiles tab: tick a component the host needs (OVS-DOCA, DOCA Flow, PCC, ethtool) and see which profiles contain it.

3Libraries, services, tools, and what a quality level promises

“The quality level of each library reflects the maturity and support status of its major functionality” — that is the only definition the 3.5.0 libraries page gives; there is no formal GA, Beta or Alpha definition beyond the labels.[7] The 3.5.0 table:[7]

Level Libraries
GA DOCA Flow, Flex IO, DOCA DMA, DOCA Comch, DOCA RDMA, DOCA App Shield, DOCA Compress, DOCA SHA, DOCA Erasure Coding, DOCA AES-GCM, DOCA Telemetry Exporter, DOCA Telemetry, DOCA Device Emulation, DOCA DevEmu PCI Generic, DOCA DevEmu Virtio-FS
Beta DOCA Common, DOCA DPA, DOCA PCC, DOCA Ethernet, DOCA GPUNetIO, DOCA Rivermax, DOCA Management
Alpha DOCA UROM, DOCA STA

Two of those rows surprise people. DOCA Common — the core objects every program uses — is Beta, while the libraries built on it are GA; the label describes the maturity of the library’s major functionality, not whether you can depend on it. And there is no RegEx row at all, which is why lesson 1.3 refused to promise the hardware engine.[7]

Maturity is also enforced at compile time. The samples’ meson files add -DDOCA_ALLOW_EXPERIMENTAL_API with the comment “Comment this line to restore warnings of experimental DOCA features”, and -DDOCA_ALLOW_DEPRECATED_API with the matching comment for deprecated features.[14] A production build that omits those defines will see exactly which calls are outside the stable surface. Each library is found by the compiler through pkg-config under a doca-<library> name — dependency('doca-common'), dependency('doca-dma'), dependency('doca-argp') in the DMA sample — and the tools, including the DPA compiler, live in /opt/mellanox/doca/tools.[14][15]

Services are the fourth kind of artefact: “containerized DOCA-based programs that provide an end-to-end solution for a given use case”.[1] Module 5 covers them; for now, the framework map is libraries (with a quality level), drivers, tools, samples, applications and services, delivered as DOCA-Host on the server and BF-Bundle on the card.[1]

4Cadence, LTS, and the two compatibility levels

The policy fixes the calendar: the “Annual release cycle occurs in October (GA), January, April, and July”.[8] The October release is the LTS branch point, with names such as “3.2.3-LTS25-U3” and “three-year support windows”.[8] The documentation site’s version selector shows the pattern: 3.5.0, 3.4.0, 3.3.0, then the 3.2.x LTS25 updates, 2.10.0, the 2.9.x LTS24 updates, down to the 2.5.x LTS23 line, with a few special drops such as 3.1.0-core-update and 2.9.0-CX8 in between.[11]

Compatibility between layers comes in two levels.[8]

Level 1 — Perpetual Dependency Compatibility: “Either the upper or lower layer may be upgraded independently, and all prior functionality is guaranteed to work seamlessly”, with forward and backward binary compatibility, applying to LTS update releases within the three-year window.[8]

Level 2 — Limited Dependency Compatibility: “Limited forward and backward binary compatibility”; “Compatibility is guaranteed for all releases within a single annual cycle (October through July)”; and “Breaking changes may be introduced annually, specifically with the October GA release”, so a July release “may not be compatible with the next October release”.[8]

Upper layer Lower layer Level
DOCA-Host, DOCA-OFED profile Firmware / BF-FW-Bundle 1 — Perpetual
DOCA-Host, other profiles Firmware / BF-FW-Bundle 2 — Limited
DOCA-Host, DOCA-OFED profile BF-Bundle 1 — Perpetual
DOCA-Host, other profiles BF-Bundle 2 — Limited
DOCA-DPU BF-FW-Bundle 2 — Limited
DOCA Services BF-Bundle 2 — Limited
DOCA Services Firmware / BF-FW-Bundle 2 — Limited

The matrix is the answer to most “can I upgrade just the firmware?” questions.[8] Two related dates from the 3.5.0 changes page: “DOCA 3.6.0 (October 2026) will be the final DOCA release to support ConnectX-4 Lx and ConnectX-5 devices”, and “Starting with DOCA 4.0, scheduled for release in January 2027, these devices will no longer be supported”.[10] And for AI-factory deployments, “DOCA v3.5.0 is tested as part of Spectrum-X reference architecture release version 2.3”.[4]

2024202520262027LTS23 (2.5.x)2026LTS24 (2.9.x)2027LTS25 (3.2.x)20283-year LTS windows (Level 1 for doca-ofed ↔ FW/BFB)DOCA 2.5.0 · 2023-12 (approx.)2.5.0Oct GA ~DOCA 2.6.0 · 2024-02 (approx.)2.6.0Jan ~DOCA 2.7.0 · 2024-04 (approx.)2.7.0Apr ~DOCA 2.8.0 · 2024-08 (approx.)2.8.0Jul ~DOCA 2.9.0 · 2024-11 (approx.)2.9.0Oct GA ~DOCA 2.10.0 · 2025-02 (approx.)2.10.0Jan ~DOCA 3.0.0 · 2025-05 (approx.)3.0.0Apr ~DOCA 3.1.0 · 2025-08 (approx.)3.1.0Jul ~DOCA 3.2.0 · 2025-11 (approx.)3.2.0Oct GA ~DOCA 3.3.0 · 2026-02 (approx.)3.3.0Jan ~DOCA 3.4.0 · 2026-05 (approx.)3.4.0Apr ~DOCA 3.5.0 · 2026-093.5.0JulDOCA 3.6.0 · 2026-103.6.0Oct GADOCA 4.0 · 2027-014.0Janquarterly GAOctober LTS baseannounced, not released~ = month approximate

⚠ = not confirmed on a fetched primary source (hover for why). Facts as of DOCA 3.5.0 (Sep 2026). Selections are saved.

Timeline tab: October GA and LTS branch, January, April, July; drag a host profile and a firmware bundle onto the calendar and the matrix returns Level 1 or Level 2.

5From MLNX_OFED to DOCA-OFED

The transition guide states the policy: “Following the last release of MLNX_OFED, no new features will be added to MLNX_OFED.”[9] The dates: “October 2024 – The last standalone release of MLNX_OFED”; “October 2024-October 2027 – The last standalone MLNX_OFED release will receive critical bug fixes and security updates”; “October 2027 – MLNX_OFED will no longer receive support or updates by NVIDIA”.[9]

The replacement is a package, not a new driver: “DOCA-OFED is an equivalent package of MLNX_OFED, providing the same functionality as MLNX_OFED and including the same kernel drivers, user space libraries, and management tools”, installed with sudo dnf -y install doca-ofed or sudo apt install -y doca-ofed instead of the MLNX_OFED installer script.[9] The device boundary is set on the general-support page: “NVIDIA BlueField-2 and NVIDIA ConnectX-7 are the last generation of BlueField and ConnectX families that are supported by MLNX_OFED”, and the 3.5.0 bundle pairs BlueField-3 with firmware 32.50.1002, ConnectX-8 with 40.50.1002 and ConnectX-9 with 82.50.1002 — devices that only DOCA-Host serves.[6]

For orientation on what a release adds, the 3.5.0 changes page is the model to read each quarter: Argus GPU metrics without a host agent and per-container runtime manifests; DOCA Bridge without a DPDK dependency; DOCA Ethernet header data-split and WQE inlining; DMS native port query and vhca_id resolution; OVS-DOCA IPv6 connection tracking, B3220SH storage controller support and floating-CPU PMD configuration; DOCA Telemetry RTT counters; DOCA VERBs Multi-Rail API.[10]

Episode 5 — Cutover night

How it ended

The build ships with doca-ofed on the existing ConnectX fleet — the same drivers and tools as MLNX_OFED, package-managed[9] — and doca-all on the BlueField nodes, the profile NVIDIA recommends there[2]. They pin an LTS release, because DOCA-OFED against firmware is Level 1, perpetual forward and backward binary compatibility, while the other profiles are Level 2 and can take a breaking change at the annual October GA[8]. Sixty-four nodes go over: forty GPU, twenty-four in Zero Trust, one fabric, one release train. The network lead closes a full notebook and never asks for the counter; she wrote it herself. At 02:10 the operator sends one photo: sixty-four 8-pin harnesses, each with a fresh label.

Lab

Read-only. Inventory the host package, the card firmware and, if reachable, the Arm OS, then place the triple on the compatibility matrix.

  1. Identify what the host runs:[3][9]
    dpkg -l 2>/dev/null | grep -i -E '^ii +(doca|mlnx-ofed)' || rpm -qa | grep -i -E 'doca|mlnx-ofed'
    Expected on a DOCA-Host system: doca-* packages and no standalone MLNX_OFED installation. If both appear, the host was not cleaned before DOCA-Host was installed — record it, do not uninstall anything.
  2. Record the firmware pairing:[16][6]
    sudo mst start && sudo mlxfwmanager --query
    Expected: BlueField-3 firmware 32.50.1002 if the card is on the 3.5.0 bundle. Write the exact version. If mlxfwmanager reports a version other than 32.50.1002, record the gap and stop — this host stack and this card firmware were not qualified together; do not flash in this lesson. If mst is not found, MFT is not installed on this host; note it and skip to step 3.
  3. If the Arm console is reachable through the RShim path, log in read-only and record the OS:[6]
    cat /etc/os-release
    Expected on a 3.5.0 BF-Bundle: Ubuntu 24.04. An Ubuntu 22.04 image indicates an older bundle on the card.
  4. Write the triple — host DOCA profile and version, card firmware, Arm OS — and classify the host-to-firmware pairing from the matrix: Level 1 if the host profile is doca-ofed, Level 2 for any other profile. State in one sentence whether the customer may upgrade firmware to the next October release without touching the host.[8]

Retrieval check

10 questions from memory. Answer before looking anything up; misses become flashcards.

Explain it to a Dell SE

Explain to a Dell host-image engineer, in five sentences, what they install on the server versus on the card, which profile to pick, and how the October rule constrains their upgrade plan.

15 flashcards for this lesson — 0 in deck. Spaced review lives at /review.

Sources

Facts in this lesson were checked against DOCA 3.5.0 overview, profiles, host-install, BF-Bundle, libraries, dependency-compatibility, general-support, release-notes and changes pages; MLNX_OFED to DOCA-OFED transition guide (3.4.0 archive); doca-samples 3.5.0; NGC catalog, 2026-09-06. Dates are when each page was fetched.

  1. DOCA Overview · fetched 2026-09-06 · DOCA 3.5.0
  2. DOCA Profiles (DOCA-Host installation profiles) · fetched 2026-09-06 · DOCA 3.5.0
  3. DOCA-Host Installation and Upgrade · fetched 2026-09-06 · DOCA 3.5.0
  4. DOCA Release Notes v3.5.0 · fetched 2026-09-06 · DOCA 3.5.0
  5. BF-Bundle Installation and Upgrade · fetched 2026-09-06 · DOCA 3.5.0
  6. DOCA General Support (OS matrix, firmware table) · fetched 2026-09-06 · DOCA 3.5.0
  7. DOCA Libraries (3.5.0) with quality levels · fetched 2026-09-06 · DOCA 3.5.0
  8. DOCA Dependency Compatibility Policy · fetched 2026-09-06 · DOCA 3.5.0
  9. MLNX_OFED to DOCA-OFED Transition Guide (3.4.0 archive) · fetched 2026-09-06 · DOCA 3.4.0
  10. DOCA 3.5.0 Changes and New Features · fetched 2026-09-06 · DOCA 3.5.0
  11. DOCA SDK documentation index (v3.5.0) with version selector · fetched 2026-09-06 · DOCA 3.5.0
  12. doca-samples README (3.5.0) · fetched 2026-09-06 · DOCA 3.5.0
  13. NGC catalog: nvidia/doca/doca container · fetched 2026-09-06 · DOCA 3.5.0
  14. doca-samples dma_copy_host/meson.build (3.5.0) · fetched 2026-09-06 · DOCA 3.5.0
  15. doca-samples applications/meson.build (3.5.0) · fetched 2026-09-06 · DOCA 3.5.0
  16. MFT 4.34.1-18 LTS: General Information (tool list) · fetched 2026-09-06

The same idea elsewhere

Other lessons that cover this ground, sometimes from another course's angle.