56 results available
Sign in
Skills directory

doca-pcc-ztr-rttcc-algo

nvidia

·

Last changed
Hardened

This skill has been hardened by Chainguard

Last changed

This version passed the hardening gate. Hardening updated the skill content and independently checked the resulting changes. Classified findings before hardening: 0. Classified findings closed: 0. Classified findings remaining: 0. Unclassified scanner findings remaining: 0. Review findings closed: 10. Review findings remaining: 2.


Open before hardening

None

Open after hardening

None


Expand
File
Group
Subtype
Severity
Status

No findings available

0 findings


SKILL.md

DOCA PCC ZTR RTTCC Algorithm

Examples

  • "How do I pick the multipath PCC variant?" — this is in scope. Pick the ZTR RTTCC variant at DPACC build time; do not invent a custom algorithm.
  • "Algorithm loaded but counters are flat." — confirm live RoCE-v2 traffic and host-set params before rewriting the sample.

Instructions

Follow Loading order below. Open TASKS.md for configure / tune / debug. Open CAPABILITIES.md for variants and the FAIL status. Do not open every companion file.

Implicit activation. When the skill is activated without ZTR RTTCC being named, engage the request directly and start with the read-only discrimination in step 6 of the debug section of TASKS.md (are CC events reaching the algorithm at all). Confirm the user is working with the shipped ZTR RTTCC algorithm on a BlueField-3 DPA before giving build, modify, run or tuning steps.

Custom-algorithm trigger. The custom-algorithm trigger covers only the decision between keeping or tuning the shipped reference algorithm and replacing it. Route actual custom algorithm authoring to doca-pcc.

Where to start: This skill assumes DOCA is already installed, the user's BlueField has a DPA processor that the host can see through DOCA (a BlueField-3-generation device per the README), the BlueField firmware has the custom-PCC slot enabled, the DPACC compiler is installed at a matched version per the DOCA Compatibility Policy, and the user is doing hands-on deployment of the DOCA-shipped ZTR RTTCC reference algorithm on a BlueField port that already carries RoCE-v2 traffic — i.e. either deploying it as the no-config-required baseline, tuning its documented parameters, or evaluating it against a custom algorithm the user intends to write. Open TASKS.md if the user wants to do something (install / configure / build / modify / run / test / debug / use); open CAPABILITIES.md when the question is what does the algorithm express, what are its variants and parameters, what does it ship vs not ship. If the user has not installed DOCA yet, route to doca-setup first; if the user has not stood up the host-side doca-pcc framework yet, route to doca-pcc first (this algorithm is a library consumed by the PCC framework, not a standalone program); if the user only wants to inspect PCC counters at runtime without changing the running algorithm, route to doca-pcc-counters; if the user wants to write their own algorithm from scratch, that is the doca-pcc library plus the public PCC programming guide — this skill is for the shipped reference algorithm specifically.

Safety policy (summary)

This algorithm shapes live RoCE-v2 traffic on a BlueField port. These rules apply to every deploy, rebuild and parameter change; the full table is in CAPABILITIES.md ## Safety policy.

  1. Validate on a non-production replica or test port with matching hardware first, then move to production.
  2. Before any deploy, rebuild or parameter change, record the current attached port, algo slot, active image or build identity, and parameter values.
  3. Get explicit user confirmation that names the target port and algo slot before deploying, rebuilding or changing parameters.
  4. Confirm a rollback path to the recorded prior state (or the recorded default state with no custom algorithm active) exists before the change. If the prior state cannot be identified or restored, stop and escalate.
  5. If the custom-PCC slot is not enabled in firmware, stop and route to doca-setup; this skill leaves firmware unchanged.
  6. Read-only queries (pkg-config, the application help output) may run directly. Show the user every step that edits files, builds, launches the application, attaches to a port or changes parameters, together with its target and any elevated privilege it needs, and wait for the user's approval.

Example questions this skill answers well

