dhcpcd-discuss

Re: dhcpcd 8.1.7 - fails with checksum failure

roy

Mon Apr 20 23:38:19 2020

Hi Lara

Does the patch at the below URL help this?
https://roy.marples.name/cgit/dhcpcd.git/commit/?h=dhcpcd-8

Let me know!

Roy

Sent from Nine
________________________________
From: lara dtra <dtra.lara@xxxxxxxxx>
Sent: Saturday, 18 April 2020 16:48
To: dhcpcd-discuss@xxxxxxxxxxxx
Subject: dhcpcd 8.1.7 - fails with checksum failure

I have a weird problem with dhcpcd 8.1.7 on one of my computers and I was hoping someone here could help me figure out what is going on.

dhcpcd is provided by the following package for ARM-archlinux (armv5) 
https://archlinuxarm.org/packages/arm/dhcpcd

Since upgrading from dhcpcd 8.1.6, dhcpcd fails to get an address from the router. Logs point to a 'checksum failure' and also mention a totally irrelevant local private network address.

This failure only happens on my ARMv5 NAS. On my x86 computer, dcpcd 8.1.7 works just fine with the same (quite standard) dhcpcd.conf file.

From the command line, and with the debugging option, I get the following unsuccessful exchange with the server:

dhcpcd-8.1.7 starting
udev: starting
dev: loaded udev
eth0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' PREINIT
eth0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' CARRIER
DUID 00:01:00:01:22:3a:02:79:10:7b:ef:88:07:6b
eth0: IAID ef:88:07:6b
eth0: delaying IPv4 for 0.7 seconds
eth0: soliciting a DHCP lease (requesting 192.168.1.109)
eth0: sending DISCOVER (xid 0xae0957cb), next in 4.2 seconds
eth0: checksum failure from 192.168.183.137
eth0: sending DISCOVER (xid 0xae0957cb), next in 7.4 seconds
eth0: checksum failure from 192.168.183.137
eth0: sending DISCOVER (xid 0xae0957cb), next in 15.6 seconds
eth0: checksum failure from 192.168.183.137
eth0: sending DISCOVER (xid 0xae0957cb), next in 31.6 seconds
eth0: checksum failure from 192.168.183.137
timed out
forking to background
forked to background, child pid 26699

The private network address mentioned here (192.168.183.137) doesn't make sense to me.

For reference, with version 8.1.6, I get this:

dhcpcd-8.1.6 starting
udev: starting
dev: loaded udev
eth0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' PREINIT
eth0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' CARRIER
DUID 00:01:00:01:22:3a:02:79:10:7b:ef:88:07:6b
eth0: IAID ef:88:07:6b
eth0: delaying IPv4 for 0.1 seconds
eth0: soliciting a DHCP lease (requesting 192.168.1.109)
eth0: sending DISCOVER (xid 0xafaf3d59), next in 3.8 seconds
eth0: offered 192.168.1.109 from 192.168.1.1
eth0: sending REQUEST (xid 0xafaf3d59), next in 4.1 seconds
eth0: acknowledged 192.168.1.109 from 192.168.1.1
eth0: probing address 192.168.1.109/24
eth0: probing for 192.168.1.109
eth0: ARP probing 192.168.1.109 (1 of 3), next in 1.1 seconds
eth0: ARP probing 192.168.1.109 (2 of 3), next in 1.6 seconds
eth0: ARP probing 192.168.1.109 (3 of 3), next in 2.0 seconds
eth0: DAD completed for 192.168.1.109
eth0: leased 192.168.1.109 for 86400 seconds
eth0: renew in 43200 seconds, rebind in 75600 seconds
eth0: writing lease `/var/lib/dhcpcd/eth0.lease'
eth0: adding IP address 192.168.1.109/24 broadcast 192.168.1.255
eth0: adding route to 192.168.1.0/24
eth0: adding default route via 192.168.1.1
eth0: ARP announcing 192.168.1.109 (1 of 2), next in 2.0 seconds
eth0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' BOUND
forking to background
forked to background, child pid 26064

I also add here tcpdump captures for calls of each version, in case that would help:
- output_tcpdump_dhcp_8.1.6   http://ix.io/2iwz
- output_tcpdump_dhcp_8.1.7   http://ix.io/2iwA



I've posted something on the ARM-Archlinux forum before.
https://archlinuxarm.org/forum/viewtopic.php?f=57&t=14412



References:
dhcpcd 8.1.7 - fails with checksum failurelara dtra
Archive administrator: postmaster@marples.name