我有一台 Dell PowerEdge R740 服务器,配有用于 10GbE SFP+ 网络接口的 Intel Corporation 以太网控制器 x710。我已经在上面安装了 RHEL 8。我正在尝试启用 UDP 碎片卸载,如下所示:
$ sudo ethtool --offload eno1 ufo on
我收到这条消息:
Cannot change UDP fragmentation offload
Cannot change any device features.
eno1 具有 SFP+ DAC 电缆。问题是因为 SFP+ 电缆吗?或者我可能缺少任何驱动程序?
答案1
从您提供的输出来看,驱动程序可能不支持 UFO,并且与电缆无关。
答案2
这是添加 UFO 功能的 kernel.org Git 提交。
请注意以下事项:
这个补丁使用分散-聚集功能skb 生成大型 UDP 数据报。
[...]
skb->ip_summed 将设置为 CHECKSUM_HW 表明硬件必须进行校验和计算。硬件应计算完整数据报的 UDP 校验和以及每个分段 IP 数据包的 ip 标头校验和。
因此,如果您禁用了分散收集和/或 TX 硬件校验和,则可能无法启用 UDP 碎片卸载功能,尽管该功能在 NIC+ 驱动程序中可用。您需要首先启用其他必需的功能。
那将是:
sudo ethtool --offload eno1 sg on tx on ufo on