开发与工程 ✓ NVIDIA · 官方 doca-flownvidia-docapacket-steeringsmartnicdpurepresentorhardware-offload

NVIDIA DOCA Flow 开发技能

帮助开发者在 NVIDIA NIC/DPU 上构建、验证和调试 DOCA Flow 数据包转发应用。

FollowSkills 评估 · FSRS-2.0
不推荐
49/ 100 五分制 2.5 / 5
信任安全14 / 25 · 2.8/5

技能明确限定 DOCA Flow 范围,要求核对已安装头文件、能力发现、非零失败退出、硬件安全覆盖和回滚路径,并拒绝绕过 DOCA 的替代方案;但缺少统一的用户确认门槛,仍涉及 sudo、实时流量和硬件模式变更,数据流、权限隔离及恢复细节不完整,因此扣分。

可靠稳定7 / 20 · 1.8/5

配置、构建、测试、调试和异常路由步骤较详细,包含错误签名、失败反馈和生命周期约束;但关键样例、头文件和 companion skill 依赖用户环境,源文件未提供可执行复现,且 SKILL.md、SKILLCARD.yaml 与 BENCHMARK.md 存在路径、来源和版本信息不一致,因此静态评分受限。

适用触发10 / 15 · 3.3/5

目标用户、触发短语、适用场景和明确非适用范围均有说明,覆盖 C/C++ 与 FFI;但中文支持、不同环境的兼容边界和中国大陆网络可达性未说明,且要求本地安装 DOCA 与支持硬件,限制了适用面。

规范维护8 / 15 · 2.7/5

采用 loader、能力说明和任务工作流分层,包含依赖、示例样例、限制、错误分类、安全和相关技能路由;但缺少清晰作者、变更日志和稳定版本策略,SKILLCARD 的 TBD 签名/版本以及来源和许可证表述不一致,维护责任虽可推断但未完整声明。

有效结果6 / 15 · 2.0/5

能够覆盖端口启动、pipe 设计、能力检查、计数器和调试等核心任务,并强调从已安装样例派生;但它不提供代码、构建清单或绑定实现,最终结果依赖用户本地样例和安装环境,仍需明显适配与人工审查,静态上不能超过 7 分且保守给 6 分。

证据核验4 / 10 · 2.0/5

存在明确的头文件核对、已安装样例、pkg-config、ldd、计数器和错误检查要求,且附有有限 benchmark 报告;但评测数据集不可用,未提供覆盖关键路径的本地测试套件或 CI 证据,主要验证仍依赖用户运行环境,因此不给静态满分。

证据充分度: 评估于 2026年7月20日 审查版本 55f18499943e
使用前请注意
  • 执行前确认 DOCA SDK、支持的 NIC/DPU、设备归属和能力集合;文档本身未提供静态可复现环境。
  • 在实时管理端口或执行 mlxconfig、sudo、硬件转发操作前,必须取得明确确认并准备带外恢复路径。
  • SKILL.md、SKILLCARD.yaml 和 BENCHMARK.md 的来源、路径、许可证、版本及评测信息存在不一致,发布前应统一。
  • 不要把 BENCHMARK.md 的 PASS 视为独立验证;其评测数据集在文件中声明不可用。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

该技能面向已经安装 DOCA SDK 的 Linux 开发环境,指导开发者使用 DOCA Flow 编程 NVIDIA NIC/DPU 的数据包转发。它覆盖端口和 representor 初始化、匹配与动作管道、转发目标、硬件编程前验证、计数器读取和 API 错误诊断。技能要求以已安装版本的头文件和随附样例为事实依据,并坚持链接 libdoca_flow。它不是现成代码包;开发者需要基于本机 DOCA 样例修改并构建自己的应用。

