Slackware 12.1: rc.inet1, dhcpcd and infinite lease times (bug?)
Testing my recent Slackware 12.1 installation I have found this problem:
I connect my PC via ethernet cable to an ADSL router, which provides NAT and DHCP. The router's internal DHCP server was configured with an infinite lease time.
With this setup my Slackware PC system starts ok, gets DHCP configuration from router, and configures network interface. If the connection/cable is permanent everything works fine.
However, when I try to invoke directly the /etc/rc.d/rc.inet1 script with stop / start arguments in sequence, I notice that something is broken, as interface eth0 does not get down after "stop". This causes additional problems if you try to start the interface again: the script seems to believe it is already started and does nothing.
I have investigated /etc/rc.d/rc.inet1 script and it only brings down directly lo interface. In order to bring down my eth0, it calls dhcpcd client with appropriate parameters so that program becomes responsible for bringing eth0 down. That is, /etc/rc.d/rc.inet1 expects dhcpcd to be running.
Investigating a bit further I have realized that dhcpcd (supposed to run as daemon), is no longer running after system start. I have parsed /var/log/messages and found the following:
I have changed the lease time in my router, and the problem has disappeared. Nevertheless, should this behaviour be considered a bug (and may be fixed) in Slackware?
This isn't really a bug per se, as dhcpcd follows the RFC2131 which states this:
So from my understanding, it's not really a bug in Slackware nor dhcpcd, most routers don't provide infinite DHCP addresses.
Here's the full RFC2131: http://www.faqs.org/rfcs/rfc2131.html
|All times are GMT -5. The time now is 04:30 AM.|