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 

【RDMA】RoCEv2 数据包研究|RoCE和RRoCE_应用程序

 

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 

【RDMA】RoCEv2 数据包研究|RoCE和RRoCE_参数设置_02

RRoCE

14584    0.041138    192.169.31.53    192.169.31.54    RRoCE    1082    RC Send Middle QP=0x00d684 

【RDMA】RoCEv2 数据包研究|RoCE和RRoCE_数据_03

二、各部分组成详细

UC send  详细

RoCE

【RDMA】RoCEv2 数据包研究|RoCE和RRoCE_驱动程序_04

【RDMA】RoCEv2 数据包研究|RoCE和RRoCE_驱动程序_05

 

RC send  详细

RoCE

【RDMA】RoCEv2 数据包研究|RoCE和RRoCE_数据_06

【RDMA】RoCEv2 数据包研究|RoCE和RRoCE_参数设置_07

RRoCE 

14584    0.041138    192.169.31.53    192.169.31.54    RRoCE    1082    RC Send Middle QP=0x00d684 

【RDMA】RoCEv2 数据包研究|RoCE和RRoCE_驱动程序_08

【RDMA】RoCEv2 数据包研究|RoCE和RRoCE_应用程序_09

【RDMA】RoCEv2 数据包研究|RoCE和RRoCE_固件_10

 

三、mellonx如何设置RoCEv1和RoCEv2

  1. RoCEv1或RoCEv2的设置

Mellonx查看当前是RoCEv1还是RoCEv2

 

cma_roce_mode -d mlx5_0 -p 1

 

RoCE Modes Parameters

 

在RoCEv1 模式下,发送的msg 是RoCE 格式

在RoCEv2 模式下,发送的msg 是RRoCE 格式

  1. 配置文件设置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 社区帖子。

  1. 创建QP时指定RoCE模式
  1. 为队列对 (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

  1. 设置 RDMA_CM 应用程序的 RoCE 模式

pageId=12013422#RDMAoverConvergedEthernet(RoCE)-RoCEv2