The CLASSES of ZTR RTTCC questions this skill is built to answer, each with one worked example. The agent should treat the class as the load-bearing piece — the worked example is a single instance.

  • "Is the ZTR RTTCC reference algorithm the right baseline for my deployment, or should I write a custom algorithm?" — worked example: "I have a BlueField-3 carrying production RoCE-v2 traffic from a GPU cluster; is the shipped algorithm a fine default or do I need custom logic?". Answered by the decision rule in CAPABILITIES.md ## Capabilities and modes ("when to use the reference vs custom") + the env preconditions in TASKS.md ## install. Any production deployment follows the safety summary above.
  • "How do I wire the shipped algorithm into the DOCA PCC application that's already running on my host?" — worked example: "/opt/mellanox/doca/applications/pcc is already building from sample sources; what do I change so the user algo callback dispatches to doca_pcc_dev_ztr_rttcc_algo under a chosen algo slot?". Answered by the integration sequence in CAPABILITIES.md ## Capabilities and modes
  • "Which variant of the algorithm am I getting — vanilla RTT-CC, path-migration mode, RX-rate mode, multipath, multipath with credits, window-probeless?" — worked example: "the shipped library exposes one public symbol doca_pcc_dev_ztr_rttcc_algo but the device- side source ships several variants; how do I know which one I get and how do I pick another?". Answered by the variants table in CAPABILITIES.md ## Capabilities and modes.
  • "How do I confirm the algorithm is actually modulating my RDMA / RoCE traffic, and not just loading?" — worked example: "I followed the integration steps; the application starts; how do I know the algorithm is shaping flows under load?". Answered by the observability surface in CAPABILITIES.md ## Observability
  • "Which tunables does the algorithm expose, and how do I change them from the host without rebuilding the DPA-side image?" — worked example: "my workload is more latency-sensitive than the default profile assumes — which parameter knob do I adjust?". Answered by the parameter surface in CAPABILITIES.md ## Capabilities and modes
  • "What does this DOCA_PCC_DEV_STATUS_FAIL or DOCA_ERROR_* from a doca_pcc_dev_ztr_rttcc_* call mean and which layer caused it?" — worked example: "my init callback returns DOCA_PCC_DEV_STATUS_FAIL on first launch". Answered by the algorithm overlay on the host-side PCC taxonomy in CAPABILITIES.md ## Error taxonomy

Audience

This skill serves external developers operating a BlueField-3-class DPU who want to deploy NVIDIA's shipped reference PCC algorithm on RoCE-v2 traffic, OR who are evaluating it against a custom algorithm they intend to write. The reference algorithm is zero-touch by design — the no-config-required baseline — and the canonical use case is deploying it on a replica or test port first, then, after explicit user approval, onto the target port and confirming it shapes flows correctly under congestion. It is not for NVIDIA developers contributing to the algorithm itself, nor for users who want general PCC programming theory (route via the public DOCA PCC programming guide), nor for users who only want to inspect PCC counters (route to doca-pcc-counters).

Language scope. The algorithm ships as a DPA-side library (pkg-config module doca-pcc-ztr-rttcc-algo) plus a public header doca_pcc_dev_ztr_rttcc_algo.h that DPA-side translation units include. The shipped algorithm binary is the static library libdoca_pcc_ztr_rttcc_algo_dev.a per the README; the device-side translation unit that consumes it is C and is compiled by DPACC. The host-side that drives the PCC context comes from doca-pcc; this library does NOT add a host-side surface beyond the host-side helpers (also shipped as libdoca_pcc_ztr_rttcc_algo.{a,so} per the README) that the doca-pcc framework links. Other-language host-side wrappers around doca-pcc can drive this algorithm through the same lifecycle described in doca-pcc; the DPA-side integration always stays C-via-DPACC.

When to load this skill

Load this skill when the user is doing hands-on deployment, tuning, or evaluation of the DOCA-shipped ZTR RTTCC reference algorithm on a BlueField port carrying RoCE-v2 traffic, in any host language plus the DPA-side translation unit built by dpacc. Concretely:

  • Deciding whether the shipped algorithm is the right baseline for the user's RoCE-v2 workload, or whether the user needs a custom algorithm (the decision only; custom authoring routes to doca-pcc).
  • Wiring the algorithm into the DOCA PCC sample application by patching the user-algo / user-init / user-set-algo-params callbacks per the steps the shipped README documents.
  • Picking which of the algorithm's documented variants (vanilla, path-migration, RX-rate, RX-rate + PM, multipath, multipath + credits, window-probeless) matches the user's intent — and surfacing that the public surface only ships one symbol (doca_pcc_dev_ztr_rttcc_algo); the variants live in the DPA-side source the user compiles against.
  • Tuning the host-set parameters the algorithm exposes (per the parameter list in doca_pcc_dev_ztr_rttcc_algo.h and the shipped doca_pcc_dev_set_ztr_rttcc_params), staged on a test port first per TASKS.md ## use.
  • Observing whether the running algorithm is actually modulating RoCE-v2 flows under load (route to doca-pcc-counters for the read-only inspection side).
  • Deciding when to replace the shipped algorithm with a custom one because latency target, fairness policy, or convergence behavior requirements diverge from what the reference provides.

