diff options
Diffstat (limited to 'include/linux/ieee80211.h')
-rw-r--r-- | include/linux/ieee80211.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index 2d1c6117d92c..b2eee5879883 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -884,6 +884,15 @@ struct ieee80211_ht_cap { | |||
884 | #define IEEE80211_HT_CAP_40MHZ_INTOLERANT 0x4000 | 884 | #define IEEE80211_HT_CAP_40MHZ_INTOLERANT 0x4000 |
885 | #define IEEE80211_HT_CAP_LSIG_TXOP_PROT 0x8000 | 885 | #define IEEE80211_HT_CAP_LSIG_TXOP_PROT 0x8000 |
886 | 886 | ||
887 | /* 802.11n HT extended capabilities masks (for extended_ht_cap_info) */ | ||
888 | #define IEEE80211_HT_EXT_CAP_PCO 0x0001 | ||
889 | #define IEEE80211_HT_EXT_CAP_PCO_TIME 0x0006 | ||
890 | #define IEEE80211_HT_EXT_CAP_PCO_TIME_SHIFT 1 | ||
891 | #define IEEE80211_HT_EXT_CAP_MCS_FB 0x0300 | ||
892 | #define IEEE80211_HT_EXT_CAP_MCS_FB_SHIFT 8 | ||
893 | #define IEEE80211_HT_EXT_CAP_HTC_SUP 0x0400 | ||
894 | #define IEEE80211_HT_EXT_CAP_RD_RESPONDER 0x0800 | ||
895 | |||
887 | /* 802.11n HT capability AMPDU settings (for ampdu_params_info) */ | 896 | /* 802.11n HT capability AMPDU settings (for ampdu_params_info) */ |
888 | #define IEEE80211_HT_AMPDU_PARM_FACTOR 0x03 | 897 | #define IEEE80211_HT_AMPDU_PARM_FACTOR 0x03 |
889 | #define IEEE80211_HT_AMPDU_PARM_DENSITY 0x1C | 898 | #define IEEE80211_HT_AMPDU_PARM_DENSITY 0x1C |
@@ -993,6 +1002,11 @@ struct ieee80211_ht_info { | |||
993 | 1002 | ||
994 | #define WLAN_CAPABILITY_ESS (1<<0) | 1003 | #define WLAN_CAPABILITY_ESS (1<<0) |
995 | #define WLAN_CAPABILITY_IBSS (1<<1) | 1004 | #define WLAN_CAPABILITY_IBSS (1<<1) |
1005 | |||
1006 | /* A mesh STA sets the ESS and IBSS capability bits to zero */ | ||
1007 | #define WLAN_CAPABILITY_IS_MBSS(cap) \ | ||
1008 | (!((cap) & (WLAN_CAPABILITY_ESS | WLAN_CAPABILITY_IBSS))) | ||
1009 | |||
996 | #define WLAN_CAPABILITY_CF_POLLABLE (1<<2) | 1010 | #define WLAN_CAPABILITY_CF_POLLABLE (1<<2) |
997 | #define WLAN_CAPABILITY_CF_POLL_REQUEST (1<<3) | 1011 | #define WLAN_CAPABILITY_CF_POLL_REQUEST (1<<3) |
998 | #define WLAN_CAPABILITY_PRIVACY (1<<4) | 1012 | #define WLAN_CAPABILITY_PRIVACY (1<<4) |
@@ -1252,9 +1266,8 @@ enum ieee80211_category { | |||
1252 | WLAN_CATEGORY_MULTIHOP_ACTION = 14, | 1266 | WLAN_CATEGORY_MULTIHOP_ACTION = 14, |
1253 | WLAN_CATEGORY_SELF_PROTECTED = 15, | 1267 | WLAN_CATEGORY_SELF_PROTECTED = 15, |
1254 | WLAN_CATEGORY_WMM = 17, | 1268 | WLAN_CATEGORY_WMM = 17, |
1255 | /* TODO: remove MESH_PLINK and MESH_PATH_SEL after */ | 1269 | /* TODO: remove MESH_PATH_SEL after mesh is updated |
1256 | /* mesh is updated to current 802.11s draft */ | 1270 | * to current 802.11s draft */ |
1257 | WLAN_CATEGORY_MESH_PLINK = 30, | ||
1258 | WLAN_CATEGORY_MESH_PATH_SEL = 32, | 1271 | WLAN_CATEGORY_MESH_PATH_SEL = 32, |
1259 | WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, | 1272 | WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, |
1260 | WLAN_CATEGORY_VENDOR_SPECIFIC = 127, | 1273 | WLAN_CATEGORY_VENDOR_SPECIFIC = 127, |
@@ -1507,6 +1520,7 @@ static inline bool ieee80211_is_robust_mgmt_frame(struct ieee80211_hdr *hdr) | |||
1507 | category = ((u8 *) hdr) + 24; | 1520 | category = ((u8 *) hdr) + 24; |
1508 | return *category != WLAN_CATEGORY_PUBLIC && | 1521 | return *category != WLAN_CATEGORY_PUBLIC && |
1509 | *category != WLAN_CATEGORY_HT && | 1522 | *category != WLAN_CATEGORY_HT && |
1523 | *category != WLAN_CATEGORY_SELF_PROTECTED && | ||
1510 | *category != WLAN_CATEGORY_VENDOR_SPECIFIC; | 1524 | *category != WLAN_CATEGORY_VENDOR_SPECIFIC; |
1511 | } | 1525 | } |
1512 | 1526 | ||