Univention Bugzilla – Bug 33160
qemu/kvm+virtio: bad udp checksums for dhcpd
Last modified: 2018-04-13 13:40:20 CEST
KVM 1: Windows 7 with VirtIO NIC KVM 2: UCS-3.2 dhcpd with 2 VirtIO NICs The Windows VM does not get a DHCP lease from the UCS system. tcpdump on the host and on the UCS systems shows the DHCP requests arriving on UDP port bootps, but dhcpd logs an error message: > 5 bad udp checksums in 5 packets The issue is described for example in <https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/930962>: The VirtIO-NIC offers offload capabilities for computing TCP/UDP checksums, so the OS does not compute the checksum itself and leaves this task to the NIC. Since both VMs are running on the same host, the host just copies the packets without calculating the checksums too. The packets arrive on the destination host without the checksums never ever been calculated. dhcpd then complains about that. > iptables -A POSTROUTING -t mangle -p udp --dport bootpc -j CHECKSUM --checksum-fill is not available for our kernel 3.10 and our iptables-1.4.8-3.16.201104210219. Debian: unfixed <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717215> Fedora patch: <http://pkgs.fedoraproject.org/gitweb/?p=dhcp.git;a=blob;f=dhcp-4.2.2-xen-checksum.patch;h=038d346d726e131f1ab2579fe015a72b49733a0d;hb=HEAD> Workaround 1: Use e1000 instead of virtio Workaround 2: Disable checksum offloading: On Windows: Netzwerk und Internet → Netzwerk- und Freigabecenter → LAN-Verbindung → Eigenschaften → Konfigurieren → Erweitert → IPv4 Checksum Offload: Disabled Offload.Rx.Checksum: Disabled Offload.Tx.Checksum: Disabled TCP Checksum Offload (IPv4): Disabled UDP Checksum Offload (IPv4): Disabled On UCS: ucr set repository/online/unmaintaned=yes univention-install ethtool ethtool -K eth1 tx off
This happened again in the UCS Technical Training today.
This also happens with Xen and GPLPV-0.11.372; Workaround 2 for Xen: Disable checksum offloading: On Windows: Netzwerk und Internet → Netzwerk- und Freigabecenter → LAN-Verbindung → Eigenschaften → Konfigurieren → Erweitert → Checksum Offload: Disabled
Reported at 2015021921000377
Reported again: http://forum.univention.de/viewtopic.php?f=43&t=3943 Possible solution: https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/930962 Please review and (if possible) backport to ucs4, Thanks and regards Lutz Willek
Happened again with our OpenStack setup.
Hopefully fixed by v4_3_2b1~31 (Debian-Stretch) - thanks to Daniel
Fixed in UCS-4.3.