On 10/29/24 10:51 AM, Laine Stump wrote:
On 10/29/24 9:14 AM, Daniel P. Berrangé wrote:
> On Tue, Oct 29, 2024 at 01:09:00PM +0000, Andrea Bolognani wrote:
>> On Tue, Oct 29, 2024 at 12:46:55PM +0000, Daniel P. Berrangé wrote:
>>> A key difference that is probably relevant is that netbsd is
>>> using an e1000 NIC in QEMU, while openbsd is using a virtio-net
>>> NIC. At least when created by virt-manager.
>>>
>>> AFAIR, QEMU's magic checksum offload only happens for virtio-net,
>>> so presumably our rules are incompatible with non-virtio-net NICs
>>> in someway.
>>
>> Yes, that's it! The GNU/Hurd and Haiku guests are also using e1000,
>> since virtio drivers are not available there; moreover, if I switch a
>> random Linux guest from virtio-net to e1000 I can reproduce the issue
>> there as well.
>
> Incidentally, I think this has crossed the threshold where the cure is
> worse than the disease.
>
> We cannot ship the forthcoming libvirt release with a checksum "fix"
> that breaks all usage of NICs that aren't virtio-net, as that guarantees
> brokeness for all historical OS.
>
> If we can't quickly find a way to improve this, I think we need to
> revert (or disable) the checksum zero'ing fix for this release and
> spend more time investigating it.
I sadly agree :-/ (although I will point out that it's not *all* non-
virtio, since e1000e seems to work). I am leaving the house now, but
will make a patch to either disable or the revert the "fix" when I get
back in a few hours. (I would rather leave it in with a switch or
something so we could continue using standard builds to test things, but
that might take too long and would definitely be too complicated for a
last instant push)
I just sent a revert patch to the list in case someone wants to ACK it.
It was 100% done with "git revert", so no chance for typos.