在 KVM 虚拟网络上禁用 TCP 校验和卸载

在 KVM 虚拟网络上禁用 TCP 校验和卸载

我有一个用于连接 KVM 客户机和主机的虚拟网络。

我需要禁用此网络上的 TCP 校验和卸载。ethtool 工作正常,但我想禁用它永久我在 virsh 或 QEMU 文档中找不到任何内容。添加带有相应选项的 /etc/sysconfig/network-scripts/ifcfg-virbr1 文件也不起作用。

答案1

ethtool -K eth0 tso offrc.local虚拟机启动脚本。您可以将其作为libvirt 钩子

答案2

我建议使用 udev 规则来执行此操作。我将其放在 /etc/udev/rules.d/81-bridge.rules 中:

ACTION=="add", SUBSYSTEM=="net", NAME=="virbr*", RUN+="/sbin/ethtool -K $env{INTERFACE} tx off"

根据您的需要,可以使用更复杂的方法。

答案3

您可以在客户机界面 xml 中禁用它:

<driver>
      <host csum='off'/>
      <guest csum='off'/>
    </driver>

參閱https://libvirt.org/formatdomain.html#setting-nic-driver-specific-options

答案4

我一般用这个:

<interface type='network'>
    <model type='virtio'/>
    <driver name='vhost'>
        <guest csum='off' tso4='off' tso6='off'/>
    </driver>
</interface>

它现在似乎触发了语法错误,YMMV。据我所知,不同之处在于,这种方式在拆分/半虚拟驱动程序的客户机端被禁用。

看着https://doc.dpdk.org/guides-16.07/sample_app_ug/vhost.html看来只有启用了 DPDK 后“vhost”才会存在。

相关内容