Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use this skill when the user is measuring the host or DPU-CPU control-plane rate of a DOCA Flow pipeline with doca_flow_perf — picking a JSON policy from configs/, choosing the DPDK or DOCA backend, running the single-iteration smoke then the iterative eval loop, interpreting per-iteration CPU cycles and num_pushed / num_failed, or capturing the four-tuple (DOCA version, BlueField/firmware, JSON policy, worker/queue/burst config) that makes a Kops/sec number defensible. Trigger even when the use
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 92% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 173% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 128% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 124% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 120% | 0% |
doca_flow_perf)Where to start: This is a tool skill for invoking doca_flow_perf, the host-side / DPU-CPU-side DOCA Flow performance measurement tool. Open TASKS.md and start at ## configure to commit to the three-axis decision (target Flow pipeline shape × traffic class × measurement axis) and pick the JSON policy file that expresses the workload, then ## run for the single-iteration smoke, then ## test for the iterative eval loop that produces a defensible Kops/sec-class number. Open CAPABILITIES.md when the question is what `doca_flow_perf` measures and what it deliberately does not measure, how its DPDK and DOCA backends differ behind the same JSON contract, how to interpret the per-iteration CPU-cycle output, or how it differs from `doca-flow-tune` (measurement vs. optimization) and `doca-flow-dpa-perf` (host / DPU-CPU vs. DPA-offloaded path). If DOCA is not installed, route to doca-setup first; if the target measurement is the DPA-offloaded path, route to doca-flow-dpa-perf instead; if the goal is to optimize an already-deployed Flow pipeline rather than measure a synthetic one, route to doca-flow-tune — flow-perf is a synthetic-driver microbenchmark, not a tuner of a live Flow application.
many doca-flow rules per second a single BlueField-3 can insert for a 5-tuple match-and-hairpin workload. Which policy JSON do I start from, how do I make the result reproducible, and what do I have to capture alongside the number for it to be defensible?" — class-shaped flow-perf baseline question; the agent walks the configs/ library, the JSON contract, and the four-tuple capture rule.
doca-flow-perf,doca-flow-dpa-perf, and doca-flow-tune? They all mention doca-flow and perf in their names — when do I reach for each?" — measurement-vs-optimization plus host-vs-DPA-path; the agent surfaces the boundaries.
Kops/sec is dramatically lower than the published numbers I see in NVIDIA's release notes. What variables do I have to control before I can trust the comparison?" — methodology question; the agent walks the controllable axes (number of workers, queue depth, burst size, fixed-vs-incremented match fields, DPDK vs DOCA backend, BlueField mode, driver / firmware).
policy JSONs in configs/. How do I author a new policy JSON, what is the JSON schema in broad strokes, and what changes when I switch a match field from mode: fixed to mode: increase?" — JSON authoring question; the agent walks the shipped configs as exemplars and refuses to invent schema fields not present in the source tree.
understand whether a flow-perf number tells me anything about end-to-end traffic latency or just about the rule-programming control-plane rate." — methodology perimeter question; the agent draws a hard line: this tool measures rule install / delete (control-plane) rate plus optional query rate, NOT dataplane latency, NOT dataplane throughput, NOT end-to-end application performance.
JSON. When do I pick which, and what does the choice mean for the result I report?" — backend choice question; the agent walks the DPDK-backend vs. DOCA-backend trade-off and insists the operator REPORT which one they used.
Experienced AI agents and platform / network engineers who are comfortable with the doca-flow programming model and the DPDK control-plane, who want a defensible number for the host-side / DPU-CPU-side Flow rule-install / rule-delete rate. Readers are expected to know that the published numbers in NVIDIA release notes are run with very specific preconditions (specific DOCA version, specific BlueField firmware, specific traffic class) and that any number they produce locally must explicitly state those preconditions.
This skill is NOT for:
doca-flow application — that is doca-flow-tune;
doca-flow-dpa-perf;
latency — that is the application's responsibility, layered on doca-flow;
User interaction with doca_flow_perf is via:
doca_flow_perf --help and the public DOCA Flow Perf guide on docs.nvidia.com).
matchers, actions, forwarding). The shipped configs/ directory contains canned policies for the most common traffic classes; new policies are authored by copying and editing one of those.
number-processed, number-failed; reported via the tool's stdout — the exact format is the public guide and the binary's runtime output, NOT this skill's invention).
The skill itself is Markdown. There is no programmatic API on top of doca_flow_perf; consumers of its results read its stdout / captured logs.
Load doca-flow-perf when ANY of the following is true:
doca_flow_perf, doca-flow-perf, theconfigs/ JSON library, or asks for a "host-side flow rules per second" number;
optimize a live application);
performance across DOCA releases, BlueField generations, or firmware versions;
needs to know which canned configs/ JSON to start from and which fields they can change.
Co-load this skill with:
doca-flow (theunderlying library; flow-perf programs the same matchers / actions / pipes the library exposes);
doca-flow-tune (themeasurement-vs-optimization distinction is the most common confusion);
doca-flow-dpa-perf(the host-vs-DPA-path distinction is the second most common confusion);
doca-version (thefour-way version match every reported flow-perf number must carry);
doca-debug anddoca-setup for the env-side debug ladder.
Do NOT load this skill when the user wants to optimize a live Flow application (route to doca-flow-tune) or measure the DPA-offloaded path (route to doca-flow-dpa-perf).
Three companion files in this directory, each owning a different question shape:
SKILL.md — this file. Audience, scope,loading order, related skills. Routes everything else.
CAPABILITIES.md — whatdoca_flow_perf is, what it measures, what it deliberately doesn't measure, the DPDK-vs-DOCA backend duality, the JSON contract surface, the per-iteration output interpretation, version compatibility (versioned with doca-flow and doca-version), the layered error taxonomy, observability, and the safety policy overlay.
TASKS.md — the procedural verbs (configure,run, test, debug, etc.) plus a doca_flow_perf- specific command appendix and the agent-side use workflow that consumes the captured per-iteration output.
The combined skill teaches an AI agent to drive the measurement-class of doca_flow_perf questions: pick a shipped or author-new policy JSON, run the single-iteration smoke, run the iterative eval loop, capture the four-tuple that makes the resulting number defensible, interpret the output, and route every adjacent question (tune the live app, measure the DPA path, optimize the firmware) to the right neighbouring skill.
measurement. doca_flow_perf measures the control-plane rate of programming rules, plus optional per-entry query timing. It does NOT measure how fast packets traverse the resulting rules in the dataplane. That is the application's responsibility, layered on doca-flow. The agent must say this explicitly when the operator asks for "Flow throughput".
doca-flow-dpa-perf.
doca-flow-tune. flow-perf is a synthetic driver of a JSON-described pipeline, not a tuner of a live one.
refuses to quote published numbers from memory as authoritative; the published numbers live in NVIDIA's release notes per the DOCA version and BlueField generation, and the operator must reproduce on their own exact preconditions before comparing.
policy JSON keys that are not present in the shipped configs/ exemplars. If a key the operator wants is not in any shipped exemplar, the agent says so and routes to the public DOCA Flow Perf guide.
doca-flow API explanations. Theunderlying matchers and actions belong to doca-flow; this skill references them but does not duplicate the library's API documentation.
preconditions differ. Two flow-perf numbers from different DOCA versions / BlueField generations / firmware versions are NOT directly comparable; the agent insists on the four-tuple capture so consumers can judge.
When a doca_flow_perf question arrives:
configs/ JSON library are reachable — if not, route to doca-setup;
doca-flow library is healthy onthe device — if not, route to doca-flow TASKS.md ## test;
if optimize, route to doca-flow-tune;
DPA, route to doca-flow-dpa-perf;
CAPABILITIES.md to commit tothe three-axis decision (pipeline shape × traffic class × measurement axis);
TASKS.md and walk## configure → ## run → ## test → ## debug in that order; do NOT start with ## run without the ## configure precondition step.
Cross-link conventions follow the bundle's relative path contract from tools/<X>/:
doca-flow — theunderlying library. flow-perf programs Flow pipes, entries, matchers, and actions; the library is the source of truth for the API surface flow-perf exercises.
doca-flow-tune — theunified Flow tuning tool. Measurement vs. optimization boundary lives here. Ask: "do I want a number, or do I want to change the deployed pipeline?"
doca-flow-dpa-perf —the DPA-offloaded Flow performance tool. Host / DPU-CPU vs. DPA path boundary lives here. Ask: "am I measuring the path that executes on the CPU, or the path that executes on the DPA processor?"
doca-version — everyreported flow-perf number must come with the four-way match (host package, kernel module, firmware, target application's linked doca-flow version) and the BlueField / ConnectX generation. flow-perf overlays this rule, not contradicts it.
doca-setup — DOCA installposture; routing for "is the binary even here?" questions.
doca-debug — thecross-cutting debug ladder for env-side issues (driver, firmware, BlueField mode, kernel module).
doca-bench — a peerbenchmarking tool with a broader scope (multiple DOCA primitives, not just Flow). flow-perf is the Flow-specific microbenchmark; doca-bench is the broader workload benchmark.
doca-public-knowledge-map— routing to the public docs.nvidia.com DOCA Flow Perf page, release notes, and forums for release-specific published numbers and reproducibility notes.
doca-structured-tools-contract— the agent's detect → prefer → fall back → report contract for the structured helpers (doca-env --json, doca-capability-snapshot, version-matrix.json) flow-perf preconditions rely on.
doca-hardware-safety— the canonical hardware-safety meta-policy that CAPABILITIES.md ## Safety policy overlays.
This skill assumes the surrounding doca-flow application is the operator's existing source artifact; flow-perf does not ship a sample doca-flow application of its own.
Other measured skills in the registry, with their headline benchmark lift.