Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 175133 - dhcpcd-3 drops DHCP_INFORM support
Summary: dhcpcd-3 drops DHCP_INFORM support
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Roy Marples (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-18 19:10 UTC by Todd Roberto
Modified: 2007-05-12 22:46 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
added a state to client.c for inform (dhcpcd.diff,1.81 KB, patch)
2007-04-18 19:12 UTC, Todd Roberto
Details | Diff
/var/log/messages for dhcpcd-2.0.5-r1, dhcpcd-3.0.17, and patch (log.txt,4.03 KB, text/plain)
2007-04-18 19:24 UTC, Todd Roberto
Details
wireshark trace of dhcpcd-3.0.17 dhcp_request. (failed.wireshark,3.28 KB, application/wireshark)
2007-04-19 20:52 UTC, Todd Roberto
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Todd Roberto 2007-04-18 19:10:36 UTC
dhcpcd-2 used DHCP_INFORM to receive dhcp info and claim address.
dhcpcd-3 uses DHCP_REQUEST which is NAK'd by my router (linksys: linux w/dnsmasq).
Have looked through the working and non-working code, supplying a patch.  It works for me but I admit I haven't read all the involved RFCs. I tried to make the patch as small as possible, but may not have captured the error paths well.
I updated the router firmware, no change.
I have three systems, same issue, x86 and x86_64.

always occurs: with Linksys router, 2.6.20 kernels, >=dhcp-3.0.11 -s dotted.addr
Comment 1 Todd Roberto 2007-04-18 19:12:32 UTC
Created attachment 116663 [details, diff]
added a state to client.c for inform
Comment 2 Todd Roberto 2007-04-18 19:24:15 UTC
Created attachment 116665 [details]
/var/log/messages for dhcpcd-2.0.5-r1, dhcpcd-3.0.17, and patch

this is the output from each of {dhcpcd-2.0.5-r1,dhcpcd-3.0.17,dhcpcd-patch} with the -d option enabled.  The -t option was not constant, but did not affect this behavior.
Comment 3 Roy Marples (RETIRED) gentoo-dev 2007-04-18 20:25:02 UTC
dhcpcd-1 and 2 usage of DHCP_INFORM was questionable to say the least.

DHCP_INFORM is a mechanism to get configuration information from a DHCP server. It does nothing with the address whatsoever. It does not reserve it, lease it or even check to see if it is valid or not.

DHCP_INFORM messages may be possible with dhcpcd-3.1, but purely to return information to the client and optionally configure the client (except for ip address).

Do other dhcp clients work? For example pump, udhcpc or dhclient?
Can you attach wireshark traces of the dhcp requests?
Comment 4 Todd Roberto 2007-04-19 20:52:49 UTC
Created attachment 116762 [details]
wireshark trace of dhcpcd-3.0.17 dhcp_request.

a trace with -s 192.168.1.69, an address outside the range managed by the dhcp server.  The expected behavior is to set-up eth0 with the address and set the resolv.conf DNS parameters.  I've used this method because I've had problems resolving the DNS parameters when setting the static address in net. I have no DNS services on my home network, I use the servers set by my ISP.
Comment 5 Roy Marples (RETIRED) gentoo-dev 2007-05-11 11:04:59 UTC
I'm looking at putting DHCP_INFORM support into dhcpcd-3.1 now, but out of curiosity, do you know what dnsmasq version you run on your linksys?
Comment 6 Roy Marples (RETIRED) gentoo-dev 2007-05-11 17:18:14 UTC
I've put a 3.1_pre1 tarball up here.
http://dev.gentoo.org/~uberlord/dhcpcd-3.1.0_pre1.tar.bz2

Does that work for you? You have to do this now.

dhcpcd -Ss192.168.1.69 eth0

Or if eth0 already has the address, you just have to do this

dhcpcd -S eth0
Comment 7 Todd Roberto 2007-05-12 22:46:42 UTC
http://dev.gentoo.org/~uberlord/dhcpcd-3.1.0_pre1.tar.bz2 works for me.