
On 10/24/24 12:36 PM, Daniel P. Berrangé wrote:
[...]
AFAIR, it isn't actually a bug with virtio-net usage as this last bit suggests. Rather it is a result of feature negotiation with QEMU on the host, whereby the guest & QEMU mutually agree to turn off checksums because they are redundant when the "link" is just local memory not a physical cable.
IOW, packets don't arrive in the guest with a bad checksum. They arrive in the guest with no checksum *as requested* by the guest.
The DHCP client decides this is a bad checksum, as it wasn't aware of the checksum offload usage.
[...]
....and in Fedora/RHEL context it was fixed 18 years ago, as we first hit this when working on Xen integration in 2006 :-)
A few quick tests proved that it was the same old "bad checksum" problem from 2010 come back to haunt us.
2006 :-)
Interesting - so my origin story is at least partially a false memory :-/ But if you had this problem with Xen in 2006, how was it fixed then (and why was it a surprised when it came up again in 2010 after vhost processing was turned on? Or maybe it wasn't a surprise, and I just thought so because I wasn't around in 2006 :-) (The commit adding --checksum-fill rules to libvirt was fd5b15ff1, from July 2010)