Search Linux Wireless

Re: [PATCH] mac80211: fix rates setup on IBSS merge

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

 



Bruno Randolf a écrit :
On Thursday 25 February 2010 08:56:40 Benoit PAPILLAULT wrote:
Luis R. Rodriguez a écrit :
On Tue, Feb 23, 2010 at 1:51 AM, Bruno Randolf <br1@xxxxxxxxxxx> wrote:
when an IBSS merge happened, the supported rates for the newly added
station were left empty, causing the rate control module to be
initialized with only the basic rates.

also the section of the ibss code which deals with updating supported
rates for an already existing station fails to inform the rate control
module about the new rates. as i don't know how to fix this (minstrel
does not have an update function), i have just added a comment for now.

Signed-off-by: Bruno Randolf <br1@xxxxxxxxxxx>
This seems like a stable fix, if it applies can you please resend with a

Cc: stable@xxxxxxxxxx

on the commit log entry right below your own SOB.

  Luis
Hi Bruno,

I think the root cause is that IBSS neighbor entries are added whenever
we received any packet from a neighbor. However, the supported rates are
only available in the beacon/probe responses. I think one fix is to only
add IBSS neighbors on beacon/probe response reception (and moreover,
beacon/probe responses contains the timestamp that is needed for IBSS
merge).

Basically, I removed the call to ieee80211_ibss_add_sta in
net/mac80211/rx.c.

i think we need to keep that.

it can happen in normal IBSS operation, that we get a data packet from a node which we did not yet receive a beacon from. for example: he might be part of the IBSS, correctly merged and all, but have deferred from sending a beacon the last couple of beacon intervals because some other node sent a beacon first. or we might have missed his beacons due to interference. nevertheless we should try to be able to communicate with him.

also there are many broken implementation out there (prominent example: madwifi) which fail to send beacons at some times. in order to communicate with then we also need to add stations on receiving data packets.

so i think the proper way is to add an update function to the rate control module. (i will try to do that and send in another patch.)

bruno

For 802.11n for instance, only the beacons/probe responses say the sender is 802.11n. If we received a data packets from an unknown node, maybe we could simply do a probe request in order to get its probe response (despite the fact the 802.11 requires that only one node replies to probe request in IBSS, this is impossible to implement in practice). This will overcome if the sender node has not sent beacons for various reason (including shared beaconing).

Just my 2 cents.

Regards,
Benoit
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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