You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VirtualBox虚拟机中禁用rx-checksum?附XDP挂载报错解决

VirtualBox虚拟机挂载XDP BPF字节码报错解决方案

问题重现

在VirtualBox虚拟机的virtio_net网卡上挂载XDP BPF字节码时,触发报错:

Error: virtio_net: Can't set XDP while host is implementing GRO_HW/CSUM, disable GRO_HW/CSUM first

尝试在宿主机和虚拟机执行以下命令关闭相关特性:

sudo ethtool -K wlp2s0 rx off tx off tso off gso off

宿主机执行正常,但虚拟机内rx-checksum无法关闭,输出:

Actual Changes:
rx-checksum: on [requested off]

解决步骤

  1. 宿主机彻底禁用硬件加速特性
    执行更完整的ethtool命令,确保GRO_HW和校验和全部关闭:

    sudo ethtool -K wlp2s0 gro off rx-gro-hw off rx-checksum off tx-checksum off tso off gso off
    

    用ethtool -k wlp2s0检查,确认rx-checksum、rx-gro-hw等项均为off。

  2. 修改VirtualBox虚拟机网卡配置

    • 关闭虚拟机,打开VirtualBox的虚拟机设置界面
    • 进入网卡的「高级」选项卡,取消勾选所有硬件加速相关选项:
      • 启用硬件校验和
      • 启用TCP分段卸载(TSO)
      • 启用Generic Segmentation Offload(GSO)
      • 启用硬件接收段卸载(GRO)
    • 保存设置后启动虚拟机
  3. 虚拟机内重新关闭校验和
    先通过ip addr确认虚拟机内的网卡名称(通常为enp0s3之类),执行命令:

    sudo ethtool -K <虚拟机网卡名> rx off tx off rx-checksum off tx-checksum off
    

    再次用ethtool -k <虚拟机网卡名>验证,确认rx-checksum已关闭。

  4. 重新尝试挂载XDP BPF字节码
    此时执行挂载命令,应该能正常完成操作。

内容的提问来源于stack exchange,提问作者legends_never_die

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 02:00:19