d80211: Switch d80211_mgmt.h to ieee80211.h style definitions
Subsystems (2)
PATCH 1/1 d80211: Switch d80211_mgmt.h to ieee80211.h style definitions
d80211: Switch d80211_mgmt.h to ieee80211.h style definitions
This patch switches a number of defines in d80211_mgmt.h to enums taken from ieee80211.h and makes the corresponding changes in net/d80211.
---
include/net/d80211_mgmt.h | 153 +++++++++++++++++++++++++------------------- net/d80211/ieee80211.c | 2 - net/d80211/ieee80211_sta.c | 50 +++++++------- 3 files changed, 114 insertions(+), 91 deletions(-)
include/net/d80211_mgmt.h +88 -65
@@ -119,77 +119,100 @@ #define WLAN_CAPABILITY_SHORT_SLOT_TIME#define WLAN_CAPABILITY_DSSS_OFDM BIT(13)/* Status codes */ -#define WLAN_STATUS_SUCCESS 0 -#define WLAN_STATUS_UNSPECIFIED_FAILURE 1 -#define WLAN_STATUS_CAPS_UNSUPPORTED 10 -#define WLAN_STATUS_REASSOC_NO_ASSOC 11 -#define WLAN_STATUS_ASSOC_DENIED_UNSPEC 12 -#define WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG 13 -#define WLAN_STATUS_UNKNOWN_AUTH_TRANSACTION 14 -#define WLAN_STATUS_CHALLENGE_FAIL 15 -#define WLAN_STATUS_AUTH_TIMEOUT 16 -#define WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA 17 -#define WLAN_STATUS_ASSOC_DENIED_RATES 18 -/* 802.11b */ -#define WLAN_STATUS_ASSOC_DENIED_NOSHORT 19 -#define WLAN_STATUS_ASSOC_DENIED_NOPBCC 20 -#define WLAN_STATUS_ASSOC_DENIED_NOAGILITY 21 -/* 802.11h */ -#define WLAN_STATUS_SPEC_MGMT_REQUIRED 22 -#define WLAN_STATUS_PWR_CAPABILITY_NOT_VALID 23 -#define WLAN_STATUS_SUPPORTED_CHANNEL_NOT_VALID 24 -/* 802.11g */ -#define WLAN_STATUS_ASSOC_DENOED_NO_SHORT_SLOT_TIME 25 -#define WLAN_STATUS_ASSOC_DENOED_NO_ER_PBCC 26 -#define WLAN_STATUS_ASSOC_DENOED_NO_DSSS_OFDM 27 +enum ieee80211_statuscode { +WLAN_STATUS_SUCCESS =0 , +WLAN_STATUS_UNSPECIFIED_FAILURE =1 , +WLAN_STATUS_CAPS_UNSUPPORTED =10 , +WLAN_STATUS_REASSOC_NO_ASSOC =11 , +WLAN_STATUS_ASSOC_DENIED_UNSPEC =12 , +WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG =13 , +WLAN_STATUS_UNKNOWN_AUTH_TRANSACTION =14 , +WLAN_STATUS_CHALLENGE_FAIL =15 , +WLAN_STATUS_AUTH_TIMEOUT =16 , +WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA =17 , +WLAN_STATUS_ASSOC_DENIED_RATES =18 , +/* 802.11b */ +WLAN_STATUS_ASSOC_DENIED_NOSHORTPREAMBLE =19 , +WLAN_STATUS_ASSOC_DENIED_NOPBCC =20 , +WLAN_STATUS_ASSOC_DENIED_NOAGILITY =21 , +/* 802.11h */ +WLAN_STATUS_ASSOC_DENIED_NOSPECTRUM =22 , +WLAN_STATUS_ASSOC_REJECTED_BAD_POWER =23 , +WLAN_STATUS_ASSOC_REJECTED_BAD_SUPP_CHAN =24 , +/* 802.11g */ +WLAN_STATUS_ASSOC_DENIED_NOSHORTTIME =25 , +WLAN_STATUS_ASSOC_DENIED_NODSSSOFDM =26 , +/* 802.11i */ +WLAN_STATUS_INVALID_IE =40 , +WLAN_STATUS_INVALID_GROUP_CIPHER =41 , +WLAN_STATUS_INVALID_PAIRWISE_CIPHER =42 , +WLAN_STATUS_INVALID_AKMP =43 , +WLAN_STATUS_UNSUPP_RSN_VERSION =44 , +WLAN_STATUS_INVALID_RSN_IE_CAP =45 , +WLAN_STATUS_CIPHER_SUITE_REJECTED =46 , +};/* Reason codes */ -#define WLAN_REASON_UNSPECIFIED 1 -#define WLAN_REASON_PREV_AUTH_NOT_VALID 2 -#define WLAN_REASON_DEAUTH_LEAVING 3 -#define WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY 4 -#define WLAN_REASON_DISASSOC_AP_BUSY 5 -#define WLAN_REASON_CLASS2_FRAME_FROM_NONAUTH_STA 6 -#define WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA 7 -#define WLAN_REASON_DISASSOC_STA_HAS_LEFT 8 -#define WLAN_REASON_STA_REQ_ASSOC_WITHOUT_AUTH 9 -/* 802.11h */ -#define WLAN_REASON_PWR_CAPABILITY_NOT_VALID 10 -#define WLAN_REASON_SUPPORTED_CHANNEL_NOT_VALID 11 - -#define WLAN_REASON_MIC_FAILURE 14 +enum ieee80211_reasoncode { +WLAN_REASON_UNSPECIFIED =1 , +WLAN_REASON_PREV_AUTH_NOT_VALID =2 , +WLAN_REASON_DEAUTH_LEAVING =3 , +WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY =4 , +WLAN_REASON_DISASSOC_AP_BUSY =5 , +WLAN_REASON_CLASS2_FRAME_FROM_NONAUTH_STA =6 , +WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA =7 , +WLAN_REASON_DISASSOC_STA_HAS_LEFT =8 , +WLAN_REASON_STA_REQ_ASSOC_WITHOUT_AUTH =9 , +/* 802.11h */ +WLAN_REASON_DISASSOC_BAD_POWER =10 , +WLAN_REASON_DISASSOC_BAD_SUPP_CHAN =11 , +/* 802.11i */ +WLAN_REASON_INVALID_IE =13 , +WLAN_REASON_MIC_FAILURE =14 , +WLAN_REASON_4WAY_HANDSHAKE_TIMEOUT =15 , +WLAN_REASON_GROUP_KEY_HANDSHAKE_TIMEOUT =16 , +WLAN_REASON_IE_DIFFERENT =17 , +WLAN_REASON_INVALID_GROUP_CIPHER =18 , +WLAN_REASON_INVALID_PAIRWISE_CIPHER =19 , +WLAN_REASON_INVALID_AKMP =20 , +WLAN_REASON_UNSUPP_RSN_VERSION =21 , +WLAN_REASON_INVALID_RSN_IE_CAP =22 , +WLAN_REASON_IEEE8021X_FAILED =23 , +WLAN_REASON_CIPHER_SUITE_REJECTED =24 , +};/* Information Element IDs */ -#define WLAN_EID_SSID 0 -#define WLAN_EID_SUPP_RATES 1 -#define WLAN_EID_FH_PARAMS 2 -#define WLAN_EID_DS_PARAMS 3 -#define WLAN_EID_CF_PARAMS 4 -#define WLAN_EID_TIM 5 -#define WLAN_EID_IBSS_PARAMS 6 -#define WLAN_EID_COUNTRY 7 -#define WLAN_EID_CHALLENGE 16 -/* EIDs defined as part fo 11h - starts */ -#define WLAN_EID_PWR_CONSTRAINT 32 -#define WLAN_EID_PWR_CAPABILITY 33 -#define WLAN_EID_TPC_REQUEST 34 -#define WLAN_EID_TPC_REPORT 35 -#define WLAN_EID_SUPPORTED_CHANNELS 36 -#define WLAN_EID_CHANNEL_SWITCH 37 -#define WLAN_EID_MEASURE_REQUEST 38 -#define WLAN_EID_MEASURE_REPORT 39 -#define WLAN_EID_QUITE 40 -#define WLAN_EID_IBSS_DFS 41 -/* EIDs defined as part fo 11h - ends */ -#define WLAN_EID_ERP_INFO 42 -#define WLAN_EID_RSN 48 -#define WLAN_EID_EXT_SUPP_RATES 50 -#define WLAN_EID_WPA 221 -#define WLAN_EID_GENERIC 221 -#define WLAN_EID_VENDOR_SPECIFIC 221 - +enum ieee80211_mfie { +MFIE_TYPE_SSID =0 , +MFIE_TYPE_RATES =1 , +MFIE_TYPE_FH_SET =2 , +MFIE_TYPE_DS_SET =3 , +MFIE_TYPE_CF_SET =4 , +MFIE_TYPE_TIM =5 , +MFIE_TYPE_IBSS_SET =6 , +MFIE_TYPE_COUNTRY =7 , +MFIE_TYPE_HOP_PARAMS =8 , +MFIE_TYPE_HOP_TABLE =9 , +MFIE_TYPE_REQUEST =10 , +MFIE_TYPE_CHALLENGE =16 , +MFIE_TYPE_POWER_CONSTRAINT =32 , +MFIE_TYPE_POWER_CAPABILITY =33 , +MFIE_TYPE_TPC_REQUEST =34 , +MFIE_TYPE_TPC_REPORT =35 , +MFIE_TYPE_SUPP_CHANNELS =36 , +MFIE_TYPE_CSA =37 , +MFIE_TYPE_MEASURE_REQUEST =38 , +MFIE_TYPE_MEASURE_REPORT =39 , +MFIE_TYPE_QUIET =40 , +MFIE_TYPE_IBSS_DFS =41 , +MFIE_TYPE_ERP_INFO =42 , +MFIE_TYPE_RSN =48 , +MFIE_TYPE_RATES_EX =50 , +MFIE_TYPE_GENERIC =221 , +MFIE_TYPE_QOS_PARAMETER =222 , +};#define ATHEROS_INFO_USEXR BIT(3)
net/d80211/ieee80211.c +1 -1
@@ -1714,7 +1714,7 @@ static void ieee80211_beacon_add_tim(str bss->dtim_count--; tim = pos = (u8 *)skb_put (skb,6 ); - *pos++ =WLAN_EID_TIM ; + *pos++ =MFIE_TYPE_TIM ; *pos++ =4 ; *pos++ = bss->dtim_count; *pos++ = bss->dtim_period;
net/d80211/ieee80211_sta.c +25 -25
164 lines not on this page · raw message
Quoted 8 lines · Michael Wu
d80211: Switch
d80211_mgmt.htoieee80211.hstyle definitionsThis patch switches a number of defines in
d80211_mgmt.hto enums taken fromieee80211.hand makes the corresponding changes in net/d80211.include/net/d80211_mgmt.h | 153 net/d80211/ieee80211.c | 2 - net/d80211/ieee80211_sta.c | 50 +++++++-------
Is this really needed? Based on the changes here, these are mostly used internally in net/d80211/ieee80211_sta.c and not in other parts of the tree. In addition, I would actually like to see ieee80211_sta.c be made mostly obsolete with a user space implementation of client MLME (e.g., the one in wpa_supplicant which is based on this ieee80211_sta.c file).
Changing WLAN_STATUS_* and WLAN_REASON_* to be enum's while keeping their old names is fine. However, I would rather not change the names of the information element IDs (WLAN_EID_*) into MFIE_TYPE_*. What is that 'MFIE' anyway? Management Frame IE? These IEs are not limited to management frames..
In other words, I would skip all the changes into ieee80211_sta.c and would only change d80211_mgmt.h to use enum's with old names.
Signature · 1 line
Jouni Malinen PGP id EFC895FA
Quoted 6 lines · Jouni Malinen
Changing WLAN_STATUS_* and WLAN_REASON_* to be enum's while keeping their old names is fine. However, I would rather not change the names of the information element IDs (WLAN_EID_*) into MFIE_TYPE_*. What is that 'MFIE' anyway? Management Frame IE? These IEs are not limited to management frames..
I agree these names aren't that great, but these changes make it easier for for existing fullmac drivers to switch to the d80211 headers. That is the only reason.
Quoted 2 lines
In other words, I would skip all the changes into
ieee80211_sta.cand would only changed80211_mgmt.hto use enum's with old names.
Sure.
-Michael Wu