RoCE和RRoCE
RRoCE = Routable RoCE
Since RoCEv2 packets are routable the RoCE v2 protocol is sometimes called Routable RoCE or RRoCE
一、数据组成UC send
RoCE
1911 1.704461 GID: fe80::9a03:9bff:fe92:1ae6 GID: fe80::9a03:9bff:fe9a:4296 RoCE 134 UC Send Only QP=0x00fd47
RC send
RoCE
17 0.000203 GID: fe80::9a03:9bff:fe92:1ae6 GID: fe80::9a03:9bff:fe9a:2b3a RoCE 114 RC Send Only QP=0x00f798
RRoCE
14584 0.041138 192.169.31.53 192.169.31.54 RRoCE 1082 RC Send Middle QP=0x00d684
二、各部分组成详细UC send 详细
RoCE
RC send 详细
RoCE
RRoCE
14584 0.041138 192.169.31.53 192.169.31.54 RRoCE 1082 RC Send Middle QP=0x00d684
三、mellonx如何设置RoCEv1和RoCEv2
- RoCEv1或RoCEv2的设置
Mellonx查看当前是RoCEv1还是RoCEv2
cma_roce_mode -d mlx5_0 -p 1
RoCE Modes Parameters
在RoCEv1 模式下,发送的msg 是RoCE 格式
在RoCEv2 模式下,发送的msg 是RRoCE 格式
- 配置文件设置RoCE模式
ConnectX®-3 仅支持 RoCEv1,而 ConnectX®-3 Pro 支持 RoCEv1 和 RoCEv2。可以使用 /etc/modprobe.d/mlx4_core.conf 文件中的“roce_mode”参数设置 RoCE 模式。
以下是可能的 RoCE 模式值:
如果设置为“0”,则驱动程序将所有 GID 索引关联到 RoCEv1
如果设置为“2”,则驱动程序将所有 GID 索引关联到 RoCEv2(从固件 v2.32.5100 起在 ConnectX-3 Pro 中受支持)
如果设置为“4”,则驱动程序将所有 GID 索引关联到 RoCEv1 和 RoCEv2,每个 RoCE 版本的单个条目(从固件 v2.34.5000 起在 ConnectX-3 Pro 中受支持)
ConnectX-3 Pro 中的 RoCE 模式值示例:
options mlx4_core roce_mode=2
ConnectX®-4 支持 RoCEv1 和 RoCEv2。默认情况下,驱动程序将所有 GID 索引关联到 RoCEv1 和 RoCEv2,因此,每个 RoCE 版本都有一个条目。
有关更多信息,请参阅如何配置 RoCEv2 社区帖子。
- 创建QP时指定RoCE模式
- 为队列对 (QP) 设置 RoCE 模式
对于 RC/UC QP(连接的 QP 类型)和 UD QP,为支持两种 RoCE 模式的设备设置 RoCE 模式是不同的。
要将 RC/UC QP(连接 QP)从 INIT 修改为 RTR,必须提供地址向量 (AV)。在其他属性中,AV 应该为 QP 的源 GID 指定端口 GID 表的索引。该索引中的 GID 类型将用于设置 QP 的 RoCE 类型。
要修改 UD QP,必须使用 mlx4_core 模块参数“ud_gid_type”的值来为设备上的所有 UD QP 设置 RoCE 模式。允许的值为:
RoCE Mode | Allowed Value |
RoCE v1 | 0 (Default) |
RoCE v2 | 2 |
https://docs.mellanox.com/pages/viewpage.action?pageId=12013422#RDMAoverConvergedEthernet(RoCE)-RoCEv2
- 设置 RDMA_CM 应用程序的 RoCE 模式
pageId=12013422#RDMAoverConvergedEthernet(RoCE)-RoCEv2