Add 802.11 reason code strings into wpa_supplicant messages
Logs involving IEEE 802.11 Reason Codes output the Reason Code value, but do not provide any explanation of what the value means. This change provides a terse explanation of each Reason Code using the latter part of the reason code #define names. Signed-off-by: Alex Khouderchah <akhouderchah@chromium.org>
This commit is contained in:
parent
5fbefcc64b
commit
cfde99a84b
4 changed files with 82 additions and 7 deletions
|
@ -1315,6 +1315,77 @@ const char * fc2str(u16 fc)
|
|||
}
|
||||
|
||||
|
||||
const char * reason2str(u16 reason)
|
||||
{
|
||||
#define R2S(r) case WLAN_REASON_ ## r: return #r;
|
||||
switch (reason) {
|
||||
R2S(UNSPECIFIED)
|
||||
R2S(PREV_AUTH_NOT_VALID)
|
||||
R2S(DEAUTH_LEAVING)
|
||||
R2S(DISASSOC_DUE_TO_INACTIVITY)
|
||||
R2S(DISASSOC_AP_BUSY)
|
||||
R2S(CLASS2_FRAME_FROM_NONAUTH_STA)
|
||||
R2S(CLASS3_FRAME_FROM_NONASSOC_STA)
|
||||
R2S(DISASSOC_STA_HAS_LEFT)
|
||||
R2S(STA_REQ_ASSOC_WITHOUT_AUTH)
|
||||
R2S(PWR_CAPABILITY_NOT_VALID)
|
||||
R2S(SUPPORTED_CHANNEL_NOT_VALID)
|
||||
R2S(BSS_TRANSITION_DISASSOC)
|
||||
R2S(INVALID_IE)
|
||||
R2S(MICHAEL_MIC_FAILURE)
|
||||
R2S(4WAY_HANDSHAKE_TIMEOUT)
|
||||
R2S(GROUP_KEY_UPDATE_TIMEOUT)
|
||||
R2S(IE_IN_4WAY_DIFFERS)
|
||||
R2S(GROUP_CIPHER_NOT_VALID)
|
||||
R2S(PAIRWISE_CIPHER_NOT_VALID)
|
||||
R2S(AKMP_NOT_VALID)
|
||||
R2S(UNSUPPORTED_RSN_IE_VERSION)
|
||||
R2S(INVALID_RSN_IE_CAPAB)
|
||||
R2S(IEEE_802_1X_AUTH_FAILED)
|
||||
R2S(CIPHER_SUITE_REJECTED)
|
||||
R2S(TDLS_TEARDOWN_UNREACHABLE)
|
||||
R2S(TDLS_TEARDOWN_UNSPECIFIED)
|
||||
R2S(SSP_REQUESTED_DISASSOC)
|
||||
R2S(NO_SSP_ROAMING_AGREEMENT)
|
||||
R2S(BAD_CIPHER_OR_AKM)
|
||||
R2S(NOT_AUTHORIZED_THIS_LOCATION)
|
||||
R2S(SERVICE_CHANGE_PRECLUDES_TS)
|
||||
R2S(UNSPECIFIED_QOS_REASON)
|
||||
R2S(NOT_ENOUGH_BANDWIDTH)
|
||||
R2S(DISASSOC_LOW_ACK)
|
||||
R2S(EXCEEDED_TXOP)
|
||||
R2S(STA_LEAVING)
|
||||
R2S(END_TS_BA_DLS)
|
||||
R2S(UNKNOWN_TS_BA)
|
||||
R2S(TIMEOUT)
|
||||
R2S(PEERKEY_MISMATCH)
|
||||
R2S(AUTHORIZED_ACCESS_LIMIT_REACHED)
|
||||
R2S(EXTERNAL_SERVICE_REQUIREMENTS)
|
||||
R2S(INVALID_FT_ACTION_FRAME_COUNT)
|
||||
R2S(INVALID_PMKID)
|
||||
R2S(INVALID_MDE)
|
||||
R2S(INVALID_FTE)
|
||||
R2S(MESH_PEERING_CANCELLED)
|
||||
R2S(MESH_MAX_PEERS)
|
||||
R2S(MESH_CONFIG_POLICY_VIOLATION)
|
||||
R2S(MESH_CLOSE_RCVD)
|
||||
R2S(MESH_MAX_RETRIES)
|
||||
R2S(MESH_CONFIRM_TIMEOUT)
|
||||
R2S(MESH_INVALID_GTK)
|
||||
R2S(MESH_INCONSISTENT_PARAMS)
|
||||
R2S(MESH_INVALID_SECURITY_CAP)
|
||||
R2S(MESH_PATH_ERROR_NO_PROXY_INFO)
|
||||
R2S(MESH_PATH_ERROR_NO_FORWARDING_INFO)
|
||||
R2S(MESH_PATH_ERROR_DEST_UNREACHABLE)
|
||||
R2S(MAC_ADDRESS_ALREADY_EXISTS_IN_MBSS)
|
||||
R2S(MESH_CHANNEL_SWITCH_REGULATORY_REQ)
|
||||
R2S(MESH_CHANNEL_SWITCH_UNSPECIFIED)
|
||||
}
|
||||
return "UNKNOWN";
|
||||
#undef R2S
|
||||
}
|
||||
|
||||
|
||||
int mb_ies_info_by_ies(struct mb_ies_info *info, const u8 *ies_buf,
|
||||
size_t ies_len)
|
||||
{
|
||||
|
|
|
@ -185,6 +185,7 @@ int mb_ies_info_by_ies(struct mb_ies_info *info, const u8 *ies_buf,
|
|||
struct wpabuf * mb_ies_by_info(struct mb_ies_info *info);
|
||||
|
||||
const char * fc2str(u16 fc);
|
||||
const char * reason2str(u16 reason);
|
||||
|
||||
struct oper_class_map {
|
||||
enum hostapd_hw_mode mode;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue