aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-11-22 14:58:24 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-11-24 16:19:35 -0500
commitdd5b4cc71cd09c33e1579cc6d5720656e94e52de (patch)
tree86a27c86480109d9b6bbedddc083095035fbef2d /include
parent46090979a55a0dc2cdb3d939f94fa47742108194 (diff)
cfg80211/mac80211: improve ad-hoc multicast rate handling
- store the multicast rate as an index instead of the rate value (reduces cpu overhead in a hotpath) - validate the rate values (must match a bitrate in at least one sband) Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/cfg80211.h4
-rw-r--r--include/net/mac80211.h4
2 files changed, 4 insertions, 4 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 91f099556ac..dd4c43f512e 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -923,7 +923,7 @@ struct cfg80211_disassoc_request {
923 * @privacy: this is a protected network, keys will be configured 923 * @privacy: this is a protected network, keys will be configured
924 * after joining 924 * after joining
925 * @basic_rates: bitmap of basic rates to use when creating the IBSS 925 * @basic_rates: bitmap of basic rates to use when creating the IBSS
926 * @mcast_rate: multicast tx rate (in 100 kbps) 926 * @mcast_rate: per-band multicast rate index + 1 (0: disabled)
927 */ 927 */
928struct cfg80211_ibss_params { 928struct cfg80211_ibss_params {
929 u8 *ssid; 929 u8 *ssid;
@@ -935,7 +935,7 @@ struct cfg80211_ibss_params {
935 u32 basic_rates; 935 u32 basic_rates;
936 bool channel_fixed; 936 bool channel_fixed;
937 bool privacy; 937 bool privacy;
938 int mcast_rate; 938 int mcast_rate[IEEE80211_NUM_BANDS];
939}; 939};
940 940
941/** 941/**
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 5b0fff2178b..08e97e5d03f 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -219,7 +219,7 @@ enum ieee80211_bss_change {
219 * @basic_rates: bitmap of basic rates, each bit stands for an 219 * @basic_rates: bitmap of basic rates, each bit stands for an
220 * index into the rate table configured by the driver in 220 * index into the rate table configured by the driver in
221 * the current band. 221 * the current band.
222 * @mcast_rate: multicast rate for AP and Ad-Hoc (in 100 kbps) 222 * @mcast_rate: per-band multicast rate index + 1 (0: disabled)
223 * @bssid: The BSSID for this BSS 223 * @bssid: The BSSID for this BSS
224 * @enable_beacon: whether beaconing should be enabled or not 224 * @enable_beacon: whether beaconing should be enabled or not
225 * @channel_type: Channel type for this BSS -- the hardware might be 225 * @channel_type: Channel type for this BSS -- the hardware might be
@@ -259,7 +259,7 @@ struct ieee80211_bss_conf {
259 u16 assoc_capability; 259 u16 assoc_capability;
260 u64 timestamp; 260 u64 timestamp;
261 u32 basic_rates; 261 u32 basic_rates;
262 u32 mcast_rate; 262 int mcast_rate[IEEE80211_NUM_BANDS];
263 u16 ht_operation_mode; 263 u16 ht_operation_mode;
264 s32 cqm_rssi_thold; 264 s32 cqm_rssi_thold;
265 u32 cqm_rssi_hyst; 265 u32 cqm_rssi_hyst;