diff options
author | Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de> | 2012-01-28 11:25:32 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-01-30 15:48:25 -0500 |
commit | 24db78c05b1e3ccb5a78aedd17aa1008c91dab5a (patch) | |
tree | f41babc8ada871a26619be23f983121ad557da91 /include | |
parent | d273bb20c00340748e3ca9730f87524ec5abbd64 (diff) |
nl80211: add support for mcs masks
Allow to set mcs masks through nl80211. We also allow to set MCS
rates but no legacy rates (and vice versa).
Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nl80211.h | 4 | ||||
-rw-r--r-- | include/net/cfg80211.h | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index 4f98fae13307..ad56e21a9f10 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -1475,6 +1475,7 @@ enum nl80211_attrs { | |||
1475 | #define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS | 1475 | #define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS |
1476 | 1476 | ||
1477 | #define NL80211_MAX_SUPP_RATES 32 | 1477 | #define NL80211_MAX_SUPP_RATES 32 |
1478 | #define NL80211_MAX_SUPP_HT_RATES 77 | ||
1478 | #define NL80211_MAX_SUPP_REG_RULES 32 | 1479 | #define NL80211_MAX_SUPP_REG_RULES 32 |
1479 | #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 | 1480 | #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 |
1480 | #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 | 1481 | #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 |
@@ -2405,12 +2406,15 @@ enum nl80211_key_attributes { | |||
2405 | * in an array of rates as defined in IEEE 802.11 7.3.2.2 (u8 values with | 2406 | * in an array of rates as defined in IEEE 802.11 7.3.2.2 (u8 values with |
2406 | * 1 = 500 kbps) but without the IE length restriction (at most | 2407 | * 1 = 500 kbps) but without the IE length restriction (at most |
2407 | * %NL80211_MAX_SUPP_RATES in a single array). | 2408 | * %NL80211_MAX_SUPP_RATES in a single array). |
2409 | * @NL80211_TXRATE_MCS: HT (MCS) rates allowed for TX rate selection | ||
2410 | * in an array of MCS numbers. | ||
2408 | * @__NL80211_TXRATE_AFTER_LAST: internal | 2411 | * @__NL80211_TXRATE_AFTER_LAST: internal |
2409 | * @NL80211_TXRATE_MAX: highest TX rate attribute | 2412 | * @NL80211_TXRATE_MAX: highest TX rate attribute |
2410 | */ | 2413 | */ |
2411 | enum nl80211_tx_rate_attributes { | 2414 | enum nl80211_tx_rate_attributes { |
2412 | __NL80211_TXRATE_INVALID, | 2415 | __NL80211_TXRATE_INVALID, |
2413 | NL80211_TXRATE_LEGACY, | 2416 | NL80211_TXRATE_LEGACY, |
2417 | NL80211_TXRATE_MCS, | ||
2414 | 2418 | ||
2415 | /* keep last */ | 2419 | /* keep last */ |
2416 | __NL80211_TXRATE_AFTER_LAST, | 2420 | __NL80211_TXRATE_AFTER_LAST, |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 5bb3ed4f99f5..2964205332f4 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -1232,8 +1232,7 @@ enum wiphy_params_flags { | |||
1232 | struct cfg80211_bitrate_mask { | 1232 | struct cfg80211_bitrate_mask { |
1233 | struct { | 1233 | struct { |
1234 | u32 legacy; | 1234 | u32 legacy; |
1235 | /* TODO: add support for masking MCS rates; e.g.: */ | 1235 | u8 mcs[IEEE80211_HT_MCS_MASK_LEN]; |
1236 | /* u8 mcs[IEEE80211_HT_MCS_MASK_LEN]; */ | ||
1237 | } control[IEEE80211_NUM_BANDS]; | 1236 | } control[IEEE80211_NUM_BANDS]; |
1238 | }; | 1237 | }; |
1239 | /** | 1238 | /** |