新闻详情

新闻详情

首页 / 资讯中心 / 详情

debian6.12.95上安装部署softRoCe

发布时间:2026/9/15 9:15:11来源:尧图网络
debian6.12.95上安装部署softRoCe
一.编译1.下载内核源码并编译RXE内核模块vim /etc/apt/sources.listsudo apt updatesudo apt-get install dpkg-dev进入内核源码网站下载三个安装包linux (6.12.95-1) - snapshot.debian.orglinux_6.12.95‑1.dsclinux_6.12.95.orig.tar.xzlinux_6.12.95‑1.debian.tar.xzdpkg‑source -x linux_6.12.95‑1.dsc进入/home/zhuwei/6.12.95.1/linux-6.12.95/drivers/infiniband/sw/rxemake -C /lib/modules/$(uname -r)/build M$(pwd) CONFIG_RDMA_RXEm modulesinsmod ./rdma_rxe.ko上图没有加载依赖包。modprobe ./rdma_rxe.ko //自动加载依赖包加载成功2.编译用户态softRocegit clone https://github.com/linux-rdma/rdma-core.git安装编译依赖工具apt install -y build-essential cmake pkg-config git libnl-3-dev libnl-route-3-dev libudev-dev libsystemd-devapt install python3-devapt install python3-cytho*cd /home/zhuwei/user_linux_softRoce/rdma-core./build.sh或者cmake -DCMAKE_INSTALL_PREFIX/usr/local/rdma-core -DCMAKE_BUILD_TYPEDebug -DENABLE_STATICOFF -DNO_MAN_PAGESONmakemake installecho /usr/local/rdma-core/lib /etc/ld.so.conf.d/rdma-core-local.confldconfigexport PATH/usr/local/rdma-core/bin:/usr/local/rdma-core/sbin:$PATHecho export PATH/usr/local/rdma-core/bin:/usr/local/rdma-core/sbin:$PATH ~/.bashrcsource ~/.bashrc二.环境部署在服务器上安装两张虚拟网卡在虚拟网卡上各自绑定RDMA网卡配置地址自发自收。modprobe ./rdma_rxe.komodprobe veth //veth Virtual Ethernet Pair虚拟以太网成对设备内核模块名veth。ip link add my_vir_eth0 type veth peer name my_vir_eth1 //创建两个直连的虚拟网卡ip addr add 192.168.100.10/24 dev my_vir_eth0ip addr add 192.168.100.11/24 dev my_vir_eth1ip link set my_vir_eth0 upip link set my_vir_eth1 up创建rdma 网卡并分别绑定在虚拟网卡上以下两条命令一起复制执行不然会报错网络多命名空间问题rdma link add rdma_rxe0 type rxe netdev my_vir_eth0rdma link add rdma_rxe1 type rxe netdev my_vir_eth1rdma link showibv_devinfo# 删除rxe设备rdma link delete rdma_rxe0rdma link delete rdma_rxe1# 删除veth pair删一端就全部消失ip link delete my_vir_eth0//使用命名空间版本ip netns add ns0ip netns add ns1ip link set my_vir_eth0 netns ns0ip link set my_vir_eth1 netns ns1ip netns exec ns0 ip addr add 192.168.100.10/24 dev my_vir_eth0ip netns exec ns0 ip link set my_vir_eth0 upip netns exec ns1 ip addr add 192.168.100.11/24 dev my_vir_eth1ip netns exec ns1 ip link set my_vir_eth1 upip netns exec ns0 ip aip netns exec ns1 ip ardma link list# ns0 启动ib_write_bw服务端CM模式ip netns exec ns0 ib_write_bw -d rxe0 -R --report_gbits# ns1客户端连接ip netns exec ns1 ib_write_bw -d rxe1 -R 192.168.100.10 --report_gbits三.调试使用原生态工具ping包ibv_rc_pingpong -d rdma_rxe1 -g 0 -n 10000 //服务端ibv_rc_pingpong -d rdma_rxe0 -g 0 -n 10000 192.168.100.11 //客户端ibstat查看ib网卡由于ROCE二层走的是以太所以没有lid即不用纯IB的opensm协议四.源码学习1.基本框架2.支持热插拔注册rdma-core的内核netlink机制即core/nldev.c用户有动态绑定设备即走这个流程。rxe_newlink回调rxerxe再去rxe_net_add注册core新设备。rdma/core这种机制是如何实现的待补充3.用户态libibverbs.so的基本框架即rdma-core-softRoce\rdma-core\libibverbs代码。3.1基本数据结构由于涉及到ib_device所以用户态libibverbs肯定是需要厂商参与修改代码的每个网卡厂商都需要提供libibverbs相关内容。在rdma-core-softRoce\rdma-core\providers中这里softroce使用rte实现代码rte.c源文件中还实现其他细节以创建CQ为例rxe_create_cq--ibv_cmd_create_cq-execute_ioctl--内核。即rte.c是libibverbs.so和内核交互的接口。3.2.执行perftest的ib_write_bw后台用户态到底发生了什么perftest翻译命令行后做查找dev命令绑定的RDMA网卡信息ibv_get_device_list调用即为libibverbs.so中init.c中的函数扫描/sys/class/infiniband_verbs中的所有rdma网卡device扫描后在libibverbs.so家里一个device-list。此步骤无内核交互接着perftest调用ibv_open_deviceibv_open_device调用libibvers.so中的verbs_open_device另外还创建一个字符驱动继续调用到libibverbs.so中的rxe_alloc_context即rte.c中rte.c中挂了很多ibv_context中的ops供用户态最终调用综上用户态调用libibverbs.so中封装的函数----rte.c----ioctl---内核verbs--内核rdma-core-内核rxe_verbs.c。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

