Skip to content

virtio-net regression for aarch64 guests

Host environment

  • Operating system: Pop! OS 22.04 LTS
  • OS/kernel version: Linux 6.9.3
  • Architecture: x86
  • QEMU flavor: qemu-system-aarch64
  • QEMU version: 9.2
  • QEMU command line: qemu-system-aarch64 -kernel kernel-6.12.7 -append "root=/dev/vda1 console=ttyAMA0 ro" -machine type=virt -cpu cortex-a76 -smp cpus=4 -m size=30720 -drive file=lbl.qcow2,index=0,media=disk -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -device virtio-net-device,netdev=net0,mac=aa:bb:cc:dd:ee:01 -nographic

Emulated/Virtualized environment

  • Operating system: Custom Linux
  • OS/kernel version: 6.12.7
  • Architecture: aarch64

Description of problem

The host system is running DHCP via dnsmasq 2.88. QEMU 9.1 works properly and completes DHCP handshake. QEMU 9.2 fails the DHCP handshake after DHCPOFFER with "eth0: checksum failure from 10.2.83.1".

I found by bisecting that the issue was introduced by commit 7987d2be "virtio-net: Copy received header to buffer". Reverting that commit on 9.2.0 corrects the issue.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information