读取本机 pkg-config 配置、DOCA 头文件、库、样例和应用目录;指导代理核验 doca_flow_* 与 DOCA_* 符号;基于 /opt/mellanox/doca/samples/doca_flow/ 下的样例规划配置、构建、修改、运行、测试和调试流程;要求应用执行 Flow 初始化、端口启动、管道编程、条目提交和计数器读取;指导使用 ldd 检查应用是否链接 libdoca_flow;在请求超出单个管道或硬件能力、API 不存在或用户接受内核替代方案时拒绝生成不合适的代码。

  1. 网络软件开发者需要在支持的 NVIDIA NIC/DPU 上启动 DOCA Flow 端口或 representor。
  2. C/C++ 开发者需要定义匹配条件、动作、管道和转发目标并提交硬件规则。
  3. 开发者需要在硬件编程前验证管道规格,或调查提交失败和 DOCA_ERROR_* 错误。
  4. 运维或性能工程师需要在流量下读取每条规则或每个管道的硬件计数器。
  5. 绑定开发者需要通过 Rust、Go、Python 或其他 FFI 语言使用 DOCA Flow C ABI。
  6. 开发者需要在现有 DOCA Flow 端口上增加有状态的 5 元组连接跟踪。

这个 Skill 有哪些优点和局限?

优点
  • 明确要求使用 libdoca_flow 和完整的 DOCA Flow 生命周期,避免用 tc、iptables/nftables、eBPF/XDP、OVS 或裸 rte_flow 替代。
  • 以本机安装的头文件、DOCA 版本和随附样例为 API 与构建依据。
  • 覆盖端口 bring-up、管道设计、硬件验证、计数器观测和错误诊断。
  • 明确列出超出单个管道或硬件表达能力时的拒绝与替代路径。
局限
  • 仅适用于已安装 DOCA SDK 且连接了支持的 NVIDIA NIC/DPU 的 Linux 环境。
  • 技能本身不提供预写的 Flow 应用源代码、独立构建清单、绑定或样例子树。
  • 许多关键细节依赖未在源材料中展开的 TASKS.md 和 CAPABILITIES.md。
  • 源材料没有展示测试结果、支持设备清单或跨版本验证证据。

如何安装这个 Skill?

使用仓库 README 提供的 Skills CLI 安装单个技能:

npx skills add nvidia/skills --skill doca-flow --yes

CLI 会提示选择技能安装目标。源材料没有说明该技能在各客户端中的具体落盘路径,也没有要求手动克隆仓库或复制目录。运行 npx skills update 可更新已安装技能。

如何使用这个 Skill?

在已安装 DOCA SDK、支持的 NVIDIA NIC/DPU 和 Linux 环境中,让代理处理例如“如何在 representor 上启动 DOCA Flow 端口?”或“如何为现有 DOCA Flow 设置增加硬件加速的有状态 5 元组连接跟踪?”的问题。使用前应确认 /opt/mellanox/doca 存在,并让代理先读取 TASKS.md 的 configure 部分再编写或运行端口代码。具体任务流程依赖技能目录中的 TASKS.md 和 CAPABILITIES.md;本源材料未提供这些文件的完整内容。

这个 Skill 与同类方案有什么区别?

与内核 tc/flower、iptables/nftables、eBPF/XDP、OVS 以及不结合 DOCA 的裸 DPDK rte_flow 相比,该技能要求交付物真正使用 DOCA Flow 的 pipe/entry 生命周期、能力发现和硬件计数器;它不会把仅成功下发到 NIC 的内核规则视为完成。

常见问题

它是否包含可直接运行的应用?
不包含。它是代理指导,需要从本机 /opt/mellanox/doca/samples/doca_flow/ 下的 C 样例开始,并在用户项目中构建应用。
没有安装 DOCA SDK 时能否使用?
不能直接完成本技能的 Flow 工作。技能要求 DOCA 安装在 /opt/mellanox/doca;未安装时应先转到 doca-setup。
为什么 Flow 端口启动失败?
源材料指出,失败可能来自设备放置、模式、运行时前置条件或版本/API 不匹配,而不一定是管道定义错误;应先检查配置流程、设备来源、安装版本和错误分类。
它能否用 tc 或 rte_flow 完成同一请求?
不能作为本技能的合格交付。对于要求硬件数据包转发的请求,它坚持使用 DOCA Flow;若需求超出 DOCA Flow 能力,应明确拒绝并说明可行的管道结构或不可表达性。

