xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Sundstrom <sunkan@zappa.cx>
To: xen-devel@lists.xensource.com
Subject: Problems with bad UDP checksums
Date: Wed, 27 Apr 2011 11:02:00 +0200	[thread overview]
Message-ID: <4DB7DB88.1040307@zappa.cx> (raw)

I have just seen this, that I thought was an old problem, show up again..

I noticed it when I let a domU stay on DHCP long enough to try to do a renew, then the
DHCP server started logging about checksum errors:
dhcpd: 5 bad udp checksums in 5 packets

DHCP server is 1:9.6.ESV.R4+dfsg-0+lenny1 so newer DHCP releases may contain workaorunds
allowing these packets..

Since I had this problem years ago when I started with Xen I knew what to test and doing
'ethtool -K eth0 tx off' on the domU fixes the checksumming problem.

I see this behavior between domU's using the same dom0 bridge on the same xen host. And I
have tested between two Debian Squeeze domU's + one domU with 2.6.38 kernel.

Easiest way to reproduce seems to be with DNS (tried hping3 -2 ... but it DID send correct
udp checksums even with tx-checksumming turned on).

Sniffing on a server (not necessarily running a DNS server, but pointed to in the other
domU's resolv.conf):
# tcpdump -nnpvvi eth0 port 53
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
10:41:48.733499 IP (tos 0x0, ttl 64, id 1644, offset 0, flags [DF], proto UDP (17), length 59)
    192.168.20.16.38961 > 192.168.20.96.53: [bad udp cksum 66ce!] 43518+ A?
aoeu.example.com. (31)

Then after doing 'ethtool -K eth0 tx off':
10:42:14.615619 IP (tos 0x0, ttl 64, id 8116, offset 0, flags [DF], proto UDP (17), length 59)
    192.168.20.16.52914 > 192.168.20.96.53: [udp sum ok] 44811+ A? aoeu.example.com. (31)


Regarding the setup it's all on Debian Squeeze (except for the DHCP server I first saw the
issue on).

# xm info
host                   : dom0
release                : 2.6.32-5-xen-amd64
version                : #1 SMP Tue Mar 8 00:01:30 UTC 2011
machine                : x86_64
nr_cpus                : 4
nr_nodes               : 1
cores_per_socket       : 4
threads_per_core       : 1
cpu_mhz                : 3013
hw_caps                :
178bf3ff:efd3fbff:00000000:00001310:00802001:00000000:000037ff:00000000
virt_caps              : hvm
total_memory           : 3965
free_memory            : 674
node_to_cpu            : node0:0-3
node_to_memory         : node0:674
node_to_dma32_mem      : node0:674
max_node_id            : 0
xen_major              : 4
xen_minor              : 0
xen_extra              : .1
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p
hvm-3.0-x86_64
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : unavailable
xen_commandline        : placeholder dom0_mem=512M vga=gfx-1024x768x8
cc_compiler            : gcc version 4.4.5 (Debian 4.4.5-10)
cc_compile_by          : waldi
cc_compile_domain      : debian.org
cc_compile_date        : Wed Jan 12 14:04:06 UTC 2011
xend_config_format     : 4

dom0 kernel:
Linux dom0 2.6.32-5-xen-amd64 #1 SMP Tue Mar 8 00:01:30 UTC 2011 x86_64 GNU/Linux

domU kernel:
Linux domU 2.6.32-5-xen-amd64 #1 SMP Tue Mar 8 00:01:30 UTC 2011 x86_64 GNU/Linux

domU with 2.6.38 vanilla kernel also showing the same problem:
Linux domU-2.6.38 2.6.38 #1 SMP Wed Mar 16 07:19:51 CET 2011 i686 GNU/Linux


After a short discussion on ##xen Pasi asked me to post the details here..
If I can contribute with more information just let me know.
I don't know whether the problem has been in my setup a long time or not, or even if it
persists after a reboot of the xen host. Not doing any reboots right now anyway.


Hope someone understands why this happens (again)..
Thanks for any help and/or information about this.

/Sunkan

                 reply	other threads:[~2011-04-27  9:02 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DB7DB88.1040307@zappa.cx \
    --to=sunkan@zappa.cx \
    --cc=sunkan+lists.xen-devel@zappa.cx \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).