doca-spcx-cc

Guides loading, evaluating, and rolling out SPCX congestion-control algorithms on BlueField DPAs.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Deploying a custom Programmable Congestion Control algorithm on a live RDMA / RoCE fabric is high-stakes: a wrong or unstable algorithm can cause flow collapse, queue blow-up, or fabric-wide instability, and an idle-link evaluation produces no meaningful signal. This Skill gives agents the operator-side discipline for the doca_spcx_cc CLI so SPCX algorithms are loaded, evaluated under real contention, and rolled forward only with evidence and a rehearsed rollback.

Core Features & Use Cases

  • Surface selection decision tree: Routes between SPCX, the established doca-pcc surface, and factory firmware PCC before any code is written, based on install, BlueField generation, and algorithm needs.
  • Contention-positive evaluation workflow: Walks the prepare → smoke → contention-injected run flow, pairing tracer output with PCC counter snapshots and RDMA-side metrics as evidence.
  • Layered error taxonomy and safety gates: Diagnoses failures across install, device-binding, firmware-slot, DPA-image, algorithm-precondition, live-link, runtime, and version layers, and gates production cutover on bounded blast radius, OOB access, and rehearsed factory-PCC rollback.
  • Use Case: A developer has DPACC-compiled a custom RTT-based congestion-control algorithm and a non-prod BlueField pair; the Skill guides loading it via doca_spcx_cc, injecting matching contention, capturing the evidence tuple, and deciding whether it is safe to roll forward.

Quick Start

Ask your agent to load and evaluate your DPACC-compiled SPCX congestion-control algorithm on a non-production BlueField pair using doca_spcx_cc, with contention injected and a documented rollback to factory PCC.

Frequently Asked Questions about doca-spcx-cc

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

FAQPage Schema
How do I load a custom congestion-control algorithm with doca_spcx_cc?

Compile the DPA-side algorithm image with a DPACC version matched to your DOCA install, then invoke doca_spcx_cc with the device, probe-packet format, and algorithm-image flags shown by --help. Confirm the host-side status reaches Active before drawing any conclusions.

Should I use SPCX or doca-pcc for my custom CC algorithm?

SPCX is the newer, more flexible programmable-CC extension, while doca-pcc is the stable established surface and factory PCC is the firmware-resident default needing no host code. Probe your install with doca_spcx_cc --help and the public DOCA SPCX guide before committing, since SPCX availability is install- and hardware-specific.

Why did my SPCX algorithm load but throughput and latency did not change?

A congestion-control algorithm has no observable signal without actual contention on the fabric. Confirm the link carries RDMA / RoCE traffic with contention matching the algorithm's design, verified via PCC counter snapshots, before concluding the algorithm is broken.

Does doca_spcx_cc support a --role flag for RP versus NP?

No. On DOCA 3.3 the shipped reference sample hard-codes cfg.role = PCC_ROLE_RP in pcc.c and registers no runtime --role flag. To run the Notification Point role, rebuild the sample with PCC_ROLE_NP or follow the public DOCA SPCX guide for your installed version.

What is required before rolling an SPCX algorithm to production?

The rollout gate requires replica-first evaluation matching production hardware and contention, two consistent runs, a bounded blast-radius plan starting with one BlueField pair, a rehearsed rollback to factory PCC, reachable out-of-band management, and a time-boxed maintenance window. Any failed gate blocks the cutover.

What does DOCA_PCC_PS_ERROR on start mean?

It maps to the layered error taxonomy: check install, device binding, firmware custom-PCC slot enablement, DPA-image and DPACC version pairing, and algorithm preconditions in order. Walk each layer rather than guessing, and verify the tool, doca-pcc library, DPACC, and firmware versions all match.