其他分享
首页 > 其他分享> > [RoCE]RDMA over Converged Ethernet模式以及配置

[RoCE]RDMA over Converged Ethernet模式以及配置

作者:互联网

https://www.cnblogs.com/burningTheStar/p/8565612.html

 

[阅读本文之前需要现有RDMA的基础知识]

1.RDMA over Converged Ethernet(RoCE)

Remote Direct Memory Access(RDMA)是一种远程内存管理能力,允许不同服务器上应用的内存之间直接移动数据,不需要CPU的干预。RoCE是一种机制,它提供了在无损以太网络上极低延迟的高效数据传输。 随着数据中心朝着可靠以太网发展,搭载RoCE的CX系列以太网卡使用经过证实的,高效的RDMA传输方式以10GigE和40GigE线速为主流数据中心的应用提供部署RDMA技术的平台。当RDMA应用工作在以太网链路层上时,应该注意以下几点:

1.1 RoCE模式

RoCE将IB传输的流量封装到下面两种以太网帧中:

 

1.2 RoCE模式参数

对于CX3和CX3Pro设备来说,RoCE模式可以通过使用/etc/modprobe.d/mlx4_core.conf文件中的roce_mode参数来设置。下面是可用的RoCE模式值:

对于CX4或者CX5设备,这些设备默认都是RoCEv2,且包含了RoCEv1的GID,使用show_gids可以查看。

1.3 GID表格分布

每当以太网设备的一个网络端口配置了一个IP地址时,就会在GID表格中创建一个表项。每个表项包含:GID值,GID类型,网络设备。对于两种模式都支持的设备端口,表中会存在两个GID,有相同的值,但是类型不同。表项中的网络设备是该GID关联的以太网设备的IP地址。

GID格式有可以有两种:IPv4和IPv6。IPv4版本的GID是一个IPv4映射的IPv6地址,而IPv6版本的GID是IPv6地址本身。对于RoCEv2,关联到IPv4版本GID的三层网络包,其头三层头部是IPv4,IPv6亦然。对于RoCEv1,关联到IPv6或IPv4版本GID的网络包,头部是IPv6或者GRH。

GID表格项的总数等于N(K+1), N是赋予给所有网络设备上关联端口的IP地址数量,包括VLAN设备,别名设备,和bonding master。链路本地的IPv6地址被排除在这个计数之外,因为它们的GID总是存在的,是默认的GID,处于每个GID表格的开始。K是支持的RoCE类型数量。每个硬件端口的表格项数量限制在128。show_gids命令可以查看系统中的GID表。

在系统文件sysfs中查看GID的路径是:

对一个QP设置RoCE模式(前提是配置好了GID表):

对于RDMA_CM应用设置RoCE模式:由于RDMA_CM接口仅仅要求传递远端的IP地址即可,因此RDMA_CM决定了要使用的源GID,并从表中获取该GID。而表中可能包含多个GID,因此必须按照GID类型来查询。而这个查询的类型被定义为RDMA_CM模块的一个全局变量。要改变这个值需要使用cma_roce_mode脚本。例如:cma_roce_mode -d <dev> -p <port> -m <1,2>。

Happy Ending Every Day

标签:QP,over,IPv6,GID,RDMA,RoCE,Ethernet,以太网
来源: https://www.cnblogs.com/ztguang/p/15201956.html