netbooted dhclient causes hang when moved to other subnet
To: None <dogcow@redback.com>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: netbsd-bugs
Date: 09/30/2000 14:24:44
On Fri, Sep 29, 2000 at 05:21:51PM -0700, dogcow@redback.com wrote:
>
> >Number: 11102
> >Category: bin
> >Synopsis: <synopsis of the problem (one line>netbooted dhclient causes hang when moved to other subnet
> >Confidential: no
> >Severity: serious
> >Priority: high
> >Responsible: bin-bug-people
> >State: open
> >Class: sw-bug
> >Submitter-Id: net
> >Arrival-Date: Fri Sep 29 17:22:00 PDT 2000
> >Closed-Date:
> >Last-Modified:
> >Originator: Tom Spindler
> >Release: <NetBSD-current source date> 13 Sep 2000
> >Organization:
> Redback Networks
>
> >Environment:
>
> System: NetBSD fartmangler.redback.com 1.5_ALPHA2 NetBSD 1.5_ALPHA2 (NETZUUL) #10: Fri Sep 15 15:34:13 PDT 2000 notroot@zuul.redback.com:/amd/netapp6/netbsd15/nbsrc/sys/arch/i386/compile/NETZUUL i386
>
>
> >Description:
> If you netboot a netbsd machine with root nfs mounted and use
> dhclient to assign the address, dhclient will config your ether
> iface address to be that it finds in /var/db/dhcpd.leases - before
> it gets an ACK that it's the correct address to use. If you've
> previously booted the machine on a different dhcp'ed subnet, the
> lease will contain an address such that the default gateway becomes
> unreachable - and your nfs mount of / will go away and cause the
> boot to hang.
>
> >How-To-Repeat:
> Netboot netbsd machine with / on NFS on one subnet.
> Reassign machine and address to different subnet.
> Boot hangs in dhclient because iface is mis-set and root goes away.
>
> >Fix:
>
> Fix: Don't change the enet iface's address until a succesful ACK from the DHCP
> server.
Hum, I think this should be made optional. If I understood it properly, this
behavior is intentional, to get a working machine even if the DHCP server
is down. WinNT behaves the same way.
DHCP is also used for desktops, as a way to centralise network configs.
--
Manuel Bouyer <bouyer@antioche.eu.org>
--