目录
在DSCP基于QoS模式下为Linux驱动程序配置ROCE--设置网卡默认PFC和ECN
如何在RDMA-CM QP上设置发出消息的ToS/DSCP值
翻译自:RoCE Configuration for Linux Drivers in DSCP-Based QoS Mode (nvidia.com)
说明:
本文提供了在安装了MLNX_OFED和Mellanox设备的情况下,针对丢包网络中运行RoCE的DSCP-based QoS模式的配置示例。
备注:
QoS参数在QP创建时进行设置。在使用RDMA-CM时,可以为由RDMA-CM创建的QP设置QoS参数。
下面的一些配置步骤是永久性或临时性。对于永久性配置,运行mlxconfig后,需要执行设备重置(mlxfwreset)或主机重启。
配置
第1步 - 设置QoS参数
将DSCP(L3)设置为网卡的信任模式
# mlnx_qos -i
[可选] 为所有RoCE流量设置ToS为106(DSCP 26)(注:此命令是非持久的)
# echo 106 > /sys/class/infiniband/
[可选] 将RDMA-CM的ToS设置为106(DSCP 26)(注:此命令是非持久的)
# cma_roce_tos -d
[可选] 启用TCP流量的ECN功能(注:此命令是非持久的)
# sysctl -w net.ipv4.tcp_ecn=1
注解:
参考资料
RoCE部署的推荐网络配置示例
以太网交换机解决方案
如何在RDMA-CM QP上设置出口ToS/DSCP
HOWTO SET EGRESS TOS/DSCP ON RDMA-CM QPS
翻译自:HowTo Set Egress ToS/DSCP on RDMA-CM QPs (nvidia.com)
描述
本文介绍了配置RDMA-CM QP的ToS/DSCP的命令。此功能从MLNX_OFED 4.0及更高版本开始支持,并支持ConnectX-4适配器。
参考资料
RDMA/RoCE解决方案:
新增了一个RDMA-CM configfs条目,允许用户选择RDMA-CM QP的默认TOS。这对于希望在不更改代码的情况下控制TOS字段的用户非常有用。其他使用rdma_set_option API显式设置TOS的应用程序不受影响,仍然可以按预期工作,并覆盖configfs的值。
要配置TOS,用户可以使用MLNX_OFED 4.0中的cma_roce_tos脚本。
使用示例:
# cma_roce_tos -d
注意:TOS字段为8位,而DSCP字段为6位。要设置DSCP值为X,需要将该值乘以4(向左移位2位)。例如,要设置DSCP值为24,(24x4=96)。将TOS位设置为96。
注意:如果运行perftest包(例如ib_send_bw),运行此命令将更改-T选项(TOS默认值)。换句话说,如果使用此命令,则无需运行-T
注意:ECN配置不同,通过sysfs或mlxconfig完成,参见:HowTo Configure DCQCN (RoCE CC) values for ConnectX-4 (Linux)。:ESPCommunity
注意:确保将默认的RDMA CM模式更改为RoCE v2,请参见HowTo Set the Default RoCE Mode When Using RDMA CM。:ESPCommunity
注意:此命令不是持久的。
注意:配置新的ToS/DSCP值仅会影响新创建的QP。确保重新启动应用程序或更新连接以查看效果。