Do not load this skill for general DOCA orientation; for the host-side doca-pcc lifecycle (route to doca-pcc); for writing a custom algorithm from scratch (route to doca-pcc and the public PCC programming guide via doca-public-knowledge-map); for read-only PCC counter inspection (route to doca-pcc-counters); or for the default firmware-shipped PCC algorithms that predate Programmable Congestion Control entirely (no host-side code, no DPACC compile — that is a firmware-only path routed via doca-public-knowledge-map).

What this skill provides

This is a thin loader. The body keeps only the orientation needed to pick the right next file, plus the safety summary above. The substantive algorithm-specific material lives in two companion files:

  • CAPABILITIES.md — what the shipped ZTR RTTCC algorithm expresses on this version + this BlueField generation + this firmware: the public DPA-side API surface (doca_pcc_dev_ztr_rttcc_init, doca_pcc_dev_ztr_rttcc_algo, doca_pcc_dev_set_ztr_rttcc_params, doca_pcc_dev_ztr_rttcc_get_param_num, doca_pcc_dev_ztr_rttcc_get_counter_num, doca_pcc_dev_ztr_rttcc_get_num_of_histograms), the documented variants (vanilla / path-migration / RX-rate / multipath / window-probeless — pick one at DPA-side compile time), the relationship to the host-side doca-pcc framework (this is an algorithm body the framework loads), the relationship to the doca-pcc-counters tool (which is the canonical inspection surface), the algorithm's parameter and counter surface (RTT-based congestion signal, per-feature parameter blocks), the error taxonomy in DOCA_PCC_DEV_STATUS_OK / _FAIL, and the safety policy.
  • TASKS.md — step-by-step workflows for the in-scope algorithm verbs: install, configure, build, modify, run, test, debug, use. Plus a Deferred task verbs block that points out-of-scope questions at the right next skill.

