[Bug 930962] Re: dhcp3-server reports many bad udp checksums to syslog using virtio NIC
Michal Suchanek
hramrach at gmail.com
Thu Aug 9 08:21:14 UTC 2012
On 8 August 2012 18:35, Stefan Bader <stefan.bader at canonical.com> wrote:
> Finally got some time to look into this. As much as my test reproduction
> of this goes it would be not critical in importance because clients seem
> to get an IP address even with those messages showing up.
That's not what I see here, they do not get an IP address.
>
> I can see those bad crc messages in (Quantal, Precise and Lucid those
> just been the ones I set up to try). To summarize my understanding here:
>
> - virtio (and xen netfron) would deliberately leave the checksum incomplete for
> packets between interfaces on the same host because the packet will always
> remain in memory. So calculating a checksum is a waste of time.
No, that's how any network card with checksum offloading behaves. It
may skip copying the checksum because it verified it already, and the
virtio device abuses this interface quirk to never produce any
checksum in the first place. On real network interfaces you can turn
that feature off, and then the checksum is always copied. On virtio
'turning off' would amount to producing a checksum which dhclient can
subsequently check.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to isc-dhcp in Ubuntu.
https://bugs.launchpad.net/bugs/930962
Title:
dhcp3-server reports many bad udp checksums to syslog using virtio NIC
Status in “isc-dhcp” package in Ubuntu:
Confirmed
Bug description:
Tested with dhcp3-server ver. 3.1.3-2ubuntu3.3 in Ubuntu 10.04.3
Server, x64.
The DHCP server reports that UDP packets sent to it have bad
checksums:
Feb 11 06:57:18 ... dhcpd: 5 bad udp checksums in 5 packets
Feb 11 06:58:22 ... dhcpd: last message repeated 7 times
Feb 11 06:59:17 ... dhcpd: last message repeated 7 times
The DHCP server host is a KVM virtual machine using a virtio-based
virtual NIC.
This problem has been reported for other distros using KVM and virtio:
https://bugs.mageia.org/show_bug.cgi?id=1243
http://www.mail-archive.com/kvm@vger.kernel.org/msg41958.html
- suggests using iptables to write in a checksum
http://pkgs.fedoraproject.org/gitweb/?p=dhcp.git;a=blob;f=dhcp-4.2.2-xen-checksum.patch;h=038d346d726e131f1ab2579fe015a72b49733a0d;hb=HEAD
- Fedora patch to dhcp to avoid this
The simplest workaround is to change the virtual NIC type from virtio
to Intel e1000 in KVM. Apparently this driver calculates checksums.
But virtio is the default driver type.
Thanks,
Tim Miller Dyck
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/930962/+subscriptions
More information about the foundations-bugs
mailing list