nmcli 无法配置 lro,因其属网卡驱动层硬件卸载特性,须用 ethtool 管理:ethtool -k eth0 查看状态,sudo ethtool -k eth0 lro on/off 启停,且需手动持久化,与 nmcli 管理的 ip/dns 等上层配置互不干扰。

nmcli 不能配置 LRO(Large Receive Offload)功能。
LRO 是网卡驱动层的硬件卸载特性,由内核网络子系统和网卡驱动直接控制,不属于 NetworkManager 管理范畴,因此 nmcli 没有相关参数或子命令支持启用、禁用或查询 LRO。
真正负责 LRO 配置的是 ethtool 工具,它通过 ioctl 直接与网卡驱动通信。以下是你需要做的实际操作:
确认并启用 LRO 的正确方法
-
查看当前状态:
ethtool -k eth0 | grep "large-receive-offload"
输出类似
large-receive-offload: off或on,表示当前开关状态。 -
启用 LRO(需 root 权限):
Zynq Linux Hardware Debug下载Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
sudo ethtool -K eth0 lro on
-
禁用 LRO(如遇到兼容性问题,例如某些虚拟化环境或旧驱动):
sudo ethtool -K eth0 lro off
-
验证是否生效: 再次运行
ethtool -k eth0 | grep lro,确认输出为on;同时可观察接收中断合并效果,例如:watch -n1 'cat /proc/net/snmp6 | grep -A1 Tcp | tail -1' # TCP InSegs 下降趋势(配合流量)
注意事项
- LRO 仅对 TCP 流量有效,UDP 和非 TCP 包不参与合并;
- 并非所有网卡都支持 LRO(常见支持型号:e1000e、ixgbe、i40e、virtio-net 等),可用
ethtool -i eth0查看驱动名称和固件版本; - 启用后若出现连接异常(如部分 TCP 连接重传增多),建议结合
tcpdump抓包分析,必要时关闭 LRO 或改用 GRO(Generic Receive Offload,更通用且安全); - LRO 设置不会持久化,重启后失效,需写入开机脚本(如
/etc/rc.local或 systemd service),nmcli 不参与也不影响该过程。
与 nmcli 的关系
nmcli 可用于管理该网卡的上层连接(IP、DNS、自动连接等),但与 LRO 完全无关。例如你仍可执行:
nmcli connection modify eth0 ipv4.addresses 192.168.10.100/24 ipv4.method manual nmcli connection up eth0
这些操作和 ethtool -K eth0 lro on 可并存,互不干扰。
不复杂但容易忽略










