[PATCH v3 03/19] defs: Add measurement and neighbor report definitions

Ilan Peer ilan.peer at intel.com
Wed Apr 6 09:42:03 PDT 2016


From: David Spinadel <david.spinadel at intel.com>

Add measurement report definitions from table 8-80 in IEEE Std 802.11 MC
D4.3 "Measurement type definition for measurement requests".

Add measurement report definitions from IEEE Std 802.11 2012 table 8-71
"Location subject definition".

Add neighbor report bandwidth subelement definition from IEEE Std 802.11
MC D4.3 table 8-149 - "Optional subelement IDs neighbor report"

Add neighbor report channel width definition from 802.11 MC D4.3,
table 8-151 - "HT/VHT Operation Information subfields".

Add definitions for neighbor report BSSID info from 802.11 MC D4.3,
chapter 8.4.2.36 "Neighbor Report element".

Signed-off-by: David Spinadel <david.spinadel at intel.com>
---
 src/common/ieee802_11_defs.h | 67 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h
index e1a8ef7..0b63328 100644
--- a/src/common/ieee802_11_defs.h
+++ b/src/common/ieee802_11_defs.h
@@ -453,6 +453,47 @@ enum nai_realm_eap_cred_type {
 	NAI_REALM_CRED_TYPE_VENDOR_SPECIFIC = 10
 };
 
+/* From IEEE Std 802.11 MC D4.3 table 8-80 - Measurement type definitions for
+ * measurement requests.
+ */
+enum measure_type {
+	MEASURE_TYPE_BASIC = 0,
+	MEASURE_TYPE_CCA = 1,
+	MEASURE_TYPE_RPI_HIST = 2,
+	MEASURE_TYPE_CHANNEL_LOAD = 3,
+	MEASURE_TYPE_NOISE_HIST = 4,
+	MEASURE_TYPE_BEACON = 5,
+	MEASURE_TYPE_FRAME = 6,
+	MEASURE_TYPE_STA_STATISTICS = 7,
+	MEASURE_TYPE_LCI = 8,
+	MEASURE_TYPE_TRANSMIT_STREAM = 9,
+	MEASURE_TYPE_MULTICAST_DIAG = 10,
+	MEASURE_TYPE_LOCATION_CIVIC = 11,
+	MEASURE_TYPE_LOCATION_ID = 12,
+	MEASURE_TYPE_DIRECTIONAL_CHAN_QUALITY = 13,
+	MEASURE_TYPE_DIRECTIONAL_MEASURE = 14,
+	MEASURE_TYPE_DIRECTIONAL_STATS = 15,
+	MEASURE_TYPE_FTM_RANGE = 16,
+	MEASURE_TYPE_MEASURE_PAUSE = 255,
+};
+
+/* From IEEE Std 802.11 2012 table 8-71 - Location subject definition */
+enum location_subject {
+	LOCATION_SUBJECT_LOCAL		= 0,
+	LOCATION_SUBJECT_REMOTE		= 1,
+	LOCATION_SUBJECT_3RD_PARTY	= 2,
+};
+
+/* From IEEE Std 802.11 MC D4.3 table 8-93 - Optional subelement IDs for LCI
+ * request.
+ */
+#define LCI_REQ_SUBELEMENT_MAX_AGE 4
+
+/* From IEEE Std 802.11 MC D4.3 table 8-149 - Optional subelement IDs for
+ * neighbor report
+ */
+#define NEIGHBOR_REPORT_BANDWIDTH 6
+
 #ifdef _MSC_VER
 #pragma pack(push, 1)
 #endif /* _MSC_VER */
@@ -1558,4 +1599,30 @@ enum phy_type {
 #define NEI_REP_BSSID_INFO_MOBILITY_DOMAIN BIT(10)
 #define NEI_REP_BSSID_INFO_HT BIT(11)
 
+/* From IEEE Std 802.11 MC D4.3, chapter 8.4.2.36 "Neighbor Report element" */
+#define	NEI_REP_BSSID_INFO_SECURITY BIT(2)
+#define	NEI_REP_BSSID_INFO_KEY_SCOPE BIT(3)
+#define	NEI_REP_BSSID_INFO_SPECTRUM_MGMT BIT(4)
+#define	NEI_REP_BSSID_INFO_QOS BIT(5)
+#define	NEI_REP_BSSID_INFO_APSD BIT(6)
+#define	NEI_REP_BSSID_INFO_RM BIT(7)
+#define	NEI_REP_BSSID_INFO_DELAYED_BA BIT(8)
+#define	NEI_REP_BSSID_INFO_IMM_BA BIT(9)
+#define	NEI_REP_BSSID_INFO_MOBILITY_DOMAIN BIT(10)
+#define	NEI_REP_BSSID_INFO_HT BIT(11)
+#define	NEI_REP_BSSID_INFO_VHT BIT(12)
+#define	NEI_REP_BSSID_INFO_FTM BIT(13)
+
+/* From IEEE Std 802.11 MC D4.3 table 8-151 - HT/VHT Operation Information
+ * subfields.
+ * Note: These definitions are not the same as other VHT_CHANWIDTH_*.
+ */
+enum nr_chan_width {
+	NR_CHAN_WIDTH_20 = 0,
+	NR_CHAN_WIDTH_40 = 1,
+	NR_CHAN_WIDTH_80 = 2,
+	NR_CHAN_WIDTH_160 = 3,
+	NR_CHAN_WIDTH_80P80 = 4,
+};
+
 #endif /* IEEE802_11_DEFS_H */
-- 
1.9.1




More information about the Hostap mailing list