[Bug 283375] dhclient refuses DHCP offer on FreeBSD 14.1-RELEASE as QEMU/KVM guest with virtio net

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 16 Dec 2024 23:29:07 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283375

            Bug ID: 283375
           Summary: dhclient refuses DHCP offer on FreeBSD 14.1-RELEASE as
                    QEMU/KVM guest with virtio net
           Product: Base System
           Version: 14.2-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: bugs@FreeBSD.org
          Reporter: mharrodine@gmail.com

This is very similar to
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=188990 but that is for Xen
and FreeBSD 10 so I am raising this separately as it affects a different
hypervisor in QEMU/KVM. I am observing this same behaviour since upgrading my
host OS to Fedora 41 hence I believe some change occurred on the Linux side
where the virtio net driver is now doing or at least trying to or advertising
that it does checksum offloads.

Host: Fedora 41 x86_64 fully up to date as at time of writing.
Guest: FreeBSD 14.1-RELEASE-p5 GENERIC amd64

Adding `-rxcsum` as in  `ifconfig_vtnet0="DHCP -rxcsum"` to /etc/rc.conf
resolves the issue.

Error on FreeBSD side when running dhclient before above config change: "5 bad
udp checksums in 5 packets"

I could see offers being made by dnsmasq-dhcp on the Linux side and was very
surprised to tcpdump FreeBSD side and see they were actually received but
ignored. Then found the related bug report.

I have no issue with disabling rx csums on my guest but it concerns me as a fan
of FreeBSD that this is quite a tricky thing to troubleshoot and a lot of
people that might just want to try out FreeBSD might use this very common
network configuration on a Linux box (i.e. guest nat networking) and end up
frustrated that FreeBSD "doesn't work". Having read the other bug report, I
think the solution is not easy
and is beyond my simple sysadmin ways to get involved with (happy to help if I
can though!) but I wanted to report this as I couldn't find an identical report
and it might affect the priority of the issue overall.

-- 
You are receiving this mail because:
You are the assignee for the bug.