diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-12-23 07:15:38 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-12-28 16:54:58 -0500 |
commit | 8e664fb3fd2b04e3ac5fad7f046000ba54e0e275 (patch) | |
tree | cf811ffed7d7643b72608a5eebd25baffd57fcb3 /include | |
parent | 77c8144ad3ee7fae834e13cb7e83f5b7c8c5329e (diff) |
mac80211: split up and insert custom IEs correctly
Currently, we insert all user-specified IEs before the HT
IE for association, and after the HT IE for probe requests.
For association, that's correct only if the user-specified
IEs are RSN only, incorrect in all other cases including
WPA. Change this to split apart the user-specified IEs in
two places for association: before the HT IE (e.g. RSN),
after the HT IE (generally empty right now I think?) and
after WMM (all other vendor-specific IEs). For probes,
split the IEs in different places to be correct according
to the spec.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/ieee80211.h | 39 |
1 files changed, 30 insertions, 9 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index d62edc7df3ae..aeea282bd2fe 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -1085,12 +1085,12 @@ enum ieee80211_eid { | |||
1085 | WLAN_EID_TIM = 5, | 1085 | WLAN_EID_TIM = 5, |
1086 | WLAN_EID_IBSS_PARAMS = 6, | 1086 | WLAN_EID_IBSS_PARAMS = 6, |
1087 | WLAN_EID_CHALLENGE = 16, | 1087 | WLAN_EID_CHALLENGE = 16, |
1088 | /* 802.11d */ | 1088 | |
1089 | WLAN_EID_COUNTRY = 7, | 1089 | WLAN_EID_COUNTRY = 7, |
1090 | WLAN_EID_HP_PARAMS = 8, | 1090 | WLAN_EID_HP_PARAMS = 8, |
1091 | WLAN_EID_HP_TABLE = 9, | 1091 | WLAN_EID_HP_TABLE = 9, |
1092 | WLAN_EID_REQUEST = 10, | 1092 | WLAN_EID_REQUEST = 10, |
1093 | /* 802.11e */ | 1093 | |
1094 | WLAN_EID_QBSS_LOAD = 11, | 1094 | WLAN_EID_QBSS_LOAD = 11, |
1095 | WLAN_EID_EDCA_PARAM_SET = 12, | 1095 | WLAN_EID_EDCA_PARAM_SET = 12, |
1096 | WLAN_EID_TSPEC = 13, | 1096 | WLAN_EID_TSPEC = 13, |
@@ -1113,7 +1113,7 @@ enum ieee80211_eid { | |||
1113 | WLAN_EID_PREP = 69, | 1113 | WLAN_EID_PREP = 69, |
1114 | WLAN_EID_PERR = 70, | 1114 | WLAN_EID_PERR = 70, |
1115 | WLAN_EID_RANN = 49, /* compatible with FreeBSD */ | 1115 | WLAN_EID_RANN = 49, /* compatible with FreeBSD */ |
1116 | /* 802.11h */ | 1116 | |
1117 | WLAN_EID_PWR_CONSTRAINT = 32, | 1117 | WLAN_EID_PWR_CONSTRAINT = 32, |
1118 | WLAN_EID_PWR_CAPABILITY = 33, | 1118 | WLAN_EID_PWR_CAPABILITY = 33, |
1119 | WLAN_EID_TPC_REQUEST = 34, | 1119 | WLAN_EID_TPC_REQUEST = 34, |
@@ -1124,20 +1124,41 @@ enum ieee80211_eid { | |||
1124 | WLAN_EID_MEASURE_REPORT = 39, | 1124 | WLAN_EID_MEASURE_REPORT = 39, |
1125 | WLAN_EID_QUIET = 40, | 1125 | WLAN_EID_QUIET = 40, |
1126 | WLAN_EID_IBSS_DFS = 41, | 1126 | WLAN_EID_IBSS_DFS = 41, |
1127 | /* 802.11g */ | 1127 | |
1128 | WLAN_EID_ERP_INFO = 42, | 1128 | WLAN_EID_ERP_INFO = 42, |
1129 | WLAN_EID_EXT_SUPP_RATES = 50, | 1129 | WLAN_EID_EXT_SUPP_RATES = 50, |
1130 | /* 802.11n */ | 1130 | |
1131 | WLAN_EID_HT_CAPABILITY = 45, | 1131 | WLAN_EID_HT_CAPABILITY = 45, |
1132 | WLAN_EID_HT_INFORMATION = 61, | 1132 | WLAN_EID_HT_INFORMATION = 61, |
1133 | /* 802.11i */ | 1133 | |
1134 | WLAN_EID_RSN = 48, | 1134 | WLAN_EID_RSN = 48, |
1135 | WLAN_EID_TIMEOUT_INTERVAL = 56, | 1135 | WLAN_EID_MMIE = 76, |
1136 | WLAN_EID_MMIE = 76 /* 802.11w */, | ||
1137 | WLAN_EID_WPA = 221, | 1136 | WLAN_EID_WPA = 221, |
1138 | WLAN_EID_GENERIC = 221, | 1137 | WLAN_EID_GENERIC = 221, |
1139 | WLAN_EID_VENDOR_SPECIFIC = 221, | 1138 | WLAN_EID_VENDOR_SPECIFIC = 221, |
1140 | WLAN_EID_QOS_PARAMETER = 222 | 1139 | WLAN_EID_QOS_PARAMETER = 222, |
1140 | |||
1141 | WLAN_EID_AP_CHAN_REPORT = 51, | ||
1142 | WLAN_EID_NEIGHBOR_REPORT = 52, | ||
1143 | WLAN_EID_RCPI = 53, | ||
1144 | WLAN_EID_BSS_AVG_ACCESS_DELAY = 63, | ||
1145 | WLAN_EID_ANTENNA_INFO = 64, | ||
1146 | WLAN_EID_RSNI = 65, | ||
1147 | WLAN_EID_MEASUREMENT_PILOT_TX_INFO = 66, | ||
1148 | WLAN_EID_BSS_AVAILABLE_CAPACITY = 67, | ||
1149 | WLAN_EID_BSS_AC_ACCESS_DELAY = 68, | ||
1150 | WLAN_EID_RRM_ENABLED_CAPABILITIES = 70, | ||
1151 | WLAN_EID_MULTIPLE_BSSID = 71, | ||
1152 | |||
1153 | WLAN_EID_MOBILITY_DOMAIN = 54, | ||
1154 | WLAN_EID_FAST_BSS_TRANSITION = 55, | ||
1155 | WLAN_EID_TIMEOUT_INTERVAL = 56, | ||
1156 | WLAN_EID_RIC_DATA = 57, | ||
1157 | WLAN_EID_RIC_DESCRIPTOR = 75, | ||
1158 | |||
1159 | WLAN_EID_DSE_REGISTERED_LOCATION = 58, | ||
1160 | WLAN_EID_SUPPORTED_REGULATORY_CLASSES = 59, | ||
1161 | WLAN_EID_EXT_CHANSWITCH_ANN = 60, | ||
1141 | }; | 1162 | }; |
1142 | 1163 | ||
1143 | /* Action category code */ | 1164 | /* Action category code */ |