Generated banner for Doca Bf3 Deployment
Generated logo for Doca Bf3 Deployment

Doca Bf3 Deployment

NVIDIAOfficialCreated by NVIDIA

  • Skill
  • Workflow
  • Cloud and DevOps
  • Apache-2.0
  • Medium risk

From the author

Use this skill for BlueField-3 (BF3) day-1 platform bring-up via the classic RShim/BFB path: pushing a BlueField bundle (BFB) to the DPU over RShim with bfb-install from the host, the host-to-DPU TMFIFO management channel (tmfifo_net0, the 192.168.100.x convention), RShim daemon state and console-over-rshim, DPU mode selection (DPU/embedded-function vs separated-host/NIC mode) via mlxconfig, post-BFB recovery, a six-state BlueField-state classifier, and verifying the install (cat /etc/mlnx-release plus version checks). Trigger even when the user does not say "BF3" — typical phrasings include {push a BFB to my BlueField-3}, {bfb-install exited 0 but the DPU never came back}, {ping 192.168.100.2 works but ssh fails}, or {is DOCA on the host or the Arm side?}. BFB reflash, mlxconfig set, mode changes, and firmware burns are destructive: require explicit target-bound confirmation and load doca-hardware-safety. App launch, container deploy, env install, and the BF4 BMC-Redfish path route elsewhere.
— the description by NVIDIA

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides the operational framework for BlueField-3 (BF3) day-1 platform bring-up. It guides users through the classic RShim/BFB installation path, covering the management of the host-to-DPU TMFIFO channel, DPU mode selection, and post-installation verification. It includes a six-state classifier to help diagnose and recover DPUs that fail to reach a ready state after a bundle push. The skill is designed for operators with physical access to BF3 hardware and requires integration with hardware safety policies for any destructive operations like firmware burns or mode changes.

What it does

  • Guides the BFB installation process via the host-side RShim interface.
  • Manages the host-to-DPU TMFIFO management channel configuration.
  • Provides a six-state classifier for diagnosing DPU readiness issues.
  • Verifies successful BFB installation and version compatibility.
  • Assists with DPU mode selection between DPU/embedded-function and separated-host/NIC modes.
  • Routes destructive hardware operations to the appropriate safety-governed workflows.

When to use it

  • When performing initial platform bring-up for a physical BlueField-3 DPU.
  • When a BFB installation appears to finish but the DPU fails to become ready.
  • When troubleshooting connectivity issues between the host and the DPU over TMFIFO.
  • When needing to verify the installed BFB version and overall system health.
  • When determining if a DPU should be configured for DPU or separated-host mode.

Advantages

  • Standardizes the bring-up procedure for BlueField-3 hardware.
  • Reduces downtime by providing a structured diagnostic path for failed installs.
  • Ensures safe operation by integrating with hardware safety policies for destructive tasks.
  • Clarifies the distinction between host-side and Arm-side DOCA installations.

Usage examples

“I have a BlueField-3 and a BFB image — how do I push it?”
The agent provides the step-by-step sequence for using bfb-install from the host, ensuring the RShim daemon is active and the DPU is ready.
“bfb-install exited 0 but the DPU never came back.”
The agent initiates the six-state classifier to identify the current DPU state and suggests recovery steps instead of re-attempting the burn.
“ping 192.168.100.2 works but ssh fails.”
The agent guides the user through the TMFIFO management channel verification, including checking local-loopback routing and SSH service status.
“Is DOCA on the host or the Arm side?”
The agent clarifies the installation requirements for both the host and the BlueField-Arm side, helping the user identify where the software should be deployed.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/nvidia/doca-bf3-deployment/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip doca-bf3-deployment.zip -d .agents/skills

Documentation by NVIDIA

DOCA BlueField-3 (BF3) deployment

Examples

  • "I have a BlueField-3 and a BFB — how do I push it?" — RShim plus bfb-install from the host. Exit 0 is not success until the DPU is ready.

  • "bfb-install exited 0 but the DPU never came back." — start at the six-state classifier, not a second burn.

Instructions

Follow Loading order below. Open the tasks companion for BFB push and recover. Open the capabilities companion for the RShim/BFB contract and safety overlay. Do not open every companion file.

