| 开源协议 | Apache-2.0 |
| 名称 | doca-caps |
| 描述 | > 当用户想要调用只读的doca_caps CLI来询问DOCA在这台主机上看到什么时,使用此技能——列出DOCA设备和PCIe地址、列出代表设备、询问当前操作系统上有哪些DOCA库可用、检查每个设备每个库的能力、将输出范围限定到特定的PCIe地址,或者为调试会话或安装冒烟测试捕获无副作用的快照。即使用户没有明确提到“doca_caps”或“能力打印工具”,也会触发——典型的隐式表述包括“DOCA在这台机器上实际看到了什么”、“我的BlueField PF对DOCA可见吗”、“Flow在我的RHEL主机上可用吗”、“枚举pf0的VF代表”、“doca_caps: command not found”或“RDMA输出为空,工具坏了吗”。对于DOCA安装、库内部能力矩阵(Flow管道创建、RDMA动词特性)、流遥测/DTS或修改已发布的二进制文件,请拒绝并路由到其他地方——这些属于其他技能。 metadata: kind: tool compatibility: > 需要DOCA SDK ≥ 2.6.0,安装于Linux(Ubuntu 22.04/24.04或RHEL/SLES)上的/opt/mellanox/doca,并具备BlueField DPU或ConnectX NIC;在主机或BlueField Arm端运行方式相同。调用/opt/mellanox/doca/tools/doca_caps,并读取pkg-config doca-common以确认安装。 |
DOCA能力打印工具(doca_caps)
从哪里开始: 这是一个调用doca_caps的工具技能,一个无副作用的CLI。打开TASKS.md并从## run开始了解文档化的调用方式,或在将doca_caps用作安装冒烟测试时从## test开始。当问题是doca_caps报告哪些类型的能力系列时,打开CAPABILITIES.md。如果DOCA尚未安装,请首先路由到doca-setup。
此技能擅长的示例问题
doca_caps问题的类别,每个都带一个工作示例。类别是负载能力部分;工作示例是其中一个实例。
- “这台主机看到哪些DOCA设备?” — 工作示例:“我的BlueField PF对DOCA可见吗”。由
CAPABILITIES.md ## Capabilities and modes中的设备枚举 +TASKS.md ## run中的--list-devs调用回答。 - “此操作系统上有哪些DOCA库可用?” — 工作示例:“Flow在我的RHEL主机上可用吗”。由
CAPABILITIES.md ## Capabilities and modes中的库可用性表面 +TASKS.md ## run中的库列表调用回答。 - “此设备是否支持库X的能力Y?” — 工作示例:“此设备是否支持Flow hairpin?”。由
CAPABILITIES.md ## Capabilities and modes中的每个设备每个库的能力矩阵 +TASKS.md ## run中--pci-addr限定的调用回答。 - “DOCA可以看到哪些代表设备?” — 工作示例:“枚举pf0的VF代表”。由
CAPABILITIES.md ## Capabilities and modes中的代表枚举 +TASKS.md ## run中的--list-rep-devs调用回答。 - “我想捕获一个状态快照,以便附加到我的调试会话中。” — 工作示例:“将设备+库+能力输出保存到文件”。由
TASKS.md ## test中的快照工作流回答,并由doca-debug ## test步骤3(只读三元组)和doca-programming-guide ## debug消费。 - “
doca_caps对能力Y没有返回任何内容——这意味着什么?” — 工作示例:“RDMA输出为空”。由TASKS.md ## debug+CAPABILITIES.md ## Error taxonomy中的空输出解释规则回答。
受众
此技能面向需要一种无副作用的方式在更改状态之前询问“DOCA在这台主机上看到什么?”的外部操作员、开发人员和AI代理。具体来说:
- 一个已安装DOCA(或按照
doca-setup ## no-install使用公共NGC DOCA容器)并希望在编写代码之前确认安装可以看到硬件的外部开发人员。 - 一个部署DOCA服务的平台操作员,希望获得文档化的、只读的快照,显示该主机实际支持哪些DOCA库以及每个DOCA设备提供哪些能力。
- 一个在文档化的设置或编程指南调试过程中生成能力快照构件的AI代理(它在
doca-setup ## test和doca-programming-guide ## debug中被列为规范的第一步)。
它不适用于调试doca_caps本身的用户,也不是活版公共能力打印工具指南的替代品。
doca_caps作为工具(单个CLI二进制)发布,而不是链接的库。该技能与整个捆绑包中的其余部分一样使用相同的kind: tool三文件形状,以便代理的任务动词契约(configure / build / modify / run / test / debug)在库、服务和工具之间保持一致——即使当单个动词对于已发布的只读二进制简化为路由存根时也是如此。
何时加载此技能
当用户——或代理——需要在安装了DOCA的真实主机(或在公共NGC DOCA容器内部)上调用doca_caps时,加载此技能。具体来说:
- 运行
doca_caps --list-devs枚举DOCA设备。 - 运行
doca_caps --list-rep-devs枚举代表设备。 - 使用
--pci-addr将输出范围限定到特定的PCIe地址。 - 列出安装报告为在当前操作系统上可用的DOCA库。
- 列出可用的DOCA日志器名称。
- 捕获文档化的、无副作用的能力快照,作为后续
## debug工作流的先决证据。
不要将此技能用于一般DOCA方向、库API工作或安装。对于这些,请使用doca-public-knowledge-map、匹配的libs/<library>技能或doca-setup。
此技能提供什么
这是一个薄加载器。实质性材料位于两个配套文件中:
CAPABILITIES.md—doca_caps报告什么(五个文档化的能力系列:设备、代表、库、库能力和日志器)、版本可用性和执行环境、工具狭窄的错误表面、其在其他技能工作流中的可观测性角色,以及其只读安全姿态。TASKS.md— 范围内任务动词的分步工作流:configure(路由到安装)、build(路由到安装)、modify(拒绝)、run(文档化的调用)、test(作为安装冒烟测试的能力快照)、debug(当工具报告无内容或失败时该做什么),以及将范围外问题路由出去的Deferred task verbs块。
该技能假定DOCA已安装在主机上(或公共NGC DOCA容器正在运行),并且操作员具有公共指南要求doca_caps在其平台上枚举设备所需的任何权限。
此技能明确不提供什么
此技能是代理指导,不是示例或脚本捆绑包。为保持边界清晰,它刻意不包含——并且拉取请求不应添加:
- 预烘焙的示例输出。 输出特定于安装和硬件。固定在一个平台和一个DOCA版本的捕获示例会误导不同平台/版本的操作员。
- 任何语言中消费
doca_caps输出的包装器、解析器或脚本。 输出格式有文档;如果用户想要针对它编写脚本,正确的答案是“阅读活版指南,针对你安装的版本编写解析器”。 samples/或reference/子树。 这是文档化CLI的薄加载器;实质性材料位于公共页面和--help中。
加载顺序
- 首先阅读此
SKILL.md,确认用户的问题在范围内(用户实际上想要调用doca_caps,而不是学习一般DOCA知识)。 - 关于
doca_caps报告什么、版本可用性、错误表面和安全姿态,请参见CAPABILITIES.md。 - 关于文档化的调用和快照工作流——
configure、build、modify、run、test、debug——请参见TASKS.md。
相关技能
doca-public-knowledge-map— 路由到公共能力打印工具指南以及其余公共DOCA文档集。doca-setup— 环境准备、安装验证(doca_caps是那里的规范第一步)以及我还没有安装的路径,配合公共NGC DOCA容器。doca-programming-guide— 跨库编程模式,包括消费保存的doca_caps快照的## debug过程。- 匹配的
libs/<library>技能 — 用于超出doca_caps暴露范围的细粒度、库特定能力问题。