doca-sta

Guides NVMe-over-Fabrics storage-target development on BlueField DPUs using the DOCA STA C API.

3.2k|370|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/NVIDIA/skills --skill doca-sta
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: doca-sta
Source: https://github.com/NVIDIA/skills/tree/main/skills/doca-sta
Command: npx skills add https://github.com/NVIDIA/skills --skill doca-sta

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Building an NVMe-over-Fabrics target that offloads the data path to a BlueField DPU with DOCA STA involves a strict lifecycle, capability queries, queue-pair sizing, RDMA transport setup, and a layered error taxonomy that is easy to get wrong. This Skill gives an AI agent the exact workflows and guardrails to configure, build, run, test, and debug doca_sta-based targets without hallucinating API symbols or sizing values.

Core Features & Use Cases

  • Target configuration workflows: Step-by-step guidance for creating a doca_sta context, defining doca_sta_subsystem targets (NQN + namespaces) backed by local NVMe-PCI disks (doca_sta_be), and gating every sizing decision on doca_sta_cap_is_supported and the doca_sta_get_max_* queries.
  • Build and version validation: Canonical pkg-config build pattern linking doca-sta plus the mandatory doca-rdma substrate, with four-way version-match checks against doca_caps --version to catch partial installs.
  • Layered debugging and testing: An iterative test loop (capability re-check, substrate/steering preconditions, single-IO admin-then-read smoke, multi-queue smoke) and a debug ladder that maps DOCA_ERROR_* codes to the correct layer before any code change.
  • Use Case: A developer asks why their NVMe-oF Connect handshake never completes; the agent loads this Skill, walks the substrate/steering precondition matrix, and identifies a missing DOCA Flow steering rule rather than misdiagnosing a STA bug.

Quick Start

Ask your agent to help you bring up an NVMe-oF target on a BlueField DPU using DOCA STA, for example by saying "help me configure a doca_sta subsystem backed by a local NVMe disk and verify my device supports it".

Frequently Asked Questions about doca-sta

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up an NVMe-oF target on a BlueField DPU with DOCA STA?

Create a doca_sta context on a doca_dev, define doca_sta_subsystem targets with namespaces backed by doca_sta_be local NVMe-PCI disks, then call doca_ctx_start. The Skill walks through capability checks, queue sizing, and steering preconditions in order.

How do I check if my BlueField device supports DOCA STA?

Call doca_sta_cap_is_supported against the active doca_devinfo; it is the single device gate for STA target acceleration. Also verify pkg-config --modversion doca-sta matches doca_caps --version to rule out a partial install.

Why does my NVMe-oF Connect handshake never complete?

This is rarely a STA bug. The most common cause is a missing or wrong DOCA Flow steering rule, or an RDMA substrate issue, so the Skill directs you to verify substrate presence, device access, and steering before changing any code.

Does DOCA STA support NVMe-over-TCP or initiator-side stacks?

No. DOCA STA is target-side acceleration over RDMA only; there is no NVMe-over-TCP transport and no initiator/host functionality. Initiator stacks like SPDK bdev_nvme or the kernel nvme host are out of scope.

What does DOCA_ERROR_AGAIN mean when submitting NVMe I/O?

It means the per-queue in-flight budget is full, not a hardware error. Drain completions with doca_pe_progress before resubmitting, or raise the queue depth within the doca_sta_get_max_io_queue_size bound.