Where to start: This skill is the bundle's home for BlueField-3 day-1 platform bring-up — taking a BF3 from "powered card in the slot" (or a card that just came back broken from a BFB push) to "Arm OS healthy, TMFIFO up, host PFs bound, four-way version match closed, ready to run a workload". It owns the classic RShim/BFB path that BF3 uses today; the newer BMC-Redfish provisioning path is the sibling skill doca-bf4-deployment/SKILL.md (the BF4 equivalent). If the user has a BF3 and needs to push a BFB, recover a DPU that did not come back, or verify the install, open the tasks companion and start at ## configure. If the question is what shape does the BF3 platform-bring-up surface even have, start at the capabilities companion. Once the BF3 is healthy, this skill routes onward to the deployment skills — running a binary goes to doca-bare-metal-deployment/SKILL.md; deploying a service container goes to doca-container-deployment/SKILL.md.

Every mutating burn invoked from a bring-up step — the BFB reflash itself, any mlxconfig set (including a DPU/separated-host mode flip), a firmware burn, or a kernel-boot-parameter change — is governed by the change-application meta-policy in doca-hardware-safety/SKILL.md, which the agent loads ALONGSIDE this skill. This skill adds only the BF3-specific operational sequencing on top; it does NOT redefine the preflight / OOB-console / maintenance-window / rollback discipline that meta-policy owns.

Audience

This skill serves external DOCA operators bringing up a real BlueField-3 — i.e. people who already have:

  • a physical BlueField-3 in a host (or a standalone BF3 they can reach over its console / management network),

  • host-side RShim access to the DPU (the RShim userspace daemon and the /dev/rshim* character-device tree present over the PCIe or USB RShim interface), and

  • a matching DOCA-Host install on the host plus a BlueField bundle (BFB) image downloaded from the public DOCA Downloads page.

It is not for:

  • BlueField-4 bring-up (the BMC-Redfish provisioning path) — route to doca-bf4-deployment/SKILL.md, the BF4 equivalent of this skill,

  • kernel-driver or BlueField-OS developers contributing to mlx5_* or the BFB image itself (outside the scope of field deployment),

  • operators who already have a healthy BF3 and just want to run a binary (route to doca-bare-metal-deployment/SKILL.md) or deploy a service container (route to doca-container-deployment/SKILL.md),

  • fresh-no-hardware users with no DOCA install — route to doca-setup ## no-install.

The skill teaches the agent the BF3 bring-up procedure and the rules for quoting documented commands from the public BlueField Platform Software Manual, the public DOCA Installation Guide, and the MFT manual via doca-public-knowledge-map/SKILL.md; it does not invent bfb-install flag sets, BFB image filenames, RShim character-device paths, bf.cfg schema keys, mlxconfig parameter names, or TMFIFO subnets from memory. Where a fact is already vetted in doca-bare-metal-deployment ## bluefield-lifecycle, this skill reuses that exact fact rather than restating a new one.

When to load this skill

Load this skill when the user is doing hands-on BlueField-3 platform bring-up over the RShim/BFB path, or asking a cross-cutting BF3 lifecycle question that is not specific to one library's API. Concretely:

  • Pushing a BFB image to a BF3 for the first time (or re-pushing after a failed install), from the host over the RShim interface with bfb-install.

  • Bringing up or recovering the host-to-DPU TMFIFO management channel (tmfifo_net0, the documented 192.168.100.x convention) and the RShim console.

  • Confirming RShim driver/daemon state on the host (the userspace rshim daemon and the /dev/rshim* tree) before any push or console capture.

  • Deciding (and routing) a DPU-mode change — DPU / embedded-function mode vs separated-host / NIC mode — knowing the actual mlxconfig set burn leaves this skill for doca-hardware-safety/SKILL.md.

  • Recovering a BF3 that did not come back after a BFB push: bfb-install exited 0 but the DPU never reached the documented DPU is ready marker; ping 192.168.100.2 works but SSH refuses; host PFs are present in lspci -d 15b3: but their netdevs are gone.

  • Verifying a BF3 install — cat /etc/mlnx-release on the Arm side, the four-way version match per doca-version/SKILL.md — and distinguishing the host-side DOCA install from the BlueField-Arm-side DOCA install.

  • Cross-cutting questions: "is DOCA on the host or on the Arm side, and which one do I install?", "my BF3 was fine last week and after a BFB push it never came back — where do I start?", "how do I tell which /dev/rshim<N> is which BlueField on a multi-DPU host?".

