]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add IEEE 802.11ad element descriptions
authorAnton Nayshtut <qca_antonn@qca.qualcomm.com>
Wed, 18 Feb 2015 14:59:21 +0000 (16:59 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 16 Jul 2015 09:33:29 +0000 (12:33 +0300)
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
src/common/ieee802_11_defs.h

index 47b15deae526d6fdb651debb08120d412e7b3f83..cc099eb5a289b15e94025a5be65fe8d328823d5c 100644 (file)
 #define WLAN_STATUS_ANTI_CLOGGING_TOKEN_REQ 76
 #define WLAN_STATUS_FINITE_CYCLIC_GROUP_NOT_SUPPORTED 77
 #define WLAN_STATUS_TRANSMISSION_FAILURE 79
+#define WLAN_STATUS_PENDING_ADMITTING_FST_SESSION 86
 #define WLAN_STATUS_QUERY_RESP_OUTSTANDING 95
+#define WLAN_STATUS_DENIED_WITH_SUGGESTED_BAND_AND_CHANNEL 99
 #define WLAN_STATUS_ASSOC_DENIED_NO_VHT 104
 
 /* Reason codes (IEEE 802.11-2007, 7.3.1.7, Table 7-22) */
 #define WLAN_EID_AMPE 139
 #define WLAN_EID_MIC 140
 #define WLAN_EID_CCKM 156
+#define WLAN_EID_MULTI_BAND 158
+#define WLAN_EID_SESSION_TRANSITION 164
 #define WLAN_EID_VHT_CAP 191
 #define WLAN_EID_VHT_OPERATION 192
 #define WLAN_EID_VHT_EXTENDED_BSS_LOAD 193
 #define WLAN_ACTION_TDLS 12
 #define WLAN_ACTION_SELF_PROTECTED 15
 #define WLAN_ACTION_WMM 17 /* WMM Specification 1.1 */
+#define WLAN_ACTION_FST 18
 #define WLAN_ACTION_VENDOR_SPECIFIC 127
 
 /* Public action codes */
@@ -615,6 +620,10 @@ struct ieee80211_mgmt {
                                        u8 action; /* 15 */
                                        u8 variable[];
                                } STRUCT_PACKED slf_prot_action;
+                               struct {
+                                       u8 action;
+                                       u8 variable[];
+                               } STRUCT_PACKED fst_action;
                        } u;
                } STRUCT_PACKED action;
        } u;
@@ -1358,4 +1367,58 @@ struct rrm_link_measurement_report {
 
 #define SSID_MAX_LEN 32
 
+/* IEEE Std 802.11ad-2012 - Multi-band element */
+struct multi_band_ie {
+       u8 eid; /* WLAN_EID_MULTI_BAND */
+       u8 len;
+       u8 mb_ctrl;
+       u8 band_id;
+       u8 op_class;
+       u8 chan;
+       u8 bssid[ETH_ALEN];
+       le16 beacon_int;
+       u8 tsf_offs[8];
+       u8 mb_connection_capability;
+       u8 fst_session_tmout;
+       /* Optional:
+        *   STA MAC Address
+        *   Pairwise Cipher Suite Count
+        *   Pairwise Cipher Suite List
+        */
+       u8 variable[0];
+} STRUCT_PACKED;
+
+enum mb_ctrl_sta_role {
+       MB_STA_ROLE_AP = 0,
+       MB_STA_ROLE_TDLS_STA = 1,
+       MB_STA_ROLE_IBSS_STA = 2,
+       MB_STA_ROLE_PCP = 3,
+       MB_STA_ROLE_NON_PCP_NON_AP = 4
+};
+
+#define MB_CTRL_STA_MAC_PRESENT ((u8) (BIT(3)))
+#define MB_CTRL_PAIRWISE_CIPHER_SUITE_PRESENT ((u8) (BIT(4)))
+
+enum mb_band_id {
+       MB_BAND_ID_WIFI_2_4GHZ = 2, /* 2.4 GHz */
+       MB_BAND_ID_WIFI_5GHZ = 4, /* 4.9 and 5 GHz */
+       MB_BAND_ID_WIFI_60GHZ = 5, /* 60 GHz */
+};
+
+#define MB_CONNECTION_CAPABILITY_AP ((u8) (BIT(0)))
+#define MB_CONNECTION_CAPABILITY_PCP ((u8) (BIT(1)))
+#define MB_CONNECTION_CAPABILITY_DLS ((u8) (BIT(2)))
+#define MB_CONNECTION_CAPABILITY_TDLS ((u8) (BIT(3)))
+#define MB_CONNECTION_CAPABILITY_IBSS ((u8) (BIT(4)))
+
+/* IEEE Std 802.11ad-2014 - FST Action field */
+enum fst_action {
+       FST_ACTION_SETUP_REQUEST = 0,
+       FST_ACTION_SETUP_RESPONSE = 1,
+       FST_ACTION_TEAR_DOWN = 2,
+       FST_ACTION_ACK_REQUEST = 3,
+       FST_ACTION_ACK_RESPONSE = 4,
+       FST_ACTION_ON_CHANNEL_TUNNEL = 5,
+};
+
 #endif /* IEEE802_11_DEFS_H */