doca-caps

Query DOCA device, representor, and library capabilities via the read-only doca_caps CLI.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Before changing any DOCA, driver, or firmware state, operators and agents need a safe, side-effect-free way to confirm what DOCA actually sees on a host — which devices, representors, and libraries are available — instead of inferring capability from hardware model numbers.

Core Features & Use Cases

  • Device and representor enumeration: Run doca_caps --list-devs and --list-rep-devs, optionally scoped with --pci-addr, to list DOCA-visible PCIe devices and representors.
  • Library availability and capability checks: Confirm which DOCA libraries the current OS supports and whether a specific device supports a specific library capability.
  • Capability snapshots for debugging: Capture verbatim doca_caps output as ground-truth evidence consumed by install smoke-tests and downstream debug workflows.
  • Use Case: An agent asked "is my BlueField PF visible to DOCA" runs doca_caps --list-devs, quotes the output, and diagnoses empty results through a layered error taxonomy instead of guessing.

Quick Start

Ask your agent to run doca_caps --list-devs and report which DOCA devices and PCIe addresses are visible on this host.

Frequently Asked Questions about doca-caps

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

FAQPage Schema
How do I list DOCA devices and PCIe addresses on my host?

Run /opt/mellanox/doca/tools/doca_caps --list-devs to enumerate every DOCA device with its PCIe address and attributes. Use --list-rep-devs for representor devices, and add --pci-addr to scope output to a single device.

How do I check which DOCA libraries are available on my OS?

Run doca_caps with the --list-libs flag to print the DOCA libraries supported by the running OS. Library availability varies per OS, so do not copy availability claims from one host to another.

Why is doca_caps not found on my system?

doca_caps ships only with DOCA 2.6.0 and newer, so confirm the install with pkg-config --modversion doca-common. On DOCA 3.3+ the binary lives at /opt/mellanox/doca/tools/ and is not on PATH, so invoke it by absolute path.

What does empty doca_caps output mean?

Empty output with exit code 0 means the device or DOCA version does not expose that capability — it is a finding, not a tool failure. Do not retry the same invocation; walk the layered diagnosis covering install, driver, and scoping causes.

Is doca_caps safe to run before making system changes?

Yes, doca_caps is read-only and side-effect-free: it prints capability information without configuring, allocating, or modifying any DOCA, kernel, or device state. This makes it the canonical first step before any state-changing DOCA workflow.

When should I use a DOCA library API instead of doca_caps?

Use the library's programmatic C API when you need fine-grained, library-internal capability checks such as Flow pipe-creation matrices or RDMA verbs features. doca_caps only reports the coarse per-device per-library capability surface.