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:
  SERVERS="127.0.0.1"
  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[1] which should be
corrected.

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.

Cheers

Alex

[1] 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)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to