| license | Apache-2.0 |
| name | doca-pcc |
| description | Use this skill when the user is doing hands-on host-side DOCA PCC work to load a CUSTOM Programmable Congestion Control algorithm onto a BlueField DPU — creating per-port `doca_pcc` contexts, loading a `dpacc`-compiled `doca_pcc_app` onto the `doca_dev` for the RoCE-bearing port, parameterizing it, walking triple-axis capability discovery (DOCA cap-query + DPA-capable BlueField + firmware custom-PCC slot enabled), or debugging `DOCA_ERROR_*` from `doca_pcc_*`. Trigger even without explicit "DOCA PCC" phrasing — implicit forms include "loading my own congestion control onto a BF port", "DOCA_ERROR_NOT_PERMITTED on algorithm load", "DOCA_ERROR_DRIVER when I attach my custom algorithm", "my custom rate-update isn't affecting RoCE traffic", or "load succeeds but no on-wire change". Refuse and route elsewhere for DPA-side algorithm-body design, the `pcc_counters` CLI, default factory PCC in ConnectX firmware, or setting up the RDMA / RoCE traffic — those belong to other skills.
|
| metadata | {"kind":"library"} |
| compatibility | Requires DOCA SDK installed at /opt/mellanox/doca on Linux (Ubuntu 22.04/24.04 or RHEL/SLES) with a BlueField DPU whose DPA processor is exposed to the host AND whose firmware has the custom-PCC slot enabled. Also requires the DPACC compiler installed at a version matched to DOCA per the DOCA Compatibility Policy. Reads the user's local install via `pkg-config doca-pcc` and inspects /opt/mellanox/doca/{lib,include,samples,applications}.
|
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, the BlueField firmware has the custom-PCC slot
enabled, and the user is doing hands-on custom PCC work from
the host side — i.e. using doca-pcc to load a DPA-side
congestion control algorithm onto the BlueField, attach it to a
port handling RDMA / RoCE traffic, and parameterize it from the
host. Open TASKS.md if the user wants to do
something (configure / build / modify / run / test / debug);
open CAPABILITIES.md when the question is
what can the host-side PCC API express on this version + this
BlueField generation + this firmware. If the user has not
installed DOCA yet, route to
doca-setup first; if the user is
asking how to write the DPA-side congestion-control algorithm
itself (the code that runs on the DPA processor, compiled by
dpacc), that is a different scope — route via
doca-public-knowledge-map
to the public DOCA PCC programming guide and to
doca-dpa for the host-side DPA
lifecycle this skill builds on. If the user only wants to
inspect PCC counters at runtime without writing a custom
algorithm, that is the pcc_counters CLI tool — route via
doca-public-knowledge-map ## DOCA tools;
this skill is for custom algorithms only.
Example questions this skill answers well
The CLASSES of PCC 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.
- "How do I deploy my own custom congestion control algorithm
onto a BlueField port carrying RDMA / RoCE traffic?" —
worked example: "load a small DPA-side PCC algorithm and
attach it to the BlueField port that handles my RoCE traffic".
Answered by the two-side-program model + the host-side
load-and-attach workflow in
CAPABILITIES.md ## Capabilities and modes
- "Does this BlueField + firmware actually allow a custom PCC
algorithm, and which PCC features does my DOCA install
expose?" — worked example: . Answered by the triple-axis precondition rule
(BlueField generation must carry a DPA, firmware must have the
custom-PCC slot enabled, against the active
must agree) in