Patchwork [RFC,1/3] wpa_supplicant: Define 20/40 BSS Coexistence IEs

login
register
mail settings
Submitter Jouni Malinen
Date April 23, 2012, 8:58 a.m.
Message ID <20120423085820.GA6369@w1.fi>
Download mbox | patch
Permalink /patch/154352/
State Superseded
Headers show

Comments

Jouni Malinen - April 23, 2012, 8:58 a.m.
On Wed, Apr 18, 2012 at 07:14:08PM +0530, Rajkumar Manoharan wrote:
> This patch defines 20/40 BSS Intolerant Channel Report IE
> (IEEE 802.11-2012 8.4.2.60) and 20/40 BSS Coexistence element
> (IEEE 802.11-2012 8.4.2.62).

This looks mostly fine -  a bit cleaned up version below (remove
unrelated whitespace change and update references to use 802.11-2012):

Patch

diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h
index 3bef006..22a5c3e 100644
--- a/src/common/ieee802_11_defs.h
+++ b/src/common/ieee802_11_defs.h
@@ -254,6 +254,7 @@ 
 #define WLAN_ACTION_VENDOR_SPECIFIC 127
 
 /* Public action codes */
+#define WLAN_PA_20_40_BSS_COEX 0
 #define WLAN_PA_VENDOR_SPECIFIC 9
 #define WLAN_PA_GAS_INITIAL_REQ 10
 #define WLAN_PA_GAS_INITIAL_RESP 11
@@ -915,4 +916,25 @@  enum wnm_action {
 #define WNM_BSS_TM_REQ_BSS_TERMINATION_INCLUDED BIT(3)
 #define WNM_BSS_TM_REQ_ESS_DISASSOC_IMMINENT BIT(4)
 
+/* IEEE Std 802.11-2012, 8.4.2.62 20/40 BSS Coexistence element */
+#define WLAN_20_40_BSS_COEX_INFO_REQ            BIT(0)
+#define WLAN_20_40_BSS_COEX_40MHZ_INTOL         BIT(1)
+#define WLAN_20_40_BSS_COEX_20MHZ_WIDTH_REQ     BIT(2)
+#define WLAN_20_40_BSS_COEX_OBSS_EXEMPT_REQ     BIT(3)
+#define WLAN_20_40_BSS_COEX_OBSS_EXEMPT_GRANT   BIT(4)
+
+struct ieee80211_2040_bss_coex_ie {
+	u8 element_id;
+	u8 length;
+	u8 coex_info;
+} STRUCT_PACKED;
+
+/* IEEE Std 802.11-2012, 8.4.2.60 - 20/40 BSS Intolerant Channel Report */
+struct ieee80211_2040_intol_chan_report {
+	u8 element_id;
+	u8 length;
+	u8 op_class;
+	u8 variable[0];	/* Channel List */
+} STRUCT_PACKED;
+
 #endif /* IEEE802_11_DEFS_H */