diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-11-22 14:58:24 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-11-24 16:19:35 -0500 |
commit | dd5b4cc71cd09c33e1579cc6d5720656e94e52de (patch) | |
tree | 86a27c86480109d9b6bbedddc083095035fbef2d /include | |
parent | 46090979a55a0dc2cdb3d939f94fa47742108194 (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.h | 4 | ||||
-rw-r--r-- | include/net/mac80211.h | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 91f099556ac1..dd4c43f512e2 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 | */ |
928 | struct cfg80211_ibss_params { | 928 | struct 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 5b0fff2178bb..08e97e5d03fd 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; |