Wind River Support Network

HomeDefectsLIN6-9688
Fixed

LIN6-9688 : dhclient-script deconfigures interface when reason=TIMEOUT

Created: Apr 8, 2015    Updated: Dec 3, 2018
Resolved Date: Jun 17, 2015
Found In Version: 6.0.0.13
Fix Version: 6.0.0.22
Severity: Standard
Applicable for: Wind River Linux 6
Component/s: Networking

Description

There is a bug in the /sbin/dhclient-script which is part of the dhcp-client package.  The bug is that if the dhclient binary experiences a timeout on a dhcp query it invokes the /sbin/dhclient-script with reason=TIMEOUT.  The script then does a "ifconfig $interface inet 0 down" which disables the interface completely.   

Nothing brings the interface back up so subsequent attempts by dhclient to send out dhcp queries all fail with -ENETDOWN.   

We tracked this down to a debian bug report in 2002 which was addressed by changing the "ifconfig $interface inet 0 down" to simply "ifconfig $interface inet 0" which only flushes addresses instead of disabling the interface completely.  

When we fixed the issue locally in our own layer we noticed that there were other cases of disabling the interface completely (i.e., not just the TIMEOUT case).   We looked at the latest upstream version to find out if they had noticed and fixed the same (other) issues.  They have since rewritten the /sbin/dhclient-script so it looks quite different but they did in fact change all other cases to simply flush addresses instead of disabling the interface.  So, we did the same in our layer.   WRL should probably upversion to a newer version of the dhcp packages to pickup the latest functionality.

The debian bug report is:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=144666

Steps to Reproduce

1.  Disable the dhcp server (to force a timeout)
2.  Reboot the target 
3.  Observe that /var/log/daemon.log reports that dhclient has timed out on the dhcp request and that the interface is now down.
4.  Re-enable the dhcp server
5.  Observe that the dhclient is unable to reach the dhcp server

... apply the fix and reproduce from step1.  this time observe that the dhclient is able acquire an IP address once the dhcp server is re-enabled.

Other Downloads


Live chat
Online