[Bug 930962] Re: dhcp3-server reports many bad udp checksums to syslog using virtio NIC

Stefan Bader stefan.bader at canonical.com
Thu Aug 9 08:49:51 UTC 2012


On 09.08.2012 10:21, Michal Suchanek wrote:
>> 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.

Then what is your exact setup?

>> - 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.

Yes, it a real card has checksum offloading it would do this in hardware. What I
try to say is that the fact that virtio leaves them incomplete when passed
within the virtual network looks like a deliberate decision there for
performance improvement. And since upstream has added that interface to check
for those incomplete checksums (and specifically mentioning dhcp) makes it clear
that the drivers will not change.

-- 
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