Do not load this skill for: BlueField-4 bring-up (route to doca-bf4-deployment/SKILL.md, the BF4 equivalent); running a DOCA-linked binary on a healthy BF3 (route to doca-bare-metal-deployment/SKILL.md); deploying a DOCA service container (route to doca-container-deployment/SKILL.md); env-preparation including hugepages, IOMMU, pkg-config, and devlink mode flips (use doca-setup/SKILL.md); the body of the version-match rule (use doca-version/SKILL.md); or any hardware-state-changing burn itself — the change-application discipline is meta-policy owned by doca-hardware-safety/SKILL.md, loaded ALONGSIDE this skill.

What this skill provides

This is a thin loader. Substantive material lives in two companion files:

  • the capabilities companion — the BF3 platform-bring-up contract: the RShim/BFB transport surface (the userspace RShim daemon, the /dev/rshim* tree, console-over-rshim, the BFB image as the unit of input), the TMFIFO management-channel surface (tmfifo_net0 / tm-br, the documented 192.168.100.x convention, the ip route get-before-ping loopback gotcha), the DPU-mode surface (DPU / embedded-function vs separated-host / NIC mode, set via mlxconfig at BFB-install time — a MUTATING burn routed to doca-hardware-safety/SKILL.md), the host-side-vs-Arm-side DOCA install distinction, the BF3-version overlay on the four-way match owned by doca-version/SKILL.md, the cross-cutting error taxonomy, the observability surface, and the safety policy (overlay on doca-hardware-safety/SKILL.md).

  • the tasks companion — step-by-step workflows for the in-scope BF3 lifecycle verbs: configure, build (routing stub), modify, run (the BFB-install + RShim/TMFIFO bring-up sequence), test (the post-BFB readiness smoke), debug (the six-state bluefield-state-classifier), and the Deferred task verbs block routing app-launch / container / install / library-API / hardware-state-change / BF4 questions out to their owning skills.

The skill assumes a target where:

  • a BlueField-3 is physically present and powered, reachable from a host that has the RShim daemon and /dev/rshim* tree available,

  • the operator has a BFB image downloaded from the public DOCA Downloads page (route via doca-public-knowledge-map/SKILL.md), and

  • the operator has an out-of-band path (BMC console, serial-over-LAN, or physical UART) to reach the BF3 if a push breaks the Arm OS.

It does not cover installing DOCA on a host from scratch (that goes through doca-setup/SKILL.md), and it does not cover BlueField-4 (that goes through doca-bf4-deployment/SKILL.md).

Loading order

  1. Read this skill first to confirm the user's question is in scope (BF3 platform bring-up over the RShim/BFB path; NOT BF4, NOT app-launch, NOT a library-API question).

  2. For the bring-up contract (RShim/BFB transport, TMFIFO channel, DPU-mode surface, host-vs-Arm install distinction, BF3-version overlay, error taxonomy, observability surface, BF3 safety overlay), see the capabilities companion.

  3. For step-by-step workflows — configure, build (routing stub), modify, run (BFB install + RShim/TMFIFO bring-up), test (post-BFB readiness smoke), debug (the six-state bluefield-state-classifier), plus the Deferred task verbs block — see the tasks companion.

Example questions this skill answers well

What this skill deliberately does not ship

Files

CAPABILITIES.md

DOCA BlueField-3 (BF3) deployment — Capabilities

Where to start: The pattern overview below names the recurring BF3 platform-bring-up patterns the agent walks for any BlueField-3. Pick the pattern first, then drill into the H2 that owns the substance. For the how of executing each pattern, jump to TASKS.md. For the BF4 counterpart of the same lifecycle (the BMC-Redfish provisioning path), see the sibling skill doca-bf4-deployment/SKILL.md — the BF4 equivalent. For the cross-cutting safety meta-policy this skill overlays (and which owns every mutating burn named below), see doca-hardware-safety/SKILL.md.

