无法更改 UDP 碎片卸载

无法更改 UDP 碎片卸载

我有一台 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

相关内容