问题描述
当Open vSwitch使用DPDK数据通路时,从虚拟机发送数据包到同一局域网的物理机时,接收方在收到TCP连接的SYN包时,发现checksum error,SYN包被丢弃。TCP连接的握手过程无法完成。
问题定位
当虚拟机使用virtio_net作为前端驱动时,如果开启tx checksum offload功能,就会出现该问题。
此bug亦见于launchpad bugs 页面。
解决方式
Open vSwitch LTS 版本尚未见修复此问题。
workaround
在虚拟机中关闭tx checksum offload 功能。
使用下述命令即可:
ethtool --offload eth0 tx off