Hi, This bug was reported to us some time ago.
Mike Stroyan has an update at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=459813#21, which suggests what the problem may be (architectural). The entire bug history is at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=459813 Please maintain the Cc in any replies to keep our bug tracking system in the loop. regards Andrew ----- Forwarded message from martin f krafft <[email protected]> ----- Subject: Bug#459813: dhclient unnecessarily brings down interface on lease renew Reply-To: martin f krafft <[email protected]>, [email protected] Resent-From: martin f krafft <[email protected]> Resent-To: [email protected] Resent-CC: [email protected] (Eloy A. Paris) Resent-Date: Tue, 08 Jan 2008 21:15:04 +0000 Resent-Message-ID: <[email protected]> Resent-Sender: [email protected] X-Debian-PR-Message: report 459813 X-Debian-PR-Package: dhcp3-client X-Debian-PR-Keywords: X-Debian-PR-Source: dhcp3 X-Spam-Checker-Version: SpamAssassin 3.1.4-bugs.debian.org_2005_01_02 (2006-07-26) on rietz.debian.org X-Spam-Level: X-Spam-Status: No, score=-13.5 required=4.0 tests=BAYES_00,FORGED_RCVD_HELO, FOURLA,FROMDEVELOPER,HAS_PACKAGE,INFO_TLD,X_DEBBUGS_NO_ACK autolearn=no version=3.1.4-bugs.debian.org_2005_01_02 From: martin f krafft <[email protected]> To: Debian Bug Tracking System <[email protected]> X-Reportbug-Version: 3.39 X-Virus-Scanned: ClamAV 0.92/5443/Tue Jan 8 18:35:47 2008 on seamus.madduck.net X-Virus-Status: Clean Package: dhcp3-client Version: 3.0.6.dfsg-1 Severity: important When dhclient renewed a lease, it *should* call dhclient-script with RENEW. If it failed, it *should* call the script with EXPIRE. However, dhclient calls the script with EXPIRE as soon as the lease expires, issues a PREINIT, and *then* seeks to renew the lease and issues a BOUND event when successful. This is quite stupid as the machine goes offline for a second, and it's also not what the manpages says: The DHCP client has failed to renew its lease or acquire a new one, and the lease has expired. The IP address must be relinquished, and all related parameters should be deleted, as in RENEW and REBIND. I noticed this while developing netconf. Look at its debug output during a normal renew: dhclientProxy_eth0: DEBUG: received pair: ['old_dhcp_server_identifier', '192.168.14.1'] dhclientProxy_eth0: DEBUG: received pair: ['old_dhcp_lease_time', '30'] dhclientProxy_eth0: DEBUG: received pair: ['old_ip_address', '192.168.14.125'] dhclientProxy_eth0: DEBUG: received pair: ['pid', '3106'] dhclientProxy_eth0: DEBUG: received pair: ['old_expiry', '1199826651'] dhclientProxy_eth0: DEBUG: received pair: ['old_broadcast_address', '192.168.14.127'] dhclientProxy_eth0: DEBUG: received pair: ['old_subnet_mask', '255.255.255.128'] dhclientProxy_eth0: DEBUG: received pair: ['PATH', '/usr/ucb:/usr/bin:/usr/sbin:/bin:/sbin'] dhclientProxy_eth0: DEBUG: received pair: ['interface', 'eth0'] dhclientProxy_eth0: DEBUG: received pair: ['old_domain_name_servers', '192.168.14.1'] dhclientProxy_eth0: DEBUG: received pair: ['old_domain_name', 'stranger.oerlikon.madduck.net'] dhclientProxy_eth0: DEBUG: received pair: ['old_dhcp_message_type', '5'] dhclientProxy_eth0: DEBUG: received pair: ['old_routers', '192.168.14.1'] dhclientProxy_eth0: DEBUG: received pair: ['reason', 'EXPIRE'] dhclientProxy_eth0: DEBUG: received pair: ['old_filename', '/debian-installer/i386/pxelinux.0'] dhclientProxy_eth0: DEBUG: received pair: ['old_network_number', '192.168.14.0'] dhclientProxy_eth0: DEBUG: received pair: ['old_netbios_name_servers', '192.168.14.1'] dhclientProxy_eth0: DEBUG: processing data received from dhclient... dhclientProxy_eth0: INFO: got EXPIRE/FAIL: removing address from interface eth0 dhclientProxy_eth0: DEBUG: queueing event: <Event id=132 type=IPADDR completed=0 params={'ACTION': 'delete', 'PREFIXLEN': '255.255.255.128', 'IFACE': 'eth0', 'ADDRFAMILY': 'inet', 'ADDRESS': '192.168.14.125'}> MainThread: DEBUG: received event: <Event id=132 type=IPADDR completed=0 params={'ACTION': 'delete', 'PREFIXLEN': '255.255.255.128', 'IFACE': 'eth0', 'ADDRFAMILY': 'inet', 'ADDRESS': '192.168.14.125'}> MainThread: INFO: deleting addresses on interface eth0: inet 192.168.14.125/25 MainThread: DEBUG: received SIGCHLD dhclientProxy_eth0: DEBUG: received pair: ['interface', 'eth0'] dhclientProxy_eth0: DEBUG: received pair: ['PATH', '/usr/ucb:/usr/bin:/usr/sbin:/bin:/sbin'] dhclientProxy_eth0: DEBUG: received pair: ['reason', 'PREINIT'] dhclientProxy_eth0: DEBUG: received pair: ['pid', '3106'] dhclientProxy_eth0: DEBUG: processing data received from dhclient... dhclientProxy_eth0: INFO: got PREINIT: upping interface eth0 dhclientProxy_eth0: DEBUG: queueing event: <Event id=133 type=IPLINK completed=0 params={'LINK_STATE': 'up', 'IFACE': 'eth0'}> MainThread: DEBUG: received event: <Event id=133 type=IPLINK completed=0 params={'LINK_STATE': 'up', 'IFACE': 'eth0'}> MainThread: INFO: bringing interface eth0 up MainThread: DEBUG: received SIGCHLD dhclientProxy_eth0: DEBUG: received pair: ['new_filename', '/debian-installer/i386/pxelinux.0'] dhclientProxy_eth0: DEBUG: received pair: ['pid', '3106'] dhclientProxy_eth0: DEBUG: received pair: ['old_expiry', '1199826651'] dhclientProxy_eth0: DEBUG: received pair: ['new_broadcast_address', '192.168.14.127'] dhclientProxy_eth0: DEBUG: received pair: ['new_domain_name', 'stranger.oerlikon.madduck.net'] dhclientProxy_eth0: DEBUG: received pair: ['PATH', '/usr/ucb:/usr/bin:/usr/sbin:/bin:/sbin'] dhclientProxy_eth0: DEBUG: received pair: ['new_dhcp_lease_time', '30'] dhclientProxy_eth0: DEBUG: received pair: ['old_filename', '/debian-installer/i386/pxelinux.0'] dhclientProxy_eth0: DEBUG: received pair: ['new_dhcp_server_identifier', '192.168.14.1'] dhclientProxy_eth0: DEBUG: received pair: ['new_domain_name_servers', '192.168.14.1'] dhclientProxy_eth0: DEBUG: received pair: ['new_network_number', '192.168.14.0'] dhclientProxy_eth0: DEBUG: received pair: ['old_dhcp_message_type', '5'] dhclientProxy_eth0: DEBUG: received pair: ['new_routers', '192.168.14.1'] dhclientProxy_eth0: DEBUG: received pair: ['new_dhcp_message_type', '5'] dhclientProxy_eth0: DEBUG: received pair: ['new_netbios_name_servers', '192.168.14.1'] dhclientProxy_eth0: DEBUG: received pair: ['new_ip_address', '192.168.14.125'] dhclientProxy_eth0: DEBUG: received pair: ['old_netbios_name_servers', '192.168.14.1'] dhclientProxy_eth0: DEBUG: received pair: ['old_dhcp_lease_time', '30'] dhclientProxy_eth0: DEBUG: received pair: ['new_expiry', '1199826682'] dhclientProxy_eth0: DEBUG: received pair: ['old_broadcast_address', '192.168.14.127'] dhclientProxy_eth0: DEBUG: received pair: ['new_subnet_mask', '255.255.255.128'] dhclientProxy_eth0: DEBUG: received pair: ['old_routers', '192.168.14.1'] dhclientProxy_eth0: DEBUG: received pair: ['interface', 'eth0'] dhclientProxy_eth0: DEBUG: received pair: ['old_network_number', '192.168.14.0'] dhclientProxy_eth0: DEBUG: received pair: ['old_dhcp_server_identifier', '192.168.14.1'] dhclientProxy_eth0: DEBUG: received pair: ['reason', 'BOUND'] dhclientProxy_eth0: DEBUG: received pair: ['old_subnet_mask', '255.255.255.128'] dhclientProxy_eth0: DEBUG: received pair: ['old_domain_name_servers', '192.168.14.1'] dhclientProxy_eth0: DEBUG: received pair: ['old_domain_name', 'stranger.oerlikon.madduck.net'] dhclientProxy_eth0: DEBUG: received pair: ['old_ip_address', '192.168.14.125'] dhclientProxy_eth0: DEBUG: processing data received from dhclient... dhclientProxy_eth0: INFO: got BOUND/REBOOT: configuring interface %s eth0 dhclientProxy_eth0: DEBUG: queueing event: <Event id=134 type=IPADDR completed=0 params={'ACTION': 'set', 'PREFIXLEN': '255.255.255.128', 'IFACE': 'eth0', 'ADDRFAMILY': 'inet', 'ADDRESS': '192.168.14.125'}> MainThread: DEBUG: received event: <Event id=134 type=IPADDR completed=0 params={'ACTION': 'set', 'PREFIXLEN': '255.255.255.128', 'IFACE': 'eth0', 'ADDRFAMILY': 'inet', 'ADDRESS': '192.168.14.125'}> MainThread: INFO: seting addresses on interface eth0: inet 192.168.14.125/25 MainThread: DEBUG: received SIGCHLD -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.23-1-amd64 (SMP w/1 CPU core) Locale: LANG=en_GB, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages dhcp3-client depends on: ii debconf [debconf-2.0] 1.5.17 Debian configuration management sy ii debianutils 2.28.2 Miscellaneous utilities specific t ii dhcp3-common 3.0.6.dfsg-1 common files used by all the dhcp3 ii libc6 2.7-5 GNU C Library: Shared libraries dhcp3-client recommends no packages. -- debconf information: dhcp3-client/dhclient-needs-restarting: * dhcp3-client/dhclient-script_moved: -- .''`. martin f. krafft <[email protected]> : :' : proud Debian developer, author, administrator, and user `. `'` http://people.debian.org/~madduck - http://debiansystem.info `- Debian - when you have better things to do than fixing systems ----- End forwarded message -----
signature.asc
Description: Digital signature

