linux/net/mac80211
Jouni Malinen e00cfce0cb mac80211: Select lowest rate based on basic rate set in AP mode
If the basic rate set is configured to not include the lowest rate
(e.g., basic rate set = 6, 12, 24 Mbps in IEEE 802.11g mode), the AP
should not send out broadcast frames at 1 Mbps. This type of
configuration can be used to optimize channel usage in cases where
there is no need for backwards compatibility with IEEE 802.11b-only
devices.

In AP mode, mac80211 was unconditionally using the lowest rate for
Beacon frames and similarly, with all rate control algorithms that use
rate_control_send_low(), the lowest rate ended up being used for all
broadcast frames (and all unicast frames that are sent before
association). Change this to take into account the basic rate
configuration in AP mode, i.e., use the lowest rate in the basic rate
set instead of the lowest supported rate when selecting the rate.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-01-12 13:50:09 -05:00
..
aes_ccm.c mac80211: aes_ccm.c remove crypto wrapper and extra args 2008-07-08 14:16:02 -04:00
aes_ccm.h mac80211: pass scratch buffer directly, remove additional pointers 2008-07-08 14:16:02 -04:00
aes_cmac.c mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
aes_cmac.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
agg-rx.c mac80211: trace interface name 2009-12-21 18:38:54 -05:00
agg-tx.c mac80211: quit addba_resp_timer if Tx BA session is torn down 2010-01-12 13:50:08 -05:00
cfg.c mac80211: Add new callback set_coverage_class 2010-01-12 13:50:07 -05:00
cfg.h [MAC80211]: rename ieee80211_cfg.h to cfg.h 2007-10-10 16:52:34 -07:00
debugfs_key.c mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
debugfs_key.h mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
debugfs_netdev.c mac80211: generalise work handling 2009-12-28 16:54:55 -05:00
debugfs_netdev.h mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
debugfs_sta.c mac80211: only bother printing highest data rate on debugfs if its set 2009-12-22 13:56:02 -05:00
debugfs_sta.h mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
debugfs.c mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
debugfs.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
driver-ops.h mac80211: Add new callback set_coverage_class 2010-01-12 13:50:07 -05:00
driver-trace.c mac80211: fix sparse warnings/errors 2009-08-04 16:43:25 -04:00
driver-trace.h mac80211: Add new callback set_coverage_class 2010-01-12 13:50:07 -05:00
event.c cfg80211: use proper allocation flags 2009-07-10 15:01:49 -04:00
ht.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2009-12-28 15:09:11 -05:00
ibss.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2009-12-30 15:25:08 -05:00
ieee80211_i.h mac80211: make off-channel work generic 2009-12-28 16:55:05 -05:00
iface.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-01-06 17:26:13 -05:00
Kconfig mac80211: remove payload alignment warning 2009-12-21 18:56:09 -05:00
key.c mac80211: add ieee80211_sdata_running 2009-12-28 16:54:49 -05:00
key.h mac80211 : fix a race with update_tkip_key 2009-12-22 13:31:14 -05:00
led.c mac80211: rename files 2008-04-08 16:44:45 -04:00
led.h mac80211: rename files 2008-04-08 16:44:45 -04:00
main.c mac80211: No need to include WEXT headers here 2010-01-05 17:13:13 -05:00
Makefile mac80211: Generalize off-channel operation helpers from scan code 2009-12-28 16:55:01 -05:00
mesh_hwmp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2009-12-28 15:09:11 -05:00
mesh_pathtbl.c mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
mesh_plink.c mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
mesh.c mac80211: add ieee80211_sdata_running 2009-12-28 16:54:49 -05:00
mesh.h mac80211: Revert 'Use correct sign for mesh active path refresh' 2009-12-10 16:12:52 -05:00
michael.c mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
michael.h mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
mlme.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-01-06 17:26:13 -05:00
offchannel.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-01-06 17:26:13 -05:00
pm.c mac80211: remove struct ieee80211_if_init_conf 2009-12-28 16:55:07 -05:00
rate.c mac80211: Select lowest rate based on basic rate set in AP mode 2010-01-12 13:50:09 -05:00
rate.h mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
rc80211_minstrel_debugfs.c net: file_operations should be const 2009-09-02 01:03:53 -07:00
rc80211_minstrel.c rc80211_minstrel: fix contention window calculation 2009-09-23 11:35:42 -04:00
rc80211_minstrel.h mac80211: Remove unnused throughput field from minstrel_rate. 2009-08-28 14:40:34 -04:00
rc80211_pid_algo.c rc80211_pid_algo.c: remove unused variable declaration 2009-08-20 11:36:03 -04:00
rc80211_pid_debugfs.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
rc80211_pid.h mac80211/drivers: rewrite the rate control API 2008-10-31 19:00:23 -04:00
rx.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-01-05 17:18:59 -05:00
scan.c Revert "mac80211: replace netif_tx_{start,stop,wake}_all_queues" 2010-01-06 16:16:39 -05:00
spectmgmt.c mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
sta_info.c mac80211/cfg80211: add station events 2009-12-28 16:55:06 -05:00
sta_info.h mac80211: make station management completely depend on vif 2009-12-21 18:38:51 -05:00
status.c mac80211: add ieee80211_sdata_running 2009-12-28 16:54:49 -05:00
tkip.c mac80211 : fix a race with update_tkip_key 2009-12-22 13:31:14 -05:00
tkip.h mac80211: tkip.c consolidate tkip IV writing in helper 2008-06-14 12:18:13 -04:00
tx.c mac80211: Select lowest rate based on basic rate set in AP mode 2010-01-12 13:50:09 -05:00
util.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-01-05 17:18:59 -05:00
wep.c mac80211: trim RX data 2009-11-18 17:09:17 -05:00
wep.h cfg80211: rework key operation 2009-07-24 15:05:09 -04:00
wme.c mac80211: fix-up build breakage in 2.6.33 2010-01-06 15:35:49 -05:00
wme.h mac80211: fix skb buffering issue 2010-01-05 16:21:40 -05:00
work.c mac80211: fix a warning related to pointer conversion to u64 cookie 2010-01-05 17:13:14 -05:00
wpa.c mac80211: trim RX data 2009-11-18 17:09:17 -05:00
wpa.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00