Search Linux Wireless

Re: [PATCH] mac80211: fix alternating-BSSID issue in IBSS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



John W. Linville wrote:
> On Tue, Jul 01, 2008 at 04:48:48PM +0200, Vladimir Koutny wrote:
>> Due to the fact that we (still) keep old BSS information, we can end
>> up switching between 2 or more BSSIDs when in IBSS (these are the
>> BSSIDs of networks with the same name we've seen before, even if they
>> are not around anymore). This switching happens in 30sec intervals
>> (IBSS merge attempt when no active STAs are around).
>>
>> This patch expires old BSS entries after IEEE80211_SCAN_RESULT_EXPIRE
>> seconds (the same time after it will not be reported in scan results)
>> when trying to merge.
>>
>> Signed-off-by: Vladimir Koutny <vlado@xxxxxx>
> 
> This seems like a good thing to do, but the sta_bss_list is used in STA
> mode too.  Perhaps we should find a time to run ieee80211_bss_expire
> in STA mode as well?

Yes, probably. Any suggestions for a suitable place? (I'm not that
familiar with the code..) It should probably be done on some timer (and
probably also right before we try to associate?)..


>> +static void ieee80211_bss_expire(struct net_device *dev, unsigned long exp_time)
> 
> You probably want this positioned before (or
> after?) ieee80211_rx_bss_free, and change the name to match.

OK, moved and renamed to ieee80211_rx_bss_expire.


>> @@ -3662,8 +3662,10 @@ static int ieee80211_sta_find_ibss(struct net_device *dev,
>>  	spin_unlock_bh(&local->sta_bss_lock);
>>
>>  #ifdef CONFIG_MAC80211_IBSS_DEBUG
>> -	printk(KERN_DEBUG "   sta_find_ibss: selected %s current "
>> -	       "%s\n", print_mac(mac, bssid), print_mac(mac2, ifsta->bssid));
>> +	if (found)
>> +		printk(KERN_DEBUG "   sta_find_ibss: selected %s current "
>> +		       "%s\n", print_mac(mac, bssid),
>> +		       print_mac(mac2, ifsta->bssid));
>>  #endif /* CONFIG_MAC80211_IBSS_DEBUG */
>>  	if (found && memcmp(ifsta->bssid, bssid, ETH_ALEN) != 0 &&
>>  	    (bss = ieee80211_rx_bss_get(dev, bssid,
> 
> Should the last hunk be a different patch?

Oops - I've found this out at the same time I was doing the rest and
I kept it in the same patch.. I'll split this.

Vladimir

> 
> John


Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux