Re: dhclient and wpa_supplicant

From: Brooks Davis <brooks_at_one-eyed-alien.net>
Date: Mon, 1 Aug 2005 10:17:38 -0700
On Mon, Aug 01, 2005 at 08:37:11AM -0700, Sam Leffler wrote:
> James Snow wrote:
> >On Fri, Jul 29, 2005 at 06:08:53PM -0700, Sam Leffler wrote:
> >
> >>So the question is what are the outstanding issues with dhclient and 
> >>wpa_supplicant?  I'm mostly concerned with wireless devices but feel 
> >>free to talk about wired interfaces too.  
> >
> >
> >My biggest outstanding complaint is when booting with a wired network
> >and no present wireless network, if dhclient has any recorded leases for
> >the wireless interface, it will attempt to use the most recent one and
> >blows away the default gateway for the wired network. I then have to 
> >manually
> >'netif stop ath0' and 'netif restart em0.'
> 
> This sounds similar to Peter's desire for a priority to use in selecting 
> which interface gets the default route.  I've suggested to him this can 
> be implemented in the dhclient-hooks script or similar.
> 
> >
> >Not sure what the best solution is. Perhaps dhclient needs to be aware
> >of the associated/unassociated status of a wireless interface in the
> >same way that it's aware of the link status of a wired interface?
> 
> It sounds like you want one dhclient process to be aware of what happens 
> in another dhclient process.  In handling global state like the default 
> route and dns this is important but I'm trying to get it out of the 
> dhclient program because it's a policy decision.  Instead I want to see 
> it somewhere that people can override if the default policy isn't right 
> for them.

I have some ideas in this area.  I'm planning to modify dhclient-script
to use rc.conf variables and then start adding additional functionality
including a concept of interface (and maybe network) priorities for
default routes.  This is an area that needs more thinking on.  I'd
personally like to see us find ways to support multiple automatic
configuration methods including the static probing supported by
profile.sh.

> >>If something doesn't work right please try to give steps to reproduce
> >>the problem.
> >
> >
> >In /etc/rc.conf:
> >
> >ifconfig_WIRED="DHCP"
> >ifconfig_WIRELESS="WPA DHCP"
> >
> >Boot once in the presence of a wireless network. Now reboot with a wired
> >network, but no present wireless network. dhclient will obtain a lease
> >for the wired interface, and when dhclient launches on the wireless
> >interface it will time out, use the recorded lease, and clobber the
> >wired default gateway.
> 
> That seems wrong; we'll look into it.

I believe the bug here is that when attached to an interface where
wpa_supplicant is running, but the interface is not associated, dhclient
should wait for association for ten seconds like it does with wired
interfaces and then exit.  At the moment it seems to be confused and
think there's link some times.  It doesn't seem to happen all the time
for me, but I'm not 100% sure of that.  If it is sporadic, I'd tend to
think scan_ssid=1 support might be the culprit.

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

Received on Mon Aug 01 2005 - 15:17:50 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:40 UTC