DOCA 设备管理开发技能
用 C API 编程管理 BlueField 与 ConnectX 设备状态。
文档明确要求最小权限、用户确认、能力探测、写前状态捕获、最窄命令范围、维护窗口、带外访问、先副本验证、写后复查和可回滚;同时明确 raw_cmd 的设备影响及 root/cap_* 要求。扣7分:未提供实际权限隔离、确认实现、回滚执行机制或敏感数据处理细节,且依赖和外部文档来源未在本材料中独立核验。
SKILL.md、CAPABILITIES.md 和 TASKS.md 对安装前置条件、上下文生命周期、错误分类、失败路由和异常反馈进行了较完整说明;BENCHMARK.md 报告了测试结果。扣12分:本评估未执行任何内容,基准数据集不可用,缺少提交的覆盖关键路径的测试套件和可复现 CI 证据;部分建议依赖其他未提供技能或已安装环境。
受众、典型场景、隐式触发语句、能力边界以及与 telemetry、caps、bench、setup 等相邻技能的路由均清楚。扣5分:未说明中文交互支持、非 Linux 或无 BlueField/ConnectX 环境的适配边界,也未提供面向中国大陆网络条件的环境说明;不过核心功能主要依赖本地 SDK 和设备,并非完全依赖海外服务。
文档采用薄加载器加 CAPABILITIES.md/TASKS.md 的渐进式结构,包含示例问题、安装依赖、限制、错误处理、版本兼容和维护路由;SKILL.md 标注 Apache-2.0。扣7分:作者、正式版本、变更记录和明确维护责任不完整;SKILLCARD.yaml 含大量待签名占位符,且其来源路径和许可证声明与目标路径元数据存在不一致;BENCHMARK.md 还记录了结构校验缺陷。
材料覆盖上下文创建、能力查询、状态修改、ICM 配额、raw_cmd、调试和安全变更流程,且基准报告声称 skill-assisted 任务取得较高正确性和有效性。扣9分:报告的评估数据集不可用,结果无法独立复核;技能本身不提供可编译样例或模板,实际输出仍依赖本地安装、设备状态、版本匹配及其他技能,直接可用性证据有限。
文档引用了具体 API、错误码、命令范围、文件路径和验证步骤,SKILL.md 及伴随文件之间也有交叉追踪。扣7分:没有可执行测试证据、完整 CI 覆盖或可供独立复现的 benchmark 数据;SKILLCARD 的签名、版本和扫描字段仍为占位符,因此只能达到有限可审计性。
- 这是仅基于文本的静态审查,未执行 DOCA、编译、设备操作或基准测试。
- 任何写操作都可能改变 BlueField/ConnectX 设备状态;必须在实际环境中确认版本、能力、目标设备、权限、维护窗口、带外访问和可回滚路径。
- BENCHMARK.md 的数据集不可用,不能把其中的百分比视为独立验证结果。
- SKILLCARD.yaml 的签名、版本和扫描字段仍为占位符,并存在来源路径与许可证元数据不一致。
- 不要把文档中的 API、错误映射或版本兼容性假设视为已在当前 DOCA 安装中验证。
这个 Skill 能做什么,适合哪些场景?
该技能面向使用 DOCA Management C 库开发设备管理、编排和舰队管理工具的开发者。它覆盖管理上下文与 representor 上下文、设备能力查询、拥塞控制状态、诊断数据、ICM 配额和原始固件命令。技能提供安装、配置、构建、修改、运行、测试、调试和使用流程的加载入口,具体内容位于配套文件中。它不负责 DOCA 安装、实时遥测、性能基准测试或预写应用代码。
指导代理使用 doca_mgmt_dev_ctx 和 doca_mgmt_dev_rep_ctx 建立管理上下文;通过 doca_mgmt_device_caps_general_* 查询或设置 data-direct 等能力;操作拥塞控制全局状态、诊断数据和 ICM 配额;使用 doca_mgmt_raw_cmd 按配置或调试范围发送固件命令;根据 DOCA_ERROR_*、生命周期、能力、fwctl ioctl 和固件拒绝等层次排查错误,并在修改前后执行状态核验与回滚准备。
- 开发数据中心舰队清单工具,需要逐台读取 BlueField 的设备能力和状态。
- 为特定 VF representor 查询或设置 data-direct 等设备级属性。
- 为设备或 representor 配置 ICM 配额并读取当前分配和最大值状态。
- 使用 vendor 文档定义的范围发送原始固件控制命令。
- 排查 `doca_mgmt_*` 调用返回的 `DOCA_ERROR_IO_FAILED` 或 fwctl ioctl 失败。
这个 Skill 有哪些优点和局限?
- 覆盖设备上下文、representor、能力、拥塞控制、诊断、ICM 配额和原始命令等明确管理面操作。
- 提供按命令作用域区分配置、只读调试和不同级别写入的安全框架。
- 强调修改前状态捕获、写入后复查和回滚准备。
- 支持 C/C++ 主路径,也说明其他语言通过 FFI 或绑定调用公共 C ABI。
- 要求用户已经安装 DOCA SDK,且不包含 DOCA 安装指导。
- 运行管理操作通常需要 root 或等效设备管理权限,以及 `/dev/fwctl*`。
- 所有公开 `doca_mgmt_*` 符号标记为 EXPERIMENTAL,版本间接口可能变化。
- 不提供预写源代码、构建清单、绑定、样例或原始命令 opcode 目录。
- 来源未提供 companion 文件的具体内容、测试结果或平台覆盖证据。
如何安装这个 Skill?
确保 Linux 主机已在 /opt/mellanox/doca 安装 DOCA SDK,并连接 BlueField DPU 或 ConnectX NIC。使用默认 skills CLI 安装整个 NVIDIA 技能仓库:npx skills add nvidia/skills。已知技能名称时可执行:npx skills add nvidia/skills --skill doca-mgmt --yes。来源未提供仅复制 skills/doca-mgmt 文件夹的独立安装步骤。
如何使用这个 Skill?
在已安装 DOCA 的主机上,向代理提出具体的 DOCA Management 任务,例如:“用 C API 为指定 VF representor 查询 data-direct 能力并验证结果”。需要执行安装、配置、构建、修改、运行、测试、调试或使用任务时读取 TASKS.md;询问能力范围、命令作用域、错误分类或安全策略时读取 CAPABILITIES.md。来源未提供可直接编译运行的示例程序。
这个 Skill 与同类方案有什么区别?
它明确将自身定位为管理面 C API 指导:需要流式观测时使用 doca-telemetry 或 doca-telemetry-exporter,需要交互式只读能力快照时使用 doca-caps,需要安装 DOCA 时使用 doca-setup,需要实时性能基准时使用 doca-bench。它也不覆盖 mlxconfig 直接操作、BFB/固件重刷或 DOCA 安装。