【RDMA】rdma-core驱动源码包|ibverbs|rdmacm

目录

源码包

编译

用法

驱动包内的例子

其他


源码包

mellanox的rdma驱动源码包形式如下:

MLNX_OFED_LINUX-5.8-1.1.2.1-rhel9.0-ext/src/MLNX_OFED_SRC-5.8-1.1.2.1/SRPMS

rdma-core-58mlnx43-1.58112.src.rpm

rpm -ivh  rdma-core-58mlnx43-1.58112.src.rpm 安装完成后

源码解压到:/root/rpmbuild/SOURCES/

RDMA Core Userspace Libraries and Daemons

这是 Linux 内核驱动程序的用户空间组件,属于/infiniband 子系统。具体包含以下设备节点的用户空间库:

  • /dev/infiniband/uverbsX(libibverbs)
  • /dev/infiniband/rdma_cm(librdmacm)
  • /dev/infiniband/umadX(libibumad)

libibverbs RDMA 内核驱动程序的用户空间组件包含在 providers/ 目录下。支持以下内核 RDMA 驱动程序:

  • efa.ko
  • iw_cxgb4.ko
  • hfi1.ko
  • hns-roce.ko
  • i40iw.ko
  • ib_qib.ko
  • mlx4_ib.ko
  • mlx5_ib.ko
  • ib_mthca.ko
  • ocrdma.ko
  • qedr.ko
  • rdma_rxe.ko
  • siw.ko
  • vmw_pvrdma.ko

此外,还提供了以下额外的服务守护进程:

  • srp_daemon(ib_srp.ko)
  • iwpmd(针对 iwarp 内核提供程序)
  • ibacm(用于 InfiniBand 通信管理助手)

编译

进入驱动包目录,执行:

$ bash build.sh

输出在build/binbuild/lib

 

build/bin 目录包含示例程序,build/lib 目录包含共享库。

注意:目前不易从构建目录运行插件,插件仅从系统路径加载

编译之前环境可能需要安装一些依赖,如:

CentOS 7:

$ yum install epel-release

$ yum install cmake3 ninja-build pandoc

详情见README.md

用法

驱动包内的例子

驱动包例子的源码在驱动包的excample内

 rdma_xclient.c 和 rdma_client.c 的区别

rdma_xclient.c  客户端只发,接收端只收

rdma_client.c    双边相互收发

posted on 2023-12-31 19:14  bdy  阅读(9)  评论(0)    收藏  举报  来源

导航