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 cycle…
Install / Use
npx skills add NVIDIA/skills --skill doca-flow-perfInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
Tags
Our assessment of doca-flow-perf
doca-flow-perf scores 88/100 on our quality scale, 1019th of 2,125 Automation skills we index (top 48%).
Its SKILL.md is 15 KB long, well organised into 9 sections and no code examples: a thorough specification that gives an agent plenty to work with.
With 3,421 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 5 days ago, so doca-flow-perf is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
doca-flow-perf compared with similar skills
All 4 of these similar skills score higher than doca-flow-perf; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| doca-flow-perf (this skill)by NVIDIA | 88 | 3.4k | 5d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 86.0k | 13d ago | CLAUDE.md |
| rufloby ruvnet | 100 | 73.4k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 84.4k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 6d ago | SKILL.md |
Frequently asked questions
- How do I install doca-flow-perf?
- Run
npx skills add NVIDIA/skills --skill doca-flow-perf. The install tabs above show the steps for each supported agent. - Which AI agents does doca-flow-perf work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is doca-flow-perf safe to use?
- It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is doca-flow-perf still maintained?
- The repository was last updated 5 days ago, so doca-flow-perf is actively maintained.
Skill content
View source on GitHublicense: Apache-2.0
name: doca-flow-perf
description: >
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.
metadata:
kind: tool
compatibility: >
Requires DOCA SDK installed at /opt/mellanox/doca on Linux (Ubuntu
22.04/24.04 or RHEL/SLES) with a BlueField DPU or ConnectX NIC
attached. The doca_flow_perf binary plus its configs/ JSON exemplars
must be present (the DOCA Flow Perf install component), with the
underlying doca-flow library healthy. Reads pkg-config doca-flow
and inspects /opt/mellanox/doca/{lib,include,samples,applications}.
DOCA Flow Perf (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.
Example questions this skill answers well
- "I want a defensible host-side baseline number for how
many
doca-flowrules 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 theconfigs/library, the JSON contract, and the four-tuple capture rule. - "What is the difference between
doca-flow-perf,doca-flow-dpa-perf, anddoca-flow-tune? They all mentiondoca-flowandperfin their names — when do I reach for each?" — measurement-vs-optimization plus host-vs-DPA-path; the agent surfaces the boundaries. - "My policy JSON looks like the example, but the reported 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).
- "I have a workload that does not match any of the shipped
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 frommode: fixedtomode: increase?" — JSON authoring question; the agent walks the shipped configs as exemplars and refuses to invent schema fields not present in the source tree. - "What does the tool actually NOT measure? I am trying to 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.
- "I see two backends — DPDK and DOCA — behind the same 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.
Audience
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:
- operators who want to optimize an already-deployed
doca-flowapplication — that isdoca-flow-tune; - operators measuring the DPA-offloaded Flow path — that is
doca-flow-dpa-perf; - operators measuring end-to-end dataplane throughput or
latency — that is the application's responsibility,
layered on
doca-flow; - contributors authoring or modifying the tool itself.
Language scope
User interaction with doca_flow_perf is via:
- The shipped binary's command-line flags (documented by
doca_flow_perf --helpand the public DOCA Flow Perf guide ondocs.nvidia.com). - A JSON policy file describing the pipeline (ports, pipes,
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. - The tool's per-iteration output (CPU cycles per iteration, 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.
When to load this skill
Load doca-flow-perf when ANY of the following is true:
- the user mentions
doca_flow_perf,doca-flow-perf, theconfigs/JSON library, or asks for a "host-side flow rules per second" number; - the user wants to baseline an underlying Flow path (not optimize a live application);
- the user is comparing host-side / DPU-CPU-side Flow performance across DOCA releases, BlueField generations, or firmware versions;
- the user wants to design a new traffic class JSON and
needs to know which canned
configs/JSON to start from and which fields they can change.
Co-load this skill with:
doca-flow(the underlying library; flow-perf programs the same matchers / actions / pipes the library exposes);doca-flow-tune(the measurement-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(the four-way version match every reported flow-perf number must carry);doca-debuganddoca-setupfor 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).
What this skill provides
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_perfis, 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 withdoca-flowanddoca-version), the layered error taxonomy, observability, and the safety policy overlay.TASKS.md— the procedural verbs (configure,run,test,debug, etc.) plus adoca_flow_perf- specific command appendix and the agent-sideuseworkflow 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.
What this skill deliberately does not ship
- End-to-end dataplane throughput or latency
measurement.
doca_flow_perfmeasures 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 ondoca-flow. The agent must say this explicitly when the operator asks for "Flow throughput". - DPA-offloaded Flow path measurement. Route to
doca-flow-dpa-perf. - Optimization of a deployed Flow application. Route to
doca-flow-tune. flow-perf is a synthetic driver of a JSON-described pipeline, not a tuner of a live one. - A canonical "right answer" Kops/sec number. The agent 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.
- Invented JSON schema fields. The agent does NOT invent
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. - Library-internal
doca-flowAPI explanations. The underlying matchers and actions belong todoca-flow; this skill references them but does not duplicate the library's API documentation. - Cross-tool benchmarking apples-to-apples claims when preconditions differ. Two flow-perf numbers from different DOCA versions / BlueField generations / firmware versions are NOT directly comparable; the agent insists on the
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
86.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
ruflo
73.4k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
Scrapling
84.4k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
