doca-flow-perf

Measures host and DPU-CPU control-plane rule-install rates of DOCA Flow pipelines.

3.2k|370|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/NVIDIA/skills --skill doca-flow-perf
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: doca-flow-perf
Source: https://github.com/NVIDIA/skills/tree/main/skills/doca-flow-perf
Command: npx skills add https://github.com/NVIDIA/skills --skill doca-flow-perf

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Getting a defensible DOCA Flow rule-install or rule-delete rate number is hard: results vary with the JSON policy, backend choice, worker configuration, DOCA version, and firmware, and naive comparisons against published reference numbers are misleading. This Skill guides agents through running the doca_flow_perf synthetic benchmark correctly so the resulting Kops/sec number is reproducible and interpretable.

Core Features & Use Cases

  • Policy and backend selection: Pick the right JSON policy from the shipped configs/ exemplars and choose between the DPDK and DOCA backends behind the same JSON contract.
  • Smoke-before-bulk methodology: Run a single-iteration smoke test at small entry counts before scaling to millions of rules, then iterate to establish variance.
  • Four-tuple capture: Record DOCA version, BlueField/firmware, JSON policy, and worker/queue/burst configuration alongside every reported number.
  • Use Case: An engineer asks "how many rules per second can my BlueField-3 insert for a 5-tuple hairpin workload?" The agent walks policy selection, smoke testing, scaled measurement, and captures the full context needed to defend the number.

Quick Start

Ask your agent to measure the host-side DOCA Flow rule-insert rate on your BlueField using doca_flow_perf with a 5-tuple hairpin policy from the shipped configs directory.

Frequently Asked Questions about doca-flow-perf

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I measure DOCA Flow rule-insert rate on a BlueField DPU?

Use doca_flow_perf with a JSON policy from the shipped configs/ directory that matches your traffic class. Run a single-iteration smoke test at a small entry count first, then scale up workers and iterations while capturing the DOCA version, firmware, policy, and backend alongside the result.

What is the difference between doca-flow-perf, doca-flow-dpa-perf, and doca-flow-tune?

doca-flow-perf measures the host or DPU-CPU control-plane rule-programming rate with a synthetic pipeline. doca-flow-dpa-perf measures the DPA-offloaded path, and doca-flow-tune optimizes an already-deployed live Flow application rather than measuring a synthetic one.

Does doca_flow_perf measure dataplane throughput or latency?

No. doca_flow_perf measures only the control-plane cost of installing, deleting, and optionally querying Flow rules in CPU cycles per iteration. It does not send packets through the pipeline, so dataplane throughput and end-to-end latency are out of scope.

DPDK vs DOCA backend in doca_flow_perf: which should I use?

Both backends share the same JSON policy contract but exercise different programming paths: the DPDK backend uses rte_flow while the DOCA backend uses the native doca-flow library. You must report which backend produced any number, since results are not comparable across backends.

Why is my doca_flow_perf Kops/sec number lower than NVIDIA's published reference?

Published numbers assume a specific DOCA version, BlueField generation, firmware, backend, and worker/queue/burst configuration. A comparison is only valid when that entire four-tuple matches; also check for high iteration variance, num_failed > 0, and host instability such as unpinned worker CPUs.

Can I author a custom JSON policy for doca_flow_perf?

Yes, by copying the closest shipped configs/ exemplar and editing documented fields such as num_inserted_entries, val, and steps. Never invent JSON keys not present in the exemplars or the public DOCA Flow Perf guide, and re-run the smoke test after every edit.