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
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
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]
⚠ = not confirmed on a fetched primary source (hover for why). Facts as of DOCA 3.5.0 (Sep 2026). Selections are saved.
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]
⚠ = not confirmed on a fetched primary source (hover for why). Facts as of DOCA 3.5.0 (Sep 2026). Selections are saved.
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
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.
- Identify what the host runs:[3][9]
Expected on a DOCA-Host system:dpkg -l 2>/dev/null | grep -i -E '^ii +(doca|mlnx-ofed)' || rpm -qa | grep -i -E 'doca|mlnx-ofed'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. - Record the firmware pairing:[16][6]
Expected: BlueField-3 firmware 32.50.1002 if the card is on the 3.5.0 bundle. Write the exact version. Ifsudo mst start && sudo mlxfwmanager --querymlxfwmanagerreports 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. Ifmstis not found, MFT is not installed on this host; note it and skip to step 3. - If the Arm console is reachable through the RShim path, log in read-only and record the OS:[6]
Expected on a 3.5.0 BF-Bundle: Ubuntu 24.04. An Ubuntu 22.04 image indicates an older bundle on the card.cat /etc/os-release - 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]
Goal: see the framework map as files on a host, and place them on the version timeline.
- Count and list the host SDK libraries in the developer image (which carries the doca-all superset):[13][12]
Expected:docker run --rm nvcr.io/nvidia/doca/doca:devel-3.5.0-host bash -c "pkg-config --list-all | grep -i doca | sort"doca-entries. Compare with the 3.5.0 quality table: some.pcnames (for exampledoca-argp) are support libraries without a quality row, and some quality rows are delivered inside another package — the mapping is not one-to-one. Write down each entry with its quality level or “not in the table”.[7][14][15] If the list is empty you are in a base-rt or full-rt image, which carries no development headers; re-run with thedevel-3.5.0-hosttag. - Read the version the host SDK reports and place it on the cadence:[8]
Expected: a 3.5.0 string. Place it: the version selector shows 3.2.x as the LTS25 line, so 3.2.0 opened the annual cycle that 3.3.0, 3.4.0 and 3.5.0 update.[11] The policy page gives the cycle (October GA, updates through July) but assigns no version to a month, and the 3.5.0 release notes are dated September 02, 2026 — do not quote a month the docs do not state.[8][4] The changes page does name the next boundary: “DOCA 3.6.0 (October 2026) will be the final DOCA release to support ConnectX-4 Lx and ConnectX-5”, with DOCA 4.0 “scheduled for release in January 2027”.[10] Write one sentence on which release may next introduce a breaking change and why. Ifdocker run --rm nvcr.io/nvidia/doca/doca:devel-3.5.0-host pkg-config --modversion doca-commonpkg-configreports no such package,doca-commonis not installed in this image; confirm the tag isdevel-3.5.0-host, which is the developer flavour. - Confirm the development tools directory and the compile-time API gate:[15][14]
Expected:docker run --rm nvcr.io/nvidia/doca/doca:devel-3.5.0-host ls /opt/mellanox/doca/toolsdpaccamong the tools. Then open the DMA sample’smeson.buildfrom the 3.5.0 tag and find the two-DDOCA_ALLOW_*_APIlines and their comments. If/opt/mellanox/doca/toolsis missing or has nodpacc, you pulled a runtime flavour; re-run withdevel-3.5.0-host. - Decide the profile for three hosts and justify each from the component lists: a ConnectX-7 storage host needing only drivers; a ConnectX-8 host that will run OVS-DOCA; a BlueField-3 development host. Expected: doca-ofed; doca-networking; doca-all.[2]
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.
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.
- DOCA Overview · fetched 2026-09-06 · DOCA 3.5.0
- DOCA Profiles (DOCA-Host installation profiles) · fetched 2026-09-06 · DOCA 3.5.0
- DOCA-Host Installation and Upgrade · fetched 2026-09-06 · DOCA 3.5.0
- DOCA Release Notes v3.5.0 · fetched 2026-09-06 · DOCA 3.5.0
- BF-Bundle Installation and Upgrade · fetched 2026-09-06 · DOCA 3.5.0
- DOCA General Support (OS matrix, firmware table) · fetched 2026-09-06 · DOCA 3.5.0
- DOCA Libraries (3.5.0) with quality levels · fetched 2026-09-06 · DOCA 3.5.0
- DOCA Dependency Compatibility Policy · fetched 2026-09-06 · DOCA 3.5.0
- MLNX_OFED to DOCA-OFED Transition Guide (3.4.0 archive) · fetched 2026-09-06 · DOCA 3.4.0
- DOCA 3.5.0 Changes and New Features · fetched 2026-09-06 · DOCA 3.5.0
- DOCA SDK documentation index (v3.5.0) with version selector · fetched 2026-09-06 · DOCA 3.5.0
- doca-samples README (3.5.0) · fetched 2026-09-06 · DOCA 3.5.0
- NGC catalog: nvidia/doca/doca container · fetched 2026-09-06 · DOCA 3.5.0
- doca-samples dma_copy_host/meson.build (3.5.0) · fetched 2026-09-06 · DOCA 3.5.0
- doca-samples applications/meson.build (3.5.0) · fetched 2026-09-06 · DOCA 3.5.0
- 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.
- The validated stack and version pinningElsewhere in this course · Same ground: cadence, Level 1 / Level 2 dependency compatibility and packaging
- DOCA-Host install and profilesElsewhere in this course · Same ground: ofed, profiles and DOCA-Host
- Drivers and firmware: DOCA-OFED, mlxfwmanager, mlxconfig, NVOSInfiniBand course · Same ground: packaging, firmware and ofed