diff options
Diffstat (limited to 'drivers/staging/ks7010/eap_packet.h')
-rw-r--r-- | drivers/staging/ks7010/eap_packet.h | 76 |
1 files changed, 4 insertions, 72 deletions
diff --git a/drivers/staging/ks7010/eap_packet.h b/drivers/staging/ks7010/eap_packet.h index 58c2a3dafca2..1eee774319ad 100644 --- a/drivers/staging/ks7010/eap_packet.h +++ b/drivers/staging/ks7010/eap_packet.h @@ -6,8 +6,6 @@ #include <linux/bitops.h> #include <uapi/linux/if_ether.h> -#define ETHER_HDR_SIZE 20 - struct ether_hdr { unsigned char h_dest[ETH_ALEN]; /* destination eth addr */ unsigned char h_source[ETH_ALEN]; /* source ether addr */ @@ -19,6 +17,8 @@ struct ether_hdr { /* followed by length octets of data */ } __packed; +#define ETHER_HDR_SIZE sizeof(struct ether_hdr) + struct ieee802_1x_hdr { unsigned char version; unsigned char type; @@ -26,60 +26,14 @@ struct ieee802_1x_hdr { /* followed by length octets of data */ } __packed; -#define EAPOL_VERSION 2 - -enum { IEEE802_1X_TYPE_EAP_PACKET = 0, +enum { + IEEE802_1X_TYPE_EAP_PACKET = 0, IEEE802_1X_TYPE_EAPOL_START = 1, IEEE802_1X_TYPE_EAPOL_LOGOFF = 2, IEEE802_1X_TYPE_EAPOL_KEY = 3, IEEE802_1X_TYPE_EAPOL_ENCAPSULATED_ASF_ALERT = 4 }; -enum { EAPOL_KEY_TYPE_RC4 = 1, EAPOL_KEY_TYPE_RSN = 2, - EAPOL_KEY_TYPE_WPA = 254 -}; - -#define IEEE8021X_REPLAY_COUNTER_LEN 8 -#define IEEE8021X_KEY_SIGN_LEN 16 -#define IEEE8021X_KEY_IV_LEN 16 - -#define IEEE8021X_KEY_INDEX_FLAG 0x80 -#define IEEE8021X_KEY_INDEX_MASK 0x03 - -struct ieee802_1x_eapol_key { - unsigned char type; - unsigned short key_length; - /* - * does not repeat within the life of the keying material used to - * encrypt the Key field; 64-bit NTP timestamp MAY be used here - */ - unsigned char replay_counter[IEEE8021X_REPLAY_COUNTER_LEN]; - unsigned char key_iv[IEEE8021X_KEY_IV_LEN]; /* cryptographically random - * number - */ - unsigned char key_index; /* - * key flag in the most significant bit: - * 0 = broadcast (default key), - * 1 = unicast (key mapping key); - * key index is in the 7 least - * significant bits - */ - /* - * HMAC-MD5 message integrity check computed with MS-MPPE-Send-Key as - * the key - */ - unsigned char key_signature[IEEE8021X_KEY_SIGN_LEN]; - - /* - * followed by key: if packet body length = 44 + key length, then the - * key field (of key_length bytes) contains the key in encrypted form; - * if packet body length = 44, key field is absent and key_length - * represents the number of least significant octets from - * MS-MPPE-Send-Key attribute to be used as the keying material; - * RC4 key used in encryption = Key-IV + MS-MPPE-Recv-Key - */ -} __packed; - #define WPA_NONCE_LEN 32 #define WPA_REPLAY_COUNTER_LEN 8 @@ -113,26 +67,4 @@ struct wpa_eapol_key { #define WPA_KEY_INFO_REQUEST BIT(11) #define WPA_KEY_INFO_ENCR_KEY_DATA BIT(12) /* IEEE 802.11i/RSN only */ -#define WPA_CAPABILITY_PREAUTH BIT(0) - -#define GENERIC_INFO_ELEM 0xdd -#define RSN_INFO_ELEM 0x30 - -enum { - REASON_UNSPECIFIED = 1, - REASON_DEAUTH_LEAVING = 3, - REASON_INVALID_IE = 13, - REASON_MICHAEL_MIC_FAILURE = 14, - REASON_4WAY_HANDSHAKE_TIMEOUT = 15, - REASON_GROUP_KEY_UPDATE_TIMEOUT = 16, - REASON_IE_IN_4WAY_DIFFERS = 17, - REASON_GROUP_CIPHER_NOT_VALID = 18, - REASON_PAIRWISE_CIPHER_NOT_VALID = 19, - REASON_AKMP_NOT_VALID = 20, - REASON_UNSUPPORTED_RSN_IE_VERSION = 21, - REASON_INVALID_RSN_IE_CAPAB = 22, - REASON_IEEE_802_1X_AUTH_FAILED = 23, - REASON_CIPHER_SUITE_REJECTED = 24 -}; - #endif /* EAP_PACKET_H */ |