同仓库的其他 Skills

均来自 NVIDIA/skills

开发与工程 ✓ NVIDIA · 官方

DOCA Flow 调优技能

帮助工程师快照、分析并优化运行中的 DOCA Flow 管道。

开发与工程 ✓ NVIDIA · 官方

DOCA DPDK 桥接技能

为现有 DPDK 应用接入 DOCA 能力,无需重写数据面。

开发与工程 ✓ NVIDIA · 官方

DOCA Compress 硬件压缩开发技能

指导开发者在 BlueField 或 ConnectX 平台上实现并调试 DOCA 硬件压缩与解压。

开发与工程 ✓ NVIDIA · 官方

DOCA SHA 加速开发技能

指导在 NVIDIA 加速器上进行 SHA 哈希卸载开发。

开发与工程 ✓ NVIDIA · 官方

DOCA PCC 自定义拥塞控制

指导主机侧在 BlueField 上加载和调试自定义 PCC 算法

开发与工程 ✓ NVIDIA · 官方

DOCA 调试

帮助定位并分层排查 NVIDIA DOCA 的构建、链接、运行时与程序问题。

开发与工程 ✓ NVIDIA · 官方

DOCA Flow DPA 性能测量

帮助工程师在支持 DPA 的 NVIDIA 硬件上可靠测量 Flow 规则更新与禁用速率。

开发与工程 ✓ NVIDIA · 官方

DOCA 环境设置技能

帮助开发者验证、配置和排查 DOCA 开发与运行环境,并选择合适的部署路径。

自动化与运维 ✓ NVIDIA · 官方

DOCA 管理服务运维技能

帮助运维团队部署、配置并排查 NVIDIA DMS 管理服务。

开发与工程 ✓ NVIDIA · 官方

DOCA STA 存储目标加速

帮助开发者在 BlueField 上构建并调试 RDMA NVMe-oF 存储目标。

开发与工程 ✓ NVIDIA · 官方

DOCA Flow 性能测量技能

帮助网络工程师获得可复现、可辩护的 DOCA Flow 控制面规则速率数据。

开发与工程 ✓ NVIDIA · 官方

NVIDIA DOCA 公共知识地图

帮助代理定位 DOCA 的权威文档、样例、版本和安装路径。

开发与工程 ✓ NVIDIA · 官方

DOCA Comch 主机-DPU 通信技能

帮助开发者在主机与 BlueField DPU 之间配置、构建和调试 Comch 通信。

开发与工程 ✓ NVIDIA · 官方

DOCA Flow DPA Provider 技能

帮助开发者将 DOCA Flow 管道和资源导出到 BlueField DPA,供 DPA 内核直接读取或修改。

开发与工程 ✓ NVIDIA · 官方

DOCA 设备管理开发技能

用 C API 编程管理 BlueField 与 ConnectX 设备状态。

自动化与运维 ✓ NVIDIA · 官方

DOCA Comm Channel 管理工具技能

只读扫描主机与 DPU 之间的 DOCA 通信通道服务器和连接。

开发与工程 ✓ NVIDIA · 官方

DOCA Flow gRPC 远程控制技能

帮助非 C++ 客户端安全地部署、配置和排查 DOCA Flow 的 gRPC 远程控制面。

开发与工程 ✓ NVIDIA · 官方

DOCA AES-GCM 加速开发技能

帮助开发者在 BlueField 或 ConnectX 上配置、验证和调试 DOCA AES-GCM 加解密。

开发与工程 ✓ NVIDIA · 官方

DOCA Ethernet 队列开发技能

为 BlueField 与 ConnectX 开发和调试 DOCA Ethernet 收发队列。

开发与工程 ✓ NVIDIA · 官方

DOCA SHA OpenSSL 卸载引擎

让现有 OpenSSL SHA 流程在无需重写应用的情况下使用 DOCA SHA 硬件加速。

相关 Skills