Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Mar 2009 11:14:05 -0700
From:      Sam Leffler <sam@freebsd.org>
To:        Daniel Eischen <deischen@freebsd.org>
Cc:        "J. Porter Clark" <jpc@porterclark.com>, freebsd-mobile@freebsd.org
Subject:   Re: Switching from wired to wireless getting "network down"
Message-ID:  <49CFBA6D.9070208@freebsd.org>
In-Reply-To: <Pine.GSO.4.64.0903281851000.23196@sea.ntplx.net>
References:  <1238217783.00093348.1238205603@10.7.7.3>	<20090328160858.GA57695@auricle.charter.net>	<49CE51E2.4000807@freebsd.org>	<Pine.GSO.4.64.0903281251230.21952@sea.ntplx.net>	<49CE5B95.1010502@freebsd.org>	<Pine.GSO.4.64.0903281841050.23196@sea.ntplx.net> <Pine.GSO.4.64.0903281851000.23196@sea.ntplx.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Daniel Eischen wrote:
> On Sat, 28 Mar 2009, Daniel Eischen wrote:
>
>> No, there's no PR as far as I can tell.  I'll try and set up a
>> test system to duplicate it again, so I have proper information
>> for a PR.
>>
>> I seem to recall that if wlanX is your primary/first lagg
>> interface, then it uses the MAC address from the underlying
>> interface as lagg's MAC address.  In this case it works,
>> but that's not the usual case 'cause you'd rather use a
>> faster wired interface first if it exists.
>>
>> So this works:
>>
>>  ifconfig lagg0 laggproto failover laggport wlan0 laggport bge0
>>
>> but this doesn't:
>>
>>  ifconfig lagg0 laggproto failover laggport bge0 laggport wlan0
>>
>> In the latter case, lagg only works when bge0 is up.
>
> Also note that lagg(4) still references ath0 in its example instead
> of wlan0.
>
>     # ifconfig em0 up
>     # ifconfig ath0 nwid my_net up
>     # ifconfig lagg0 laggproto failover laggport em0 laggport ath0 \
>             192.168.1.1 netmask 255.255.255.0
>

r190526 makes it possible to do the wired/wireless failover in HEAD.  
The only caveat is you must manually set the mac address of the wireless 
device to match the wired device because lagg's automatic setting of the 
wlanX ifnet doesn't propagate to the underlying device (the way 
if_setlladdr works makes it difficult).  In the mean time you can do:

ifconfig ath0 ether 00:11:22:33:44:55

where the mac address is whatever your wired nic's address is and then 
setup lagg0 using the wlan; e.g.

ifconfig ath0 ether 00:11:22:33:44:55
ifconfig wlan create wlandev ath0 ssid my_net up
ifconfig lagg create laggproto failover laggport em0 laggport wlan0 ...

I also verified it works with WPA.  In fact I tested this on a thinkpad 
in a docking station and it did the right thing just un-docking and 
re-docking.  My only complaint is my ping running during all this lost 
one packet in the transition; not sure where.

    Sam




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49CFBA6D.9070208>