Chelsio (cxgbe) VF on FreeBSD guest under KVM requires -rxcsum
Date: Fri, 26 Sep 2025 00:58:12 UTC
Hi- Not sure if this is a known issue or even an issue on the FreeBSD side but decided to ask here first. I’m happy to put in a bug report if appropriate. I have a hypervisor machine running Arch Linux with KVM, Qemu and libvirtd. The machine has a Chelsio T520-CR adapter. I recently began passing through virtual functions of the NIC to several of the guests I run on the hypervisor. One of the guests runs Windows 11, and the change was seamless. Two of the guests are running FreeBSD (14.3 or so). On each of them the VFs were readily identified and configured (using DHCP in one case), and ping and ARP appeared to work fine. However, TCP and UDP traffic to the guests never received a response. After some head-scratching and troubleshooting I discovered that running “ifconfig cxlv0 -rxcsum” immediately allowed traffic to flow as expected. As workarounds go that isn’t terrible, but I was surprised that the FreeBSD guests required this adjustment while the Windows one did not. As a point of reference I have another hypervisor machine that runs FreeBSD 14-STABLE. It also has a Chelsio T520-CR adapter. FreeBSD guests on that machine do not require “-rxcsum” in order to use the Chelsio virtual functions. Let me know if anyone can shed some light on this. I’m happy to provide additional details or run further tests if needed. Thank you! -John