【微知】关于 Mellanox BF3 DPU 上 rshim 的深入解析(二)?rshim软件和DPU是走什么通道进行通信的?

Mellanox BF3 DPU上rshim通信机制解析

背景

本文是rshim 的深入解析第二篇。
对于Mellanox BF系列的DPU(Data Processing Unit,数据处理单元)卡,RShim,全称“Remote Shim”。提供了管理通道用来方便主机对DPU卡进行管理,如重置芯片、从外部启动 ARM、查看寄存器状态进行调试、提供串口访问以及提供 TCP/IP 接口(常用的tmpfifo_net的网络设备也是rshim提供的)。他在硬件上有一个专门的硬件单元。从RShim这个名字来看,设计者期望提供一个能够远程访问的很薄的一个垫片层(Shim),所以看待RShim应该抛开迷雾,关注数据流动,直击功能本质。
本文涉及到rshim的的部分代码机制机理介绍。
跟多参考兄弟篇文章:https://blog.youkuaiyun.com/essencelite/article/details/147670941

代码相关分析

关于rshim设备的黑名单

rshim设备黑名单指定后可以不开启映射rshim文件,具体在配置文件中设置。
支持黑名单模式,在rshim_blocked_dev_names中配置,在pcie扫描后在rshim_pcie_probe阶段,使用rshim_allow_device判断。如果在黑名单之中不创建。
在这里插入图片描述

rshim有配置文件

/etc/rshim.conf
比如指定rshim名字和pcie的映射关系,指定黑名单

rshim的映射3中模式

有uio vfio direct, 一般使用uio方式
在这里插入图片描述

rshim中前后端模式

在这里插入图片描述

rshim支持的寄存器

### Mellanox DPU BF3 在 Windows Server 下的网卡模式设置 Mellanox BlueField-3 (BF3) 是一款集成了 Arm 处理器的 DPU(Data Processing Unit),具备网络加速、存储卸载、安全加密等多种功能。在 Windows Server 环境中,BF3 可以被配置为传统网卡模式(NIC Mode),以实现与标准以太网接口兼容的功能,支持 RDMA、虚拟化等功能。 在 Windows Server 中配置 Mellanox DPU BF3 为网卡模式,主要涉及固件配置、驱动安装以及通过管理工具设置工作模式。以下是具体步骤: #### 1. 安装 Mellanox OFED 驱动 Mellanox OFED(Open Fabrics Enterprise Distribution)为 Windows 提供了完整的驱动支持,包括 RoCE、虚拟化、RDMA 等功能。需从 Mellanox 官网下载适用于 Windows 的 OFED 驱动包,并安装到目标系统中。安装完成后,系统会自动识别 BF3 设备,并加载相应的驱动模块。 #### 2. 配置 DPU 模式为 Embedded CPU 模式 Mellanox DPU BF3 支持多种工作模式,包括 Embedded CPU 模式 SmartNIC 模式。若需将其作为网卡使用,通常应将其配置为 Embedded CPU 模式。该模式下,DPU 的 Arm 核心运行独立的操作系统(如 BlueField OS),而主机端则通过 PCIe 接口与 DPU 通信BF3 作为标准网卡设备呈现给 Windows 系统。 在 Linux 环境中,可以通过 `/sbin/mlnx_bf_configure` 脚本自动完成 DPU 模式的切换,并创建 SF(Scalable Function)接口[^2]。但在 Windows 环境中,该过程需通过 Mellanox 提供的工具完成,例如 `MLNX_WINOF2` 工具链。 #### 3. 使用 MLNX_WINOF2 工具配置网卡模式 MLNX_WINOF2 是 Mellanox 提供的 Windows OFED 工具包,支持对网卡进行模式切换配置。使用方法如下: - 打开命令提示符(CMD)并执行以下命令列出所有 Mellanox 设备: ```cmd mstflint -d <pci_bdf> q ``` 其中 `<pci_bdf>` 为 BF3 的 PCI 地址(例如 `03:00.0`)。 - 查询当前固件配置后,使用 `mstconfig` 工具设置网卡的工作模式。例如,将网卡设置为以太网模式(`LINK_TYPE_P1=2`): ```cmd mstconfig -d <pci_bdf> set LINK_TYPE_P1=2 ``` 设置完成后需重启系统以使配置生效。 #### 4. 验证网卡模式 在 Windows Server 中,可通过设备管理器查看 Mellanox 网卡设备状态,确认是否已识别为标准以太网适配器。此外,可使用 `mlxconfig` 工具查询当前网卡的工作模式: ```cmd mlxconfig -d <pci_bdf> q ``` 输出结果中应包含 `LINK_TYPE_P1` 字段,其值为 `2` 表示以太网模式。 #### 5. 启用 RoCE 功能(可选) 若需在网卡模式下启用 RoCE 功能,可使用 `cma_roce_mode` 工具进行配置: ```cmd cma_roce_mode -d mlx5_0 -s 2 ``` 该命令将网卡切换为 RoCE 模式,值为 `2` 表示启用 RoCEv2,值为 `1` 表示 IB 模式[^1]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值