Subject: dhclient problem with multiple interfaces?
To: None <netbsd-users@netbsd.org>
From: Steven M. Bellovin <smb@cs.columbia.edu>
List: netbsd-users
Date: 04/06/2006 18:15:07
My laptop has both wired and wireless interfaces.  I wonder if there's
a problem when both interfaces are enabled, but only one responds.
I've seen things like this a fair number of times; this is the only
time for which I have data.

I had a wired port lease that was an hour long, but I was disconnected
from that cable.  The wireless lease was about 30 minutes, and expiring
at almost the exact same time.

I ran dhclient with -d.

It tried 'DHCPDISCOVER' for both interfaces; of course, nothing
happened on the wired port, but the wireless interface got a lease.
After a few more DHCPDISCOVERs on the wired side, it noted that it
couldn't get a new lease, and tried a recorded one.  It then did lots
of DHCPREQUESTs for that address, first to the DHCP server's address
and then to 255.255.255.255

About the time that both leases would expire, I saw this:

ifconfig: SIOCDIFADDR: Can't assign requested address
DHCPDISCOVER on wm0 to 255.255.255.255 port 67 interval 14

Approximately simultaneously, the default route on the wireless
interface went away.

My hypothesis is that it finally gave up on the wired side, but --
since it thought it had a valid recorded lease -- decided it had to
delete it, including deleting that default route.  Is that plausible?  
dhclient-script does

        for router in $old_routers; do 
                route delete default $router
        done >/dev/null 2>&1

What is the value of $old_routers at that point?


		--Steven M. Bellovin, http://www.cs.columbia.edu/~smb