DOCADPDK桥接Skill doca-dpdk-bridge

面向已有DPDK应用、希望在不重写数据平面的前提下叠加DOCA能力的开发者,提供将DPDK端口映射为DOCA设备、实现rte_mbuf与doca_buf互转、用于DOCA Flow硬件流表卸载的配置、构建、运行与调试指导。涵盖能力矩阵、版本匹配、错误分类和端口交接等。关键词:DOCA DPDK Bridge、DPDK、DOCA Flow、硬件卸载、doca_dev、rte_mbuf、doca_buf、端口绑定、mbuf转换、DOCA_ERROR、版本兼容、doca_dpdk_port_probe、doca_dpdk_port_as_dev。

Flow数据通路 0 次安装 0 次浏览 更新于 9/6/2026
开源协议 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。