This file enumerates the BF3 platform-bring-up contract as described in the public BlueField Platform Software Manual, the public DOCA Installation Guide, and the public MFT manual (flint, mlxconfig, mlxfwmanager) — all reachable through doca-public-knowledge-map/SKILL.md — plus the standard Linux primitives the RShim/TMFIFO path inherits (modprobe(8), lspci(8), ip-route(8)). Treat this file as a map of what is documented, not a substitute for reading the live manuals against the operator's BF3. The BF3 lifecycle facts here are the same facts vetted in doca-bare-metal-deployment ## bluefield-lifecycle (doca-bare-metal-deployment/TASKS.md#bluefield-lifecycle); this skill is their consolidated BF3 home, not a re-derivation.

Pattern overview

Every BF3-bring-up question this skill teaches resolves into one of SIX patterns. The patterns are CLASSES — they apply to any BlueField-3 regardless of which DOCA release the operator is landing.

BF3 bring-up patternClass shapeWhere the substance lives
1. Recognise the install side — host-side DOCA-Host vs Arm-side BlueField-OS DOCAWhich package the operator installs where; which side pkg-config --modversion doca-common is read on; which side the binary will eventually run## Capabilities and modes install-side table
2. Push a BFB over RShimbfb-install streams the BFB to the DPU over the RShim PCIe/USB interface; the Arm side reboots through UEFI to Linux up to first-boot init## Capabilities and modes RShim/BFB surface
3. Bring up / recover the TMFIFO channeltmfifo_net0 (or the tm-br bridge), the documented 192.168.100.x convention, the ip route get-before-ping loopback gotcha## Capabilities and modes TMFIFO surface
4. Select the DPU modeDPU / embedded-function vs separated-host / NIC mode, set via mlxconfig at BFB-install time — a MUTATING burn## Safety policy + doca-hardware-safety/SKILL.md
5. Map a not-yet-healthy BF3 back to its stateinstaller-running → uefi-only → linux-up-tmfifo-down → tmfifo-up-ssh-down → arm-ok-host-pfs-unbound → host-bf-version-mismatch## Error taxonomy six-state classifier
6. Verify before declaring healthyreadiness markers (not a timer), cat /etc/mlnx-release, host PF rebind, the four-way version match re-close## Observability + ## Version compatibility

Two cross-cutting rules apply to every pattern above:

  • Operate the documented path; do not invent one. bfb-install flags, the BFB image filename, the /dev/rshim<N> path, the bf.cfg schema keys, the mlxconfig mode parameters, and the TMFIFO subnet all come from the public BlueField Platform Software Manual, the MFT manual, or --help on the installed tool. Inferring them from generic Linux intuition or from a previous BF2's behaviour is the most common hallucination failure for this skill.

  • Every mutating burn is governed by the meta-policy alongside this skill. The BFB reflash itself, any mlxconfig set (including a DPU-mode flip), a firmware burn, and any kernel-boot-parameter change are owned by doca-hardware-safety/SKILL.md for the preflight / OOB-console / maintenance-window / rollback discipline. Keep this skill loaded for BF3-specific sequencing; doca-hardware-safety ## modify owns whether and how the mutation may proceed.

Capabilities and modes

Install side — host-side DOCA-Host vs Arm-side BlueField-OS DOCA

A BlueField-3 deployment has DOCA on TWO distinct sides, and the operator must be explicit about which one a given step touches.