FastapiAdmin定时任务实战:AsyncIOScheduler与RedisJobStore集成指南 2026/9/15 14:28:07

FastapiAdmin定时任务实战:AsyncIOScheduler与RedisJobStore集成指南

1. FastapiAdmin 里定时任务不是“加个装饰器”就能跑起来的FastapiAdmin 本身不内置定时任务能力——这点很多人在第一次点开“任务管理”菜单时才意识到。它更像一个精巧的调度器仪表盘,真正干活的是背后集成的 APScheduler,而整个系统能否稳定跑起来&…

阅读更多 →
Vue+D3+Neo4j图谱可视化:力导向图的工程化封装实践 2026/9/15 14:28:07

Vue+D3+Neo4j图谱可视化:力导向图的工程化封装实践

简介:本资源是一个基于 Vue.js 的 Neo4j 图数据库前端可视化项目,面向前端开发者及图数据应用学习者,解决图数据在 Web 端的动态渲染与交互展示问题。项目采用 D3.js 实现力导向图布局,结合 Vue 组件化架构完成节点关系的响应式呈…

阅读更多 →
前端代码解剖术:零基础定位XSS漏洞触发点 2026/9/15 14:28:07

前端代码解剖术:零基础定位XSS漏洞触发点

1. 这不是编程课&#xff0c;是“前端代码解剖课”&#xff1a;为什么零基础也能一眼看穿漏洞触发点你有没有过这种经历&#xff1a;打开一个网页&#xff0c;右键“查看网页源代码”&#xff0c;满屏的<div>、<script>、<input>像天书一样堆在一起&#xff…

阅读更多 →
150. 零门槛复现!FPGA 按键消抖 + DDR3 读写可编译工程(附源码约束) 2026/9/15 14:28:07

150. 零门槛复现!FPGA 按键消抖 + DDR3 读写可编译工程(附源码约束)

摘要 FPGA接口设计是数字系统设计的核心环节,涵盖电平标准、时序收敛、总线协议三大维度。本文以Xilinx Artix-7系列为平台,从GPIO基础约束出发,逐步深入到DDR3控制器IP的定制与读写验证,完整呈现一个工业级接口设计的全流程。文章提供可直接运行的Verilog代码与XDC约束文…

阅读更多 →
MCP自定义服务器进阶:从能跑到能扛的工程实践 2026/9/15 14:28:07

MCP自定义服务器进阶:从能跑到能扛的工程实践

1. MCP 自定义服务器的"能跑"与"能扛"&#xff1a;进阶开发要跨过的四道坎说实话&#xff0c;MCP 自定义服务器开发&#xff0c;圈里很多人觉得会注册 tool 就是会了。其实真正决定一个 MCP 服务器能不能上生产环境的&#xff0c;是错误处理、流式输出、Ty…

阅读更多 →
Cosmos Reason 2音乐制作软件的核心功能与实战技巧 2026/9/15 14:25:07

Cosmos Reason 2音乐制作软件的核心功能与实战技巧

1. Cosmos Reason 2 初探&#xff1a;为什么它值得你投入时间&#xff1f;第一次打开Cosmos Reason 2时&#xff0c;我被它那个看似复杂但实则精妙的界面震撼到了。作为一个从Reason 1.0时代就开始使用的老用户&#xff0c;我可以负责任地说&#xff0c;这个版本完全重构了音乐…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