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

Stefan Bader stefan.bader at canonical.com
Wed Aug 8 16:35:09 UTC 2012


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.

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.
- There has been a kernel change that allows to check the checksum status
  ([PACKET]: Add optional checksum computation for recvmsg). This has been in
  the kernel since 2.6.26.
- The isc-dhcp code needs to be updated to use this new interface. It seems that the
   patch from Fedora was added about a year ago but would still apply to the latest
   Debian package. Whether it never was attempted to forward this to the isc-dhcp
   project, or whether it was rejected for some reason, I don't know.

I am working on updates for the Quantal and Precise packages (Lucid
should follow but that needs a bit more work to apply the patch). But
then we also should investigate why this is not upstream or at least in
Debian.

** Changed in: isc-dhcp (Ubuntu)
   Importance: Undecided => Medium

** Changed in: isc-dhcp (Ubuntu)
     Assignee: (unassigned) => Stefan Bader (stefan-bader-canonical)

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