DOCA PCC Custom Congestion Control
Guides host-side loading and troubleshooting of custom PCC algorithms on BlueField
The documentation clearly limits scope to host-side custom PCC, requires checking the three capability axes, firmware slot, target port, parameter ranges, and reverse-order cleanup after stop. No credential theft, covert exfiltration, or destructive default behavior is evident. Points are deducted because the workflow touches real DPU, firmware, and RoCE traffic; user confirmation, rollback, and data-flow disclosure remain incomplete, and license metadata conflicts across Apache-2.0, Apache-2.0 AND CC-BY-4.0, and repository NOASSERTION.
SKILL.md, CAPABILITIES.md, and TASKS.md provide a fairly complete configure/build/run/test/debug structure with error taxonomy and layered failure handling. Static files contain no executable reproduction, complete API recipes, or committed test suite; key steps depend on other skills or external documentation. Under the static ceiling, runtime reliability cannot be established beyond a moderate score.
Trigger conditions, audience, exclusions, and routing between custom PCC, default PCC, and pcc_counters are clearly stated, including C/FFI and DPA compiler constraints. Points are deducted because the target environment is highly specialized, Chinese-language support is only indirect, and some core guidance depends on NVIDIA-hosted documentation or a local DOCA installation, with no evidence of mainland-China network reachability.
The skill uses layered SKILL.md, CAPABILITIES.md, and TASKS.md documentation and includes dependencies, version checks, limitations, related skills, maintenance intake, and a benchmark report. Points are deducted for no explicit author, changelog, or stable version policy; the skill card retains TBD version/signature fields, and path and license metadata are inconsistent.
The skill directly supports scope selection, three-axis preflight checks, port attachment, lifecycle ordering, and error diagnosis for custom PCC. Points are deducted because it is primarily routing and workflow guidance, not a directly buildable sample or complete command/code package; static review cannot verify usable final outputs, and the benchmark report says the source evaluation dataset was unavailable.
The materials provide a pinned revision, error mappings, version checkpoints, evaluation summary, and official reference links, giving limited auditability. Points are deducted because there is no committed test suite or real CI coverage of key paths, the benchmark dataset is unavailable, and many technical claims remain author-provided and cannot be independently reproduced from a static read.
- Do not treat the documented workflow as an independently verified executable recipe; before operating on a real BlueField, firmware slot, or RoCE traffic, obtain confirmation of the port, versions, parameters, impact, and recovery steps.
- License and provenance metadata are inconsistent; verify the actual license, authorship, version, and signature state before publication.
- Core references depend on external NVIDIA documentation; provide local or reachable alternatives, especially for mainland-China users.
What does this skill do, and when should you use it?
This skill is for developers using the DOCA PCC library from the host side to load a custom congestion-control algorithm onto a BlueField DPU. It covers per-port doca_pcc contexts, loading a DPACC-produced algorithm image, port attachment, parameterization, capability discovery, and DOCA_ERROR_* troubleshooting. It assumes an installed DOCA SDK, a host-visible DPA processor, firmware with the custom-PCC slot enabled, and a DPACC version matched to DOCA. It does not cover DPA-side algorithm authoring, environment installation, factory firmware PCC, or the pcc_counters tool.
Reads the local DOCA installation and pkg-config doca-pcc data, and inspects libraries, headers, samples, and applications under /opt/mellanox/doca; guides creation of per-port doca_pcc contexts, loading of a dpacc-produced doca_pcc_app, attachment to the BlueField port carrying RDMA/RoCE traffic, parameterization, and context startup; uses doca_pcc_cap_* for capability checks and classifies DOCA_ERROR_* across device, firmware, image, and driver layers.
- A BlueField host-side developer needs to load a custom congestion-control algorithm onto a port carrying RoCE traffic.
- A developer needs to verify whether the current BlueField, DOCA installation, and firmware support custom PCC.
- An algorithm load returns DOCA_ERROR_NOT_PERMITTED and the developer needs to distinguish firmware-slot configuration from access permissions.
- A doca_pcc_* call returns DOCA_ERROR_DRIVER and the developer needs to isolate the failing layer.
- A developer is designing a Rust, Go, or Python host wrapper that drives an algorithm image built separately with DPACC.
What are this skill's strengths and limitations?
- Covers the host-side PCC lifecycle from prerequisite discovery through loading, attachment, parameterization, and debugging.
- Separates the three major precondition axes: BlueField DPA capability, firmware custom-PCC enablement, and DOCA capability queries.
- Clearly distinguishes custom PCC from DPA algorithm authoring, factory firmware PCC, and pcc_counters.
- Supports language-neutral host-side wrappers while preserving the DOCA/DPACC version-match requirement.
- Requires a preinstalled DOCA SDK, DPACC, and BlueField hardware meeting the firmware prerequisites.
- Provides no prewritten PCC application, DPA algorithm, build manifest, or bindings.
- Does not cover DPA-side congestion-control design or RDMA/RoCE traffic setup.
- The supplied SKILL.md is primarily orientation and routing; detailed workflows are in companion files not included in the prompt.
How do you install this skill?
Install the individual skill with the repository's skills CLI: npx skills add nvidia/skills --skill doca-pcc --yes. You may omit --yes to let the CLI prompt for the skill and installation destination. After installation, the Agent loads it when it encounters a relevant task.
How do you use this skill?
After installation, give the Agent a host-side custom-PCC request such as: "Load my custom congestion-control algorithm onto the BlueField port carrying RoCE traffic" or "Investigate DOCA_ERROR_NOT_PERMITTED from my doca_pcc algorithm load." For configure, build, modify, run, test, or debug tasks, the skill directs the Agent to TASKS.md; for API capability questions, it directs the Agent to CAPABILITIES.md. The supplied SKILL.md does not include the complete command sequence or API signatures.
How does this skill compare with similar options?
Compared with factory firmware PCC, this skill targets custom algorithms loaded through the host-side doca-pcc library; factory PCC does not require that host-side API. Compared with pcc_counters, this skill loads, attaches, and parameterizes a custom algorithm, while pcc_counters is a separate runtime counter-inspection tool.