DOCA 文档 v2.10.0

DOCA 参考应用程序

本页概述了在 NVIDIA® BlueField® 之上实现的 DOCA 参考应用程序。

本节中描述的所有 DOCA 参考应用程序均受 BSD-3 软件许可协议管辖。

DOCA 参考应用程序是一种教育资源,作为关于如何使用 DOCA API 在 NVIDIA BlueField 网络平台上进行编程的指南提供。

注意

参考应用程序尚未准备好用于生产环境,仅应用作参考。

有关开发环境和安装的说明,请分别参阅DOCA 开发者指南DOCA Linux 安装指南

信息

如有问题、意见和反馈,请通过 DOCA-Feedback@exchange.nvidia.com 联系我们。

安装

DOCA 应用程序安装在 /opt/mellanox/doca/applications 下,每个应用程序都有其自己的专用文件夹。每个目录都包含匹配应用程序的源代码和编译文件。

前提条件

DOCA SDK 参考(示例和应用程序)需要使用 meson,最低版本要求为 0.61.2。此版本已包含在大多数 Linux 发行版提供的软件包中,因此建议直接从软件包安装。

  • Ubuntu/Debian

    复制
    已复制!
                

    $ sudo apt install meson

  • RHEL

    复制
    已复制!
                

    $ sudo yum install meson

在极少数情况下,如果发行版提供的版本低于最低要求的 0.61.2 版本,则可以直接通过 pip 而不是通过软件包安装 meson。

复制
已复制!
            

$ sudo pip3 install meson==0.61.2

与软件包安装不同,如果通过 pip 安装,用户还应记住安装他们选择的编译器,因为它不会自动安装。

编译

由于应用程序与其源代码一起发布,因此开发者可能希望在开发过程中修改某些代码,然后重新编译应用程序。编译所需的文件如下:

  • /opt/mellanox/doca/applications/meson.build – 包含所有应用程序的项目的主编译文件

  • /opt/mellanox/doca/applications/meson_options.txt – 编译过程的配置文件

  • /opt/mellanox/doca/applications/<application_name>/meson.build – 应用程序特定的编译定义

要重新编译所有参考应用程序

  1. 移动到应用程序目录

    复制
    已复制!
                

    cd /opt/mellanox/doca/applications

  2. 准备编译定义

    复制
    已复制!
                

    meson /tmp/build

  3. 编译所有应用程序

    复制
    已复制!
                

    ninja -C /tmp/build

    信息

    生成的应用程序位于 /tmp/build/ 目录下,路径为 /tmp/build/<application_name>/doca_<application_name>

注意

针对 DOCA SDK 的编译依赖于环境变量,这些变量在每次用户登录时自动定义。有关更多信息,请参阅NVIDIA DOCA 故障排除指南中“Meson 抱怨缺少依赖项”部分。


开发者配置

重新编译应用程序时,meson 默认以“debug”模式编译它们。因此,二进制文件不会针对性能进行优化,因为它们将包含调试符号。为了进行比较,作为 DOCA 安装一部分发布的应用程序二进制文件以“release”模式编译。要以 debug 以外的其他模式编译应用程序,请查阅 Meson 的配置指南

应用程序还为开发者提供了在现有 DOCA 日志级别之上使用 DOCA 日志的 TRACE 级别 (DOCA_LOG_TRC) 的能力。在编译期间启用 TRACE 日志级别会激活发布编译中遗漏的各种开发者日志消息。可以通过 meson_options.txt 文件中的 enable_trace_log 或直接从命令行激活 TRACE 日志级别。

  1. 准备编译定义以使用跟踪日志级别

    复制
    已复制!
                

    meson /tmp/build -Denable_trace_log=true

  2. 编译应用程序

    复制
    已复制!
                

    ninja -C /tmp/build

下表将 DOCA 参考应用程序映射到它们使用的库。

应用程序类别

应用程序

库类别

裸机/虚拟化云

安全云网关

云存储

监控

流式传输

HPC

DPA

DMA

FlexIO SDK

PCC

应用防护

SHA

压缩

遥测

GPUNetIO

Comch

UCX

网络

以太网 L2 转发

GPU 数据包处理

简单转发 VNF

交换机

IP 分片

加速 UPF

安全

应用防护代理

东西向叠加加密

IPsec 安全网关

PSP 网关

安全通道

YARA 检测

数据路径加速

DPA All-to-all

PCC

存储

DMA 复制

文件压缩

文件完整性

NVMe 模拟

存储零拷贝

HPC

UROM RDMO

© 版权所有 2025 NVIDIA。 上次更新时间:2025 年 2 月 12 日。