PropertyHost-side (DOCA-Host)Arm-side (BlueField-OS DOCA)
What is installedThe DOCA-Host packages on the host x86/Arm OS, per the public DOCA Installation Guide host-side path (reached through doca-public-knowledge-map/SKILL.md)The DOCA userland baked into the BFB image, landed on the BF3 Arm cores by the BFB push
How it landsapt / dnf install on the host, routed via doca-setup/SKILL.mdbfb-install pushing the BFB over RShim (this skill, TASKS.md ## run)
Version read withpkg-config --modversion doca-common + doca_caps --version on the hostcat /etc/mlnx-release + bfver on the BF3 Arm console
What runs thereHost-side binaries/containers talking to the BF3 NIC over PCIeArm-side binaries/containers running on the DPU cores directly
Routes onward todoca-bare-metal-deployment/SKILL.md / doca-container-deployment/SKILL.md once healthythe same two deployment skills, Arm-side leg

The load-bearing recognition: “is DOCA on the host or on the Arm side?” is the FIRST question for any BF3 deploy. The agent confirms which side a step touches before walking it; conflating them ("just install DOCA") is the canonical BF3 first-contact failure.

RShim / BFB transport surface

RShim is the host-side surface that exposes the BF3 Arm console (/dev/rshim<N>/console) AND the host-side endpoint of the TMFIFO recovery interface. The BFB (BlueField bundle) is the unit of input: bfb-install streams it to the DPU over the RShim PCIe (or USB) interface, and the Arm side reboots through UEFI to Linux up to first-boot init. On DOCA 3.3+ hosts the RShim surface ships as a userspace daemon (/usr/sbin/rshim started by rshim.service); the legacy in-tree kernel module is no longer shipped, so lsmod | grep rshim being empty is EXPECTED, not failure evidence. On a multi-DPU host the agent disambiguates which /dev/rshim<N> maps to which BF3 (via the DEV_NAME field of each misc file, cross-matched against lspci -d 15b3: -nn) BEFORE any per-DPU bfb-install — skipping it is the #1 cause of “I flashed the wrong DPU” incidents. The agent does NOT fabricate the bfb-install flag set, the BFB filename, or the /dev/rshim<N> path; all come from --help and the BSP manual.

TMFIFO management-channel surface

The TMFIFO interface is the host-to-DPU recovery path when the BF3's normal management network is broken; it is NOT a primary data path. Factory defaults per the BlueField Platform Software Manual: host-side address 192.168.100.1/30, BlueField-side address 192.168.100.2/30 (the agent does NOT fabricate the subnet). The host-side interface is tmfifo_net0, or tm-br on BSP/DOCA-host installs that bridge tmfifo_net0 into a tm-br bridge. The load-bearing gotcha: a ping 192.168.100.2 that "works" can be pinging the HOST, not the BF3, when the BlueField-side address has been bound locally; the agent ALWAYS runs ip route get <bf-tmfifo-address> first and accepts dev tmfifo_net0 OR dev tm-br as healthy egress, while dev lo / local <bf-addr> dev lo is the broken local-loopback signature.

DPU-mode surface (MUTATING — routed out)

A BF3 boots in one of two operating modes: DPU / embedded-function mode (the Arm cores own the data path; the host sees a managed function) or separated-host / NIC mode (the host owns the ports directly; the Arm side is out of the data path). The mode is selected via mlxconfig NV-config parameters, typically applied from a bfb_modify_os() hook in bf.cfg at BFB-install time; reconfiguring the same modes after install typically requires another BFB push. Because mlxconfig set is a hardware-state change, the agent quotes the bf.cfg/mlxconfig parameter keys from the public schema but routes the actual set/burn to doca-hardware-safety/SKILL.md — this skill names the sequencing (mode decision belongs at BFB-install time, not after), the meta-policy owns the burn.

Version compatibility

For the canonical DOCA version-detection chain, the four-way match rule (host package ↔ binary build ↔ BlueField firmware ↔ DOCA-version policy), and the headers-win-over-docs rule, see doca-version/SKILL.md. The body lives there; this skill does not duplicate it.

The BF3-bring-up-specific overlay is:

  • The BF3 has THREE independent version legs, read on different sides. (i) The host-side DOCA-Host install version (pkg-config --modversion doca-common + doca_caps --version on the host). (ii) The BFB-image DOCA version on the Arm side (cat /etc/mlnx-release + bfver on the BF3 Arm console — this is the DOCA userland inside the BFB). (iii) The NIC-side firmware version (flint -d <bdf> q, the FW Version: line — NOT mlxconfig -d <bdf> q, which returns the firmware configuration dump, not the version). A mismatch among any two is the canonical “the docs say this should work but it does not” trap.

  • cat /etc/mlnx-release is the BF3 install-verification anchor. After a BFB push, this is the first read that confirms which BFB landed; it is the Arm-side leg of the four-way match and the rollback baseline for any subsequent re-push.

  • Push the BFB and the host-side DOCA-Host install together. A BFB push that is not accompanied by a matching host-side DOCA-Host alignment lands the host-bf-version-mismatch state in ## Error taxonomy; resolve any /etc/apt/sources.list.d/doca.list repo-pin drift per doca-version TASKS.md ## apt-source consistency (doca-version/TASKS.md#apt-source-consistency) BEFORE installing anything new, and route any host-side reinstall through doca-setup/SKILL.md.

  • Do NOT substitute mlxconfig -d <bdf> q for the FW-version leg, and do NOT invent bfb-info (not a real NVIDIA-documented tool) for the BFB-image leg — both are common hallucinations banned in doca-version CAPABILITIES.md ## Version compatibility (doca-version/CAPABILITIES.md#version-compatibility). Capture per-device (flint -d <bdf> q), not globally — two BF3s from different procurement waves on the same host are independent silicon with independent FW levels.

Error taxonomy

A BF3 that has had a BFB push, a soft-reset, or a host PF rebind and is not yet confirmed healthy is classified by the six-state bluefield-state-classifier, walked IN ORDER in TASKS.md ## debug. The states are the SAME six vetted in doca-bare-metal-deployment ### bluefield-state-classifier (doca-bare-metal-deployment/TASKS.md#bluefield-state-classifier); this skill is their BF3 home.

  1. installer-still-running. bfb-install still resident on the host AND the RShim console buffer still emitting documented installer progress lines. Root cause class: install in flight, not failure. Recovery: WAIT — aborting a first-flash push mid-write is what creates the next state down.

  2. uefi-only. The RShim console reports the documented UEFI-exit marker but never reaches the documented Linux up marker. Root cause class: kernel did not hand off to userspace — common after a partial BFB-install whose firmware-update sub-step silently failed. Recovery: capture the full console buffer and host dmesg, do a documented cold power cycle (via BMC, not reboot from the dead Arm side) BEFORE re-pushing.

  3. linux-up-tmfifo-down. Documented Linux up marker present, BUT the TMFIFO probe returns no host-side address. Root cause class: TMFIFO interface never came up (driver / udev / link state). Recovery: re-check the host RShim daemon, run the documented TMFIFO bring-up, THEN re-run the ip route get loopback check.

  4. tmfifo-up-ssh-down. TMFIFO probe passes (and ip route get confirms the route goes to the BF3, not local loopback), BUT SSH to the documented Arm-side endpoint refuses or hangs. Root cause class: Arm-side sshd not yet listening, OR the operator's authorized_keys / password was not in the bf.cfg. Recovery: wait the documented sshd-ready bound, else fall through to the RShim console and re-seed credentials there.

  5. arm-ok-host-pfs-unbound. Arm-side SSH alive and OS healthy, BUT host-side enumeration is broken — lspci -d 15b3: shows the PFs, ip link show does NOT show the netdevs, ibv_devinfo is empty, DOCA programs cannot attach by representor name. Root cause class: stale host mlx5 driver-binding state post-push. Recovery: route the documented PF-rebind sequence through doca-hardware-safety ## modify (doca-hardware-safety/TASKS.md#modify), then return to the identical readiness smoke in TASKS.md ## test; do NOT launch any DOCA binary in this state.

  6. host-bf-version-mismatch. Everything above looks healthy, but the four-way version match owned by doca-version/SKILL.md does not close. Recovery: walk doca-version/TASKS.md in full, resolve apt-source / repo-pin drift first, route any host-side reinstall through doca-setup/SKILL.md.

Three cross-cutting rules: evaluate all six states and report every match before selecting a recovery; recover in dependency order (installer → boot/Arm → TMFIFO → SSH → PF binding → version); and never declare healthy from absence of evidence (a TMFIFO ping without ip route get, an SSH connect without uptime/dmesg, an lspci listing without a usable netdev are each NOT proof). Each recovery is followed by the identical readiness-smoke tuple defined in TASKS.md ## test, so before/after evidence remains comparable.

Observability

Documented observability surfaces for BF3 bring-up, in the order the agent reaches for them. Healthy means all of them agree; a wall-clock sleep is never a substitute for a documented readiness marker.

  • RShim console buffer (FIRST). The Arm-side boot story lives in /dev/rshim<N>/console. The agent watches for the documented Linux up and DPU is ready markers (per the BSP manual) and for any [MISC] / [ERR] line containing a failure verb ("failed", "error", "abort") — the canonical partial-install signature is “Ubuntu installation completed” followed by an INFO[MISC]: NIC firmware update failed line while bfb-install still exits 0. Exit code 0 alone is NOT proof of success.

  • TMFIFO reachability (SECOND). ip addr show tmfifo_net0 (or the tm-br bridge) on the host, then ip route get <bf-tmfifo-address> BEFORE any ping — the dev lo / local <bf-addr> dev lo output is the local-loopback failure that makes ping lie.

  • Host PF enumeration (THIRD). lspci -d 15b3: lists the BF3 PFs; ip link show enumerates their netdevs; ibv_devinfo enumerates the RDMA devices; devlink dev show lists the devlink instance. PFs present in lspci but absent from ip link is the arm-ok-host-pfs-unbound state.

  • Install verification (FOURTH). cat /etc/mlnx-release + bfver on the Arm side confirm which BFB landed; mlxconfig -d <pci> query (QUERY only) reads the firmware configuration; flint -d <bdf> q reads the FW version. Any mlxconfig set is a hardware-state change owned by doca-hardware-safety/SKILL.md.

Cross-cutting host-side debug (kernel version, driver loaded/not, PCIe link state, dmesg) lives in doca-debug TASKS.md ## debug (doca-debug/TASKS.md#debug); this skill names only the BF3-bring-up-specific surfaces.

Safety policy

Overlay on the bundle-wide hardware-safety meta-policy. The rules below are this skill's per-artifact overlay on the cross-cutting rules in doca-hardware-safety CAPABILITIES.md ## Safety policy (doca-hardware-safety/CAPABILITIES.md#safety-policy) (specifically

Per-artifact overlay pattern (doca-hardware-safety/CAPABILITIES.md#per-artifact-overlay-pattern)).

When the two layers disagree, the stricter wins; when either layer says STOP, the agent stops.

  • Every mutating burn loads the safety meta-policy alongside. A BFB reflash, any mlxconfig set (including a DPU/separated-host mode flip), a firmware burn, and any kernel-boot-parameter change are hardware-state changes. The agent hands the change-application discipline (preflight inventory, OOB console, maintenance window, rollback) to doca-hardware-safety ## modify (doca-hardware-safety/TASKS.md#modify) while retaining this skill for BF3 sequencing. Continue the BF3 workflow only after that change is complete and verified. This skill owns the sequencing, never the burn discipline.

  • An OOB path is a precondition, not a nicety. Before any BFB push the operator must have a BMC console / serial-over-LAN / physical UART path to reach the BF3 if the push breaks the Arm OS. Without one, the bar to proceed is "stop, escalate" per the meta-policy.

  • Never declare healthy from bfb-install exit 0 alone. Parse the console / log output for the documented Linux up / DPU is ready markers and for any failure-verb line, and run the post-BFB readiness smoke in TASKS.md ## test before re-declaring the BF3 ready. Do NOT invent bfb-install flags, BFB filenames, /dev/rshim<N> paths, bf.cfg keys, or the TMFIFO subnet from memory — quote the live --help and the BSP manual.

Public-source pointer

The canonical public sources for BF3 platform bring-up are:

  • The BlueField Platform Software Manual on docs.nvidia.com, reachable through doca-public-knowledge-map ## Public documentation entry points (doca-public-knowledge-map/SKILL.md#public-documentation-entry-points), for bfb-install, the bf.cfg schema, RShim/TMFIFO, and the readiness markers.

  • The DOCA Installation Guide on docs.nvidia.com, reachable through the same routing table, for the host-side DOCA-Host install path and the BFB download location (the public DOCA Downloads page).

  • The MFT manual (flint, mlxconfig, mlxfwmanager) for the firmware-query and NV-config surfaces.

Verify that the version of each manual matches the operator's DOCA release and BFB image per ## Version compatibility — flag names, bf.cfg keys, and readiness markers evolve, so anything quoted from memory is suspect.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

The author says: No DOCA install required to read this skill (it is a platform-lifecycle overlay loaded against BF3 hardware); the bring-up and validation steps within DO require a real BlueField-3, host-side RShim access (PCIe or USB), the matching DOCA-Host install, and a BlueField bundle (BFB) image downloaded from the public DOCA Downloads page. The validation steps require a live DOCA install.

Security

What our scanner noticed· Medium risk

  • Large base64-encoded blobs

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
NVIDIA
Publisher
NVIDIA (Official)
Source
NVIDIA/skills · skills/doca-bf3-deployment · commit fce3cca
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE-APACHE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by NVIDIA or NVIDIA.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download doca-bf3-deployment.zip