| 开源协议 | Apache-2.0 |
| 名称 | doca-dpdk-bridge |
| 描述 | > 当用户拥有一个现有的 DPDK 应用,并希望就地添加 DOCA 能力——最常见的是 DOCA Flow 硬件流表卸载——而不以 DOCA 原生形式重写数据平面时,使用此技能。涵盖绑定 DPDK 端口 ID 到 doca_dev、转换 rte_mbuf 与 doca_buf、查询能力或调试来自桥接调用的 DOCA_ERROR_*。其他场景请路由到对应技能。 metadata: kind: library compatibility: > 需要在 Linux(Ubuntu 22.04/24.04 或 RHEL/SLES)上安装位于 /opt/mellanox/doca 的 DOCA SDK,并连接 BlueField DPU 或 ConnectX NIC,以及安装版本匹配的独立 DPDK。 |
DOCA DPDK 桥接
起点: 假设 DOCA 和 DPDK 已安装,用户拥有现有 DPDK 应用,希望在不迁移到 DOCA 原生 API 的情况下添加 DOCA 能力(最常见的是 DOCA Flow 硬件卸载)。需要执行任务时打开 TASKS.md;需要了解能力时打开 CAPABILITIES.md。若 DOCA 未安装,先使用 doca-setup;若从零开始且纯粹想要 DOCA 原生数据包 I/O,请使用 doca-eth。
适合回答的问题
- 如何在不重写数据平面的前提下向 DPDK 应用添加 DOCA Flow 规则?
- 如何让 DOCA 看到 DPDK 端口(DPDK 端口 ID 到 doca_dev 的映射)?
- 如何在 DPDK mbuf 与 DOCA buf 之间移动数据包?
- 桥接是否已安装,其 DPDK 是否与 DOCA 兼容?
- 应选择 doca-dpdk-bridge 还是 doca-eth?
- 如何解读来自桥接调用的 DOCA_ERROR_*?
目标读者
面向已经维护基于 DPDK 的数据包处理应用、并希望加入 DOCA 能力的外部开发者。不适用于从零开始的新项目(应使用 doca-eth),也不适用于纯 DPDK 且不关心 DOCA 的用户。语言以 C 为主,其他语言可通过公共 C ABI 适配。
何时加载本技能
当用户进行 DOCA DPDK Bridge 实际工作时加载:已有 DPDK 应用、需要绑定 DPDK 端口到 doca_dev、需要 mbuf 与 DOCA-buf 转换、调试 DOCA_ERROR_*、遇到版本匹配问题,或询问与 doca-eth 的选型时。不要用于 DOCA 安装、全新 DOCA 原生项目、纯流规则编程、RDMA 等场景。
提供的内容
薄加载器,详细内容在 CAPABILITIES.md(能力矩阵、桥接 vs 原生选择、端口交接、错误分类、可观测性、安全策略)与 TASKS.md(配置、构建、修改、运行、测试、调试工作流及后续指引)。不包含示例源码,也不包含驻留在技能内的构建清单;构建清单在用户项目目录中生成,以 pkg-config 为事实来源。
相关技能
参见 doca-public-knowledge-map、doca-setup、doca-version、doca-eth、doca-flow、doca-debug、doca-programming-guide。