]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211 default tx_last_beacon false (congestion)
authorTim Harvey <harvey.tim@gmail.com>
Thu, 9 Dec 2010 21:15:45 +0000 (13:15 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 13 Dec 2010 20:23:29 +0000 (15:23 -0500)
commit5433d9d6b25ab73ebda36195aa7e24c45904085b
tree2227e620b444c41398e88d2570fd0838dd856bd3
parent30a5a70767aa3a6af3ed5d2388aba3c71ba9b3cb
mac80211 default tx_last_beacon false (congestion)

The 802.11 spec states that the STA that generated the last Beacon frame shall
be the STA that response to a probe request.  This is important for congestion
reduction when a probe request is received - only 1 node in an adhoc BSS
will transmit a response.  While mac80211 drivers should provide the
tx_last_beacon function to report if they transmitted the last beacon many
do not.  As an attempt to reduce probe response congestion default this
to 0 such that a node not implementing this capability does not contribute
to unnecessary congestion.

In a modern medium sized office environment I see upwards of 100 probe
requests per second received at a given node from various hardware/OS/drivers
doing zeroconf 'active probing' as opposed to passively listening for beacons.
With a modest 10-node adhoc network consisting of drivers that do not implement
this tx_last_beacon feature, I have seen this result in the simultaneous xmit
of probe responses accumulating to 500 probe responses per second because of
collisions which brings the adhoc network to its knees as well as causes
needless congestion.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/driver-ops.h