Agent skill · NVIDIA

doca-flow-perf

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 user does not explicitly mention "doca-flow-perf" — typical implicit phrasings include "how many rules per second can my BlueField insert", "5-tuple hairpin rule rate", "Kops/sec for steering", "flow-perf number does not match release notes", "DPDK vs DOCA benchmark", or "rule-install variance too high". Refuse and route elsewhere for optimizing a live Flow app (doca-flow-tune), the DPA-offloaded path (doca-flow-dpa-perf), dataplane throughput or latency, or library-internal pipe semantics — those belong to other skills.

What it needs

About 8k tokens when loaded.

What this skill does

DOCA Flow Perf (docaflowperf) Where to start: This is a tool skill for invoking docaflowperf, 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 docaflowperf 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. Example questions this skill answers well "I want a defensible host-side baseline number for how 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. "What is the difference between 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. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills NVIDIA/doca-flow-perf

View the source on GitHub

Browse the @skills marketplace