DOCA BlueField-3 (BF3) deployment
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 (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
TASKS.md and start at
## configure. If the question is what shape
does the BF3 platform-bring-up surface even have, start at
CAPABILITIES.md. Once the BF3 is healthy, this
skill routes onward to the deployment skills — running a binary
goes to
doca-bare-metal-deployment;
deploying a service container goes to
doca-container-deployment.
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, 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, the
BF4 equivalent of this skill,
- kernel-driver or BlueField-OS developers contributing to
mlx5_*
or the BFB image itself (that is internal-tree work, not a
field deployment),
- operators who already have a healthy BF3 and just want to run a
binary (route to
doca-bare-metal-deployment)
or deploy a service container (route to
doca-container-deployment),
- 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;
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.
- 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 — 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, the BF4
equivalent); running a DOCA-linked binary on a healthy BF3 (route to
doca-bare-metal-deployment);
deploying a DOCA service container (route to
doca-container-deployment);
env-preparation including hugepages, IOMMU, pkg-config, and devlink
mode flips (use doca-setup); the body of
the version-match rule (use doca-version);
or any hardware-state-changing burn itself — the change-application
discipline is meta-policy owned by
doca-hardware-safety, loaded
ALONGSIDE this skill.
What this skill provides
This is a thin loader. Substantive material lives in two
companion files:
CAPABILITIES.md — 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), the
host-side-vs-Arm-side DOCA install distinction, the
BF3-version overlay on the four-way match owned by
doca-version, the cross-cutting error
taxonomy, the observability surface, and the safety policy
(overlay on
doca-hardware-safety).
TASKS.md — 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),
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), and it does
not cover BlueField-4 (that goes through
doca-bf4-deployment).
Loading order
- Read this
SKILL.md 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).
- 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 CAPABILITIES.md.
- 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 TASKS.md.
Example questions this skill answers well
See references/details.md.
What this skill deliberately does not ship
See references/details.md.
Related skills
See references/details.md.
1---2name: doca-bf3-deployment3description: 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.4license: Apache-2.05---67# DOCA BlueField-3 (BF3) deployment89**Where to start:** This skill is the bundle's home for **BlueField-310day-1 platform bring-up** — taking a BF3 from "powered card in the11slot" (or a card that just came back broken from a BFB push) to12"Arm OS healthy, TMFIFO up, host PFs bound, four-way version match13closed, ready to run a workload". It owns the **classic RShim/BFB14path** that BF3 uses today; the newer BMC-Redfish provisioning path15is the sibling skill16[`doca-bf4-deployment`](../doca-bf4-deployment/SKILL.md) (the BF417equivalent). If the user has a BF3 and needs to push a BFB, recover18a DPU that did not come back, or verify the install, open19[`TASKS.md`](TASKS.md) and start at20[`## configure`](TASKS.md#configure). If the question is *what shape21does the BF3 platform-bring-up surface even have*, start at22[`CAPABILITIES.md`](CAPABILITIES.md). Once the BF3 is healthy, this23skill routes **onward** to the deployment skills — running a binary24goes to25[`doca-bare-metal-deployment`](../doca-bare-metal-deployment/SKILL.md);26deploying a service container goes to27[`doca-container-deployment`](../doca-container-deployment/SKILL.md).2829Every **mutating** burn invoked from a bring-up step — the BFB30reflash itself, any `mlxconfig set` (including a DPU/separated-host31mode flip), a firmware burn, or a kernel-boot-parameter change — is32governed by the change-application meta-policy in33[`doca-hardware-safety`](../doca-hardware-safety/SKILL.md), which34the agent loads ALONGSIDE this skill. This skill adds only the35**BF3-specific operational sequencing** on top; it does NOT redefine36the preflight / OOB-console / maintenance-window / rollback37discipline that meta-policy owns.3839## Audience4041This skill serves **external DOCA operators bringing up a real42BlueField-3** — i.e. people who already have:4344- a physical BlueField-3 in a host (or a standalone BF3 they can45 reach over its console / management network),46- host-side RShim access to the DPU (the RShim userspace daemon and47 the `/dev/rshim*` character-device tree present over the PCIe or48 USB RShim interface), and49- a matching DOCA-Host install on the host plus a BlueField bundle50 (BFB) image downloaded from the public DOCA Downloads page.5152It is **not** for:5354- BlueField-4 bring-up (the BMC-Redfish provisioning path) — route55 to [`doca-bf4-deployment`](../doca-bf4-deployment/SKILL.md), the56 BF4 equivalent of this skill,57- kernel-driver or BlueField-OS developers contributing to `mlx5_*`58 or the BFB image itself (that is internal-tree work, not a59 field deployment),60- operators who already have a healthy BF3 and just want to *run a61 binary* (route to62 [`doca-bare-metal-deployment`](../doca-bare-metal-deployment/SKILL.md))63 or *deploy a service container* (route to64 [`doca-container-deployment`](../doca-container-deployment/SKILL.md)),65- fresh-no-hardware users with no DOCA install — route to66 [`doca-setup ## no-install`](../doca-setup/TASKS.md#no-install).6768The skill teaches the agent the BF3 bring-up *procedure* and the69rules for quoting documented commands from the public BlueField70Platform Software Manual, the public DOCA Installation Guide, and71the MFT manual via72[`doca-public-knowledge-map`](../doca-public-knowledge-map/SKILL.md);73it does **not** invent `bfb-install` flag sets, BFB image filenames,74RShim character-device paths, `bf.cfg` schema keys, `mlxconfig`75parameter names, or TMFIFO subnets from memory. Where a fact is76already vetted in77[`doca-bare-metal-deployment ## bluefield-lifecycle`](../doca-bare-metal-deployment/TASKS.md#bluefield-lifecycle),78this skill reuses that exact fact rather than restating a new one.7980## When to load this skill8182Load this skill when the user is doing **hands-on BlueField-383platform bring-up over the RShim/BFB path**, or asking a84cross-cutting BF3 lifecycle question that is not specific to one85library's API. Concretely:8687- Pushing a BFB image to a BF3 for the first time (or re-pushing88 after a failed install), from the host over the RShim interface89 with `bfb-install`.90- Bringing up or recovering the host-to-DPU TMFIFO management91 channel (`tmfifo_net0`, the documented `192.168.100.x`92 convention) and the RShim console.93- Confirming RShim driver/daemon state on the host (the userspace94 `rshim` daemon and the `/dev/rshim*` tree) before any push or95 console capture.96- Deciding (and routing) a DPU-mode change — DPU / embedded-function97 mode vs separated-host / NIC mode — knowing the actual `mlxconfig98 set` burn leaves this skill for99 [`doca-hardware-safety`](../doca-hardware-safety/SKILL.md).100- Recovering a BF3 that did not come back after a BFB push:101 `bfb-install` exited 0 but the DPU never reached the documented102 `DPU is ready` marker; `ping 192.168.100.2` works but SSH refuses;103 host PFs are present in `lspci -d 15b3:` but their netdevs are104 gone.105- Verifying a BF3 install — `cat /etc/mlnx-release` on the Arm side,106 the four-way version match per107 [`doca-version`](../doca-version/SKILL.md) — and distinguishing108 the host-side DOCA install from the BlueField-Arm-side DOCA109 install.110- Cross-cutting questions: *"is DOCA on the host or on the Arm111 side, and which one do I install?"*, *"my BF3 was fine last week112 and after a BFB push it never came back — where do I start?"*,113 *"how do I tell which `/dev/rshim<N>` is which BlueField on a114 multi-DPU host?"*.115116Do **not** load this skill for: BlueField-4 bring-up (route to117[`doca-bf4-deployment`](../doca-bf4-deployment/SKILL.md), the BF4118equivalent); running a DOCA-linked binary on a healthy BF3 (route to119[`doca-bare-metal-deployment`](../doca-bare-metal-deployment/SKILL.md));120deploying a DOCA service container (route to121[`doca-container-deployment`](../doca-container-deployment/SKILL.md));122env-preparation including hugepages, IOMMU, pkg-config, and devlink123mode flips (use [`doca-setup`](../doca-setup/SKILL.md)); the body of124the version-match rule (use [`doca-version`](../doca-version/SKILL.md));125or any hardware-state-changing burn itself — the change-application126discipline is meta-policy owned by127[`doca-hardware-safety`](../doca-hardware-safety/SKILL.md), loaded128ALONGSIDE this skill.129130## What this skill provides131132This is a **thin loader**. Substantive material lives in two133companion files:134135- `CAPABILITIES.md` — the BF3 platform-bring-up contract: the136 RShim/BFB transport surface (the userspace RShim daemon, the137 `/dev/rshim*` tree, console-over-rshim, the BFB image as the unit138 of input), the TMFIFO management-channel surface (`tmfifo_net0` /139 `tm-br`, the documented `192.168.100.x` convention, the140 `ip route get`-before-`ping` loopback gotcha), the DPU-mode141 surface (DPU / embedded-function vs separated-host / NIC mode, set142 via `mlxconfig` at BFB-install time — a MUTATING burn routed to143 [`doca-hardware-safety`](../doca-hardware-safety/SKILL.md)), the144 host-side-vs-Arm-side DOCA install distinction, the145 BF3-version overlay on the four-way match owned by146 [`doca-version`](../doca-version/SKILL.md), the cross-cutting error147 taxonomy, the observability surface, and the safety policy148 (overlay on149 [`doca-hardware-safety`](../doca-hardware-safety/SKILL.md)).150- `TASKS.md` — step-by-step workflows for the in-scope BF3151 lifecycle verbs: `configure`, `build` (routing stub), `modify`,152 `run` (the BFB-install + RShim/TMFIFO bring-up sequence), `test`153 (the post-BFB readiness smoke), `debug` (the six-state154 `bluefield-state-classifier`), and the `Deferred task verbs`155 block routing app-launch / container / install / library-API /156 hardware-state-change / BF4 questions out to their owning skills.157158The skill assumes a target where:159160- a BlueField-3 is physically present and powered, reachable from a161 host that has the RShim daemon and `/dev/rshim*` tree available,162- the operator has a BFB image downloaded from the public DOCA163 Downloads page (route via164 [`doca-public-knowledge-map`](../doca-public-knowledge-map/SKILL.md)),165 and166- the operator has an out-of-band path (BMC console, serial-over-LAN,167 or physical UART) to reach the BF3 if a push breaks the Arm OS.168169It does **not** cover installing DOCA on a host from scratch (that170goes through [`doca-setup`](../doca-setup/SKILL.md)), and it does171**not** cover BlueField-4 (that goes through172[`doca-bf4-deployment`](../doca-bf4-deployment/SKILL.md)).173174## Loading order1751761. Read this `SKILL.md` first to confirm the user's question is in177 scope (BF3 platform bring-up over the RShim/BFB path; NOT BF4,178 NOT app-launch, NOT a library-API question).1792. **For the bring-up contract (RShim/BFB transport, TMFIFO180 channel, DPU-mode surface, host-vs-Arm install distinction,181 BF3-version overlay, error taxonomy, observability surface, BF3182 safety overlay), see [CAPABILITIES.md](CAPABILITIES.md).**1833. **For step-by-step workflows — `configure`, `build` (routing184 stub), `modify`, `run` (BFB install + RShim/TMFIFO bring-up),185 `test` (post-BFB readiness smoke), `debug` (the six-state186 `bluefield-state-classifier`), plus the `Deferred task verbs`187 block — see [TASKS.md](TASKS.md).**188189## Example questions this skill answers well190191See [`references/details.md`](references/details.md#example-questions-this-skill-answers-well).192## What this skill deliberately does not ship193194See [`references/details.md`](references/details.md#what-this-skill-deliberately-does-not-ship).195## Related skills196197See [`references/details.md`](references/details.md#related-skills).