Your message dated Wed, 22 Feb 2006 15:50:57 -0800
with message-id <[email protected]>
has caused the Debian Bug report #353161,
regarding dhcp3-relay: udp has incorrect checksum when relaying to self
to be marked as having been forwarded to the upstream software
author(s) [email protected]
(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere. Please contact me immediately.)
Debian bug tracking system administrator
(administrator, Debian Bugs database)
--- Begin Message ---
Re: Bug#353161: dhcp3-relay: udp has incorrect checksum when relaying to self
Wed, 22 Feb 2006 15:50:57 -0800
I recently had a user report this bug with dhcp-relay, reproducible by the
submitter in the latest version.
A packet capture is also available at http://bugs.debian.org/353161
Please maintain the recipient list so that our bug tracking system is kept
in the loop.
On Thu, Feb 16, 2006 at 03:13:46PM +0000, Alexander Clouter wrote:
> Package: dhcp3-relay
> Severity: important
> Running version 3.0.1-2 of dhcp3-relay, I needed to run a development
> DHCP server alongside it. I decided to bind the dhcp server to the
> local loopback interface (lo) and configure dhcp3-relay with:
> INTERFACES="eth0.95 eth0.96 eth0.97"
> OPTIONS="-m discard"
> The packets arrive okay, but when dhcp3-relay passes them on the udp
> checksum that //leaves// on the udp packet is incorrect.
> If you look at the attached packet capture (dhcp-fail.dump) you can see
> the packets coming in okay, but then when dhcp3-relay passes them on the
> udp checksum is corrupt. I first tested with a 127.0.0.1<->127.0.0.1
> setup and when that failed I thought about trying to 'real' public IP's
> incase it was some strange loopback issue. I got the exact same
> problem. :(
> Its only when the source address matches the destination address, it
> seems, that the checksum is incorrect calculated.
> I have attached a capture (dhcp-good.dump) of it behaving correctly when
> its relaying to a non-local dhcp server on another computer.
> Okay, its extremely unlikely that someone would want to run a relay on
> the same machine as the dhcp server it-self but in a development
> environment is saves 'borrowing' another computer; it also points to a
> slight issue in the underlying checksum generator which should be
> Meanwhile the dhcp server keeps filling up the syslog with:
> Feb 16 14:07:07 troll dhcpd: 5 bad udp checksums in 5 packets
> Feb 16 14:07:24 troll dhcpd: 5 bad udp checksums in 5 packets
> Feb 16 14:07:33 troll dhcpd: 5 bad udp checksums in 5 packets
> Feb 16 14:07:53 troll dhcpd: 5 bad udp checksums in 5 packets
> Feb 16 14:08:44 troll dhcpd: 5 bad udp checksums in 5 packets
> Feb 16 14:08:57 troll dhcpd: 5 bad udp checksums in 5 packets
> Feb 16 14:09:23 troll dhcpd: 5 bad udp checksums in 5 packets
> Which is correct, as the checksum is indeed incorrect.
>  I'm assuming that the dhcp relay server opens a raw socket and so
> generates its own udp checksum?
> -- System Information (altered to reflect settings on actual server):
> Debian Release: testing/unstable
> APT prefers stable
> Architecture: i386 (i686)
> Shell: /bin/sh linked to /bin/bash
> Kernel: Linux 2.6.15-ck1
> Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
--- End Message ---