The skill assumes DOCA + the DPACC compiler + the doca-pcc host-side framework are already installed; the BlueField is a generation that exposes the DPA processor (the algorithm runs on the DPA); the BlueField firmware has the custom-PCC slot enabled (inherited from doca-pcc ## Safety policy); and the BlueField port the algorithm will modulate has RoCE-v2 traffic actually flowing on it (the algorithm modulates existing RDMA / RoCE traffic — without traffic, there is nothing for it to do).

What this skill deliberately does not ship

This skill is agent guidance, not a samples or templates bundle. To keep the boundary clean, it deliberately does not contain — and pull requests should not add:

  • The algorithm body itself, in any language. The shipped algorithm is the static library libdoca_pcc_ztr_rttcc_algo_dev.a (plus the host-side helpers) installed by the matching DOCA host package per the README. The agent's job is to route the user to the installed library and header (doca_pcc_dev_ztr_rttcc_algo.h) and to prescribe the in-place edits documented in the README on the shipped DOCA PCC application source, not to author the algorithm.
  • A standalone PCC application. The DOCA PCC application that hosts this algorithm is the shipped C sample under /opt/mellanox/doca/applications/pcc/ (per the README). The agent's job is to prescribe the minimum-diff modifications the README documents and to walk the user through the rebuild — not to author a parallel application. Before any file under the installed DOCA tree changes, back up or record each original file and get explicit user confirmation, including for any elevated privilege the edit needs; a later DOCA upgrade may overwrite or conflict with these local edits (see TASKS.md ## modify).
  • A description of every internal variant's behavior. The DPA-side source ships several variants (vanilla, path-migration, RX-rate, multipath, multipath + credits, window-probeless). The agent names the variant set, says which one is reachable via the public symbol on this install, and routes algorithm-design questions to the public PCC programming guide via doca-public-knowledge-map. It does not redefine each variant's mathematical behavior.
  • A specific congestion-control algorithm tutorial. Congestion-control theory, RoCE-v2 fairness analysis, workload-specific tuning — out of scope. Route to the user's own domain expertise and to the public DOCA PCC guide.

Loading order

  1. Read this skill first to confirm the user's question is in scope (deployment / tuning / evaluation of the shipped reference algorithm, not algorithm design from scratch and not read-only counter inspection).
  2. For the algorithm capability matrix, the public DPA-side API surface, the variant set, the parameter and counter surface, the host-side doca-pcc framework relationship, the doca-pcc-counters inspection-side relationship, the error taxonomy, the observability surface, and the safety policy, see CAPABILITIES.md.
  3. For step-by-step workflows — install, configure, build, modify, run, test, debug, use — see TASKS.md.

Both companion files cross-link to each other and to the skills listed under Related skills below.

These sibling skills may not be installed alongside this one. When one is unavailable, use the safety summary above, CAPABILITIES.md ## Safety policy, and the public references https://docs.nvidia.com/doca/sdk/doca-pcc/index.html and https://docs.nvidia.com/doca/sdk/doca-compatibility-policy/index.html.

  • doca-pcc — the host-side PCC control library. This algorithm is loaded INTO a doca_pcc context that doca-pcc stands up, and owns the host-side lifecycle (create / configure / start / stop / destroy, the doca_pcc_app image, the attach-to-port semantics). This skill prescribes only the DPA-side algorithm integration on top.
  • doca-pcc-counters — the read-only CLI for port PCC counters, and the canonical "is the algorithm actually modulating traffic" check. This skill names the counters the algorithm emits (CNP / NACK / AI / HAI / decrement / RTT-band) and routes the inspection there.
  • doca-dpa — the host-side DPA control library. The algorithm runs on the DPA, compiled by DPACC; the two-side-program rule and the DOCA-and-DPACC version-match overlay apply.
  • doca-public-knowledge-map — routing to the public DOCA PCC programming guide (https://docs.nvidia.com/doca/sdk/doca-pcc/index.html), the PCC application guide, the Compatibility Policy, and the on-disk layout of an installed DOCA package.
  • doca-setup — env preparation, install and DPACC compiler verification, BlueField firmware configuration (including the custom-PCC slot enable), and the no install yet path via the public NGC DOCA container. This skill assumes those preconditions hold, DPACC matches DOCA, and the custom-PCC slot is enabled.
  • doca-version — canonical DOCA version handling. CAPABILITIES.md ## Version compatibility cross-links the four-way match rule and the DOCA-and-DPACC overlay inherited from doca-pcc.
  • doca-structured-tools-contract — the detect / prefer / fall back / report precedence rule the inspection commands in TASKS.md honor.
  • doca-programming-guide — general DOCA programming patterns; this skill layers algorithm-specific overlays on the universal build, modify-a-shipped-sample, and Core lifecycle patterns.
  • doca-debug — the cross-cutting debug ladder. Algorithm-specific debug (loaded but counters do not move; fails to initialize; modulates too aggressively or too gently) overlays on top of it.
  • doca-hardware-safety — cross-cutting hardware-safety meta-policy. Because the algorithm modulates production RoCE-v2 flows on a BlueField port, its pre-flight inventory, replica-first, and rollback rules apply via the safety summary above and CAPABILITIES.md ## Safety policy.

Install

Install with chainctl
chainctl skill install public/nvidia/doca-pcc-ztr-rttcc-algo:latest
Get started with chainctl
View source

Harden your own skills

Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.

Provenance

Upstream sourcehttps://github.com/nvidia/skills
Upstream commitbbb601a61a00d6d1556913e9cae2bbf2391b9246
OCI reference

skills.chainreg.biz/public/github.com/nvidia/skills/doca-pcc-ztr-rttcc-algo:latest

License

Apache-2.0

Files

BENCHMARK.md

CAPABILITIES.md

HARDENING.md

SKILL.md

SKILLCARD.yaml

TASKS.md

evals/evals.json

skill-card.md

skill.oms.sig


The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.