aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2012-06-22 14:39:53 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-06-22 14:39:53 -0400
commit133189a46c2c522eb4ef26b1ede63dd0a9fdc920 (patch)
tree04ab3567c3bea31503c4dfa94909f99dc4b3789f /include/linux
parentf761b6947dde42890beea59b020e1be87491809e (diff)
parent0f6b3f597daab2254614e2773e322e73fb1b6f4b (diff)
Merge branch 'for-john' of git://git.sipsolutions.net/mac80211-next
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ieee80211.h50
-rw-r--r--include/linux/nl80211.h150
2 files changed, 144 insertions, 56 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h
index ce9af8918514..6e0601189db9 100644
--- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h
@@ -568,6 +568,26 @@ struct ieee80211s_hdr {
568#define MESH_FLAGS_PS_DEEP 0x4 568#define MESH_FLAGS_PS_DEEP 0x4
569 569
570/** 570/**
571 * enum ieee80211_preq_flags - mesh PREQ element flags
572 *
573 * @IEEE80211_PREQ_PROACTIVE_PREP_FLAG: proactive PREP subfield
574 */
575enum ieee80211_preq_flags {
576 IEEE80211_PREQ_PROACTIVE_PREP_FLAG = 1<<2,
577};
578
579/**
580 * enum ieee80211_preq_target_flags - mesh PREQ element per target flags
581 *
582 * @IEEE80211_PREQ_TO_FLAG: target only subfield
583 * @IEEE80211_PREQ_USN_FLAG: unknown target HWMP sequence number subfield
584 */
585enum ieee80211_preq_target_flags {
586 IEEE80211_PREQ_TO_FLAG = 1<<0,
587 IEEE80211_PREQ_USN_FLAG = 1<<2,
588};
589
590/**
571 * struct ieee80211_quiet_ie 591 * struct ieee80211_quiet_ie
572 * 592 *
573 * This structure refers to "Quiet information element" 593 * This structure refers to "Quiet information element"
@@ -1443,7 +1463,7 @@ enum ieee80211_tdls_actioncode {
1443 * 1463 *
1444 * @IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET: the default synchronization method 1464 * @IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET: the default synchronization method
1445 * @IEEE80211_SYNC_METHOD_VENDOR: a vendor specific synchronization method 1465 * @IEEE80211_SYNC_METHOD_VENDOR: a vendor specific synchronization method
1446 * that will be specified in a vendor specific information element 1466 * that will be specified in a vendor specific information element
1447 */ 1467 */
1448enum { 1468enum {
1449 IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET = 1, 1469 IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET = 1,
@@ -1455,7 +1475,7 @@ enum {
1455 * 1475 *
1456 * @IEEE80211_PATH_PROTOCOL_HWMP: the default path selection protocol 1476 * @IEEE80211_PATH_PROTOCOL_HWMP: the default path selection protocol
1457 * @IEEE80211_PATH_PROTOCOL_VENDOR: a vendor specific protocol that will 1477 * @IEEE80211_PATH_PROTOCOL_VENDOR: a vendor specific protocol that will
1458 * be specified in a vendor specific information element 1478 * be specified in a vendor specific information element
1459 */ 1479 */
1460enum { 1480enum {
1461 IEEE80211_PATH_PROTOCOL_HWMP = 1, 1481 IEEE80211_PATH_PROTOCOL_HWMP = 1,
@@ -1467,13 +1487,35 @@ enum {
1467 * 1487 *
1468 * @IEEE80211_PATH_METRIC_AIRTIME: the default path selection metric 1488 * @IEEE80211_PATH_METRIC_AIRTIME: the default path selection metric
1469 * @IEEE80211_PATH_METRIC_VENDOR: a vendor specific metric that will be 1489 * @IEEE80211_PATH_METRIC_VENDOR: a vendor specific metric that will be
1470 * specified in a vendor specific information element 1490 * specified in a vendor specific information element
1471 */ 1491 */
1472enum { 1492enum {
1473 IEEE80211_PATH_METRIC_AIRTIME = 1, 1493 IEEE80211_PATH_METRIC_AIRTIME = 1,
1474 IEEE80211_PATH_METRIC_VENDOR = 255, 1494 IEEE80211_PATH_METRIC_VENDOR = 255,
1475}; 1495};
1476 1496
1497/**
1498 * enum ieee80211_root_mode_identifier - root mesh STA mode identifier
1499 *
1500 * These attribute are used by dot11MeshHWMPRootMode to set root mesh STA mode
1501 *
1502 * @IEEE80211_ROOTMODE_NO_ROOT: the mesh STA is not a root mesh STA (default)
1503 * @IEEE80211_ROOTMODE_ROOT: the mesh STA is a root mesh STA if greater than
1504 * this value
1505 * @IEEE80211_PROACTIVE_PREQ_NO_PREP: the mesh STA is a root mesh STA supports
1506 * the proactive PREQ with proactive PREP subfield set to 0
1507 * @IEEE80211_PROACTIVE_PREQ_WITH_PREP: the mesh STA is a root mesh STA
1508 * supports the proactive PREQ with proactive PREP subfield set to 1
1509 * @IEEE80211_PROACTIVE_RANN: the mesh STA is a root mesh STA supports
1510 * the proactive RANN
1511 */
1512enum ieee80211_root_mode_identifier {
1513 IEEE80211_ROOTMODE_NO_ROOT = 0,
1514 IEEE80211_ROOTMODE_ROOT = 1,
1515 IEEE80211_PROACTIVE_PREQ_NO_PREP = 2,
1516 IEEE80211_PROACTIVE_PREQ_WITH_PREP = 3,
1517 IEEE80211_PROACTIVE_RANN = 4,
1518};
1477 1519
1478/* 1520/*
1479 * IEEE 802.11-2007 7.3.2.9 Country information element 1521 * IEEE 802.11-2007 7.3.2.9 Country information element
@@ -1589,6 +1631,8 @@ enum ieee80211_sa_query_action {
1589 1631
1590#define WLAN_OUI_WFA 0x506f9a 1632#define WLAN_OUI_WFA 0x506f9a
1591#define WLAN_OUI_TYPE_WFA_P2P 9 1633#define WLAN_OUI_TYPE_WFA_P2P 9
1634#define WLAN_OUI_MICROSOFT 0x0050f2
1635#define WLAN_OUI_TYPE_MICROSOFT_WPA 1
1592 1636
1593/* 1637/*
1594 * WMM/802.11e Tspec Element 1638 * WMM/802.11e Tspec Element
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index 970afdf5a605..b7c3b737ddde 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -277,6 +277,12 @@
277 * @NL80211_CMD_NEW_SURVEY_RESULTS: survey data notification (as a reply to 277 * @NL80211_CMD_NEW_SURVEY_RESULTS: survey data notification (as a reply to
278 * NL80211_CMD_GET_SURVEY and on the "scan" multicast group) 278 * NL80211_CMD_GET_SURVEY and on the "scan" multicast group)
279 * 279 *
280 * @NL80211_CMD_SET_PMKSA: Add a PMKSA cache entry, using %NL80211_ATTR_MAC
281 * (for the BSSID) and %NL80211_ATTR_PMKID.
282 * @NL80211_CMD_DEL_PMKSA: Delete a PMKSA cache entry, using %NL80211_ATTR_MAC
283 * (for the BSSID) and %NL80211_ATTR_PMKID.
284 * @NL80211_CMD_FLUSH_PMKSA: Flush all PMKSA cache entries.
285 *
280 * @NL80211_CMD_REG_CHANGE: indicates to userspace the regulatory domain 286 * @NL80211_CMD_REG_CHANGE: indicates to userspace the regulatory domain
281 * has been changed and provides details of the request information 287 * has been changed and provides details of the request information
282 * that caused the change such as who initiated the regulatory request 288 * that caused the change such as who initiated the regulatory request
@@ -456,6 +462,10 @@
456 * the frame. 462 * the frame.
457 * @NL80211_CMD_ACTION_TX_STATUS: Alias for @NL80211_CMD_FRAME_TX_STATUS for 463 * @NL80211_CMD_ACTION_TX_STATUS: Alias for @NL80211_CMD_FRAME_TX_STATUS for
458 * backward compatibility. 464 * backward compatibility.
465 *
466 * @NL80211_CMD_SET_POWER_SAVE: Set powersave, using %NL80211_ATTR_PS_STATE
467 * @NL80211_CMD_GET_POWER_SAVE: Get powersave status in %NL80211_ATTR_PS_STATE
468 *
459 * @NL80211_CMD_SET_CQM: Connection quality monitor configuration. This command 469 * @NL80211_CMD_SET_CQM: Connection quality monitor configuration. This command
460 * is used to configure connection quality monitoring notification trigger 470 * is used to configure connection quality monitoring notification trigger
461 * levels. 471 * levels.
@@ -771,6 +781,13 @@ enum nl80211_commands {
771 * section 7.3.2.25.1, e.g. 0x000FAC04) 781 * section 7.3.2.25.1, e.g. 0x000FAC04)
772 * @NL80211_ATTR_KEY_SEQ: transmit key sequence number (IV/PN) for TKIP and 782 * @NL80211_ATTR_KEY_SEQ: transmit key sequence number (IV/PN) for TKIP and
773 * CCMP keys, each six bytes in little endian 783 * CCMP keys, each six bytes in little endian
784 * @NL80211_ATTR_KEY_DEFAULT: Flag attribute indicating the key is default key
785 * @NL80211_ATTR_KEY_DEFAULT_MGMT: Flag attribute indicating the key is the
786 * default management key
787 * @NL80211_ATTR_CIPHER_SUITES_PAIRWISE: For crypto settings for connect or
788 * other commands, indicates which pairwise cipher suites are used
789 * @NL80211_ATTR_CIPHER_SUITE_GROUP: For crypto settings for connect or
790 * other commands, indicates which group cipher suite is used
774 * 791 *
775 * @NL80211_ATTR_BEACON_INTERVAL: beacon interval in TU 792 * @NL80211_ATTR_BEACON_INTERVAL: beacon interval in TU
776 * @NL80211_ATTR_DTIM_PERIOD: DTIM period for beaconing 793 * @NL80211_ATTR_DTIM_PERIOD: DTIM period for beaconing
@@ -1006,6 +1023,8 @@ enum nl80211_commands {
1006 * @NL80211_ATTR_ACK: Flag attribute indicating that the frame was 1023 * @NL80211_ATTR_ACK: Flag attribute indicating that the frame was
1007 * acknowledged by the recipient. 1024 * acknowledged by the recipient.
1008 * 1025 *
1026 * @NL80211_ATTR_PS_STATE: powersave state, using &enum nl80211_ps_state values.
1027 *
1009 * @NL80211_ATTR_CQM: connection quality monitor configuration in a 1028 * @NL80211_ATTR_CQM: connection quality monitor configuration in a
1010 * nested attribute with %NL80211_ATTR_CQM_* sub-attributes. 1029 * nested attribute with %NL80211_ATTR_CQM_* sub-attributes.
1011 * 1030 *
@@ -1063,7 +1082,7 @@ enum nl80211_commands {
1063 * flag isn't set, the frame will be rejected. This is also used as an 1082 * flag isn't set, the frame will be rejected. This is also used as an
1064 * nl80211 capability flag. 1083 * nl80211 capability flag.
1065 * 1084 *
1066 * @NL80211_ATTR_BSS_HTOPMODE: HT operation mode (u16) 1085 * @NL80211_ATTR_BSS_HT_OPMODE: HT operation mode (u16)
1067 * 1086 *
1068 * @NL80211_ATTR_KEY_DEFAULT_TYPES: A nested attribute containing flags 1087 * @NL80211_ATTR_KEY_DEFAULT_TYPES: A nested attribute containing flags
1069 * attributes, specifying what a key should be set as default as. 1088 * attributes, specifying what a key should be set as default as.
@@ -1087,10 +1106,10 @@ enum nl80211_commands {
1087 * indicate which WoW triggers should be enabled. This is also 1106 * indicate which WoW triggers should be enabled. This is also
1088 * used by %NL80211_CMD_GET_WOWLAN to get the currently enabled WoWLAN 1107 * used by %NL80211_CMD_GET_WOWLAN to get the currently enabled WoWLAN
1089 * triggers. 1108 * triggers.
1090 1109 *
1091 * @NL80211_ATTR_SCHED_SCAN_INTERVAL: Interval between scheduled scan 1110 * @NL80211_ATTR_SCHED_SCAN_INTERVAL: Interval between scheduled scan
1092 * cycles, in msecs. 1111 * cycles, in msecs.
1093 1112 *
1094 * @NL80211_ATTR_SCHED_SCAN_MATCH: Nested attribute with one or more 1113 * @NL80211_ATTR_SCHED_SCAN_MATCH: Nested attribute with one or more
1095 * sets of attributes to match during scheduled scans. Only BSSs 1114 * sets of attributes to match during scheduled scans. Only BSSs
1096 * that match any of the sets will be reported. These are 1115 * that match any of the sets will be reported. These are
@@ -1117,7 +1136,7 @@ enum nl80211_commands {
1117 * are managed in software: interfaces of these types aren't subject to 1136 * are managed in software: interfaces of these types aren't subject to
1118 * any restrictions in their number or combinations. 1137 * any restrictions in their number or combinations.
1119 * 1138 *
1120 * @%NL80211_ATTR_REKEY_DATA: nested attribute containing the information 1139 * @NL80211_ATTR_REKEY_DATA: nested attribute containing the information
1121 * necessary for GTK rekeying in the device, see &enum nl80211_rekey_data. 1140 * necessary for GTK rekeying in the device, see &enum nl80211_rekey_data.
1122 * 1141 *
1123 * @NL80211_ATTR_SCAN_SUPP_RATES: rates per to be advertised as supported in scan, 1142 * @NL80211_ATTR_SCAN_SUPP_RATES: rates per to be advertised as supported in scan,
@@ -1184,7 +1203,6 @@ enum nl80211_commands {
1184 * @NL80211_ATTR_FEATURE_FLAGS: This u32 attribute contains flags from 1203 * @NL80211_ATTR_FEATURE_FLAGS: This u32 attribute contains flags from
1185 * &enum nl80211_feature_flags and is advertised in wiphy information. 1204 * &enum nl80211_feature_flags and is advertised in wiphy information.
1186 * @NL80211_ATTR_PROBE_RESP_OFFLOAD: Indicates that the HW responds to probe 1205 * @NL80211_ATTR_PROBE_RESP_OFFLOAD: Indicates that the HW responds to probe
1187 *
1188 * requests while operating in AP-mode. 1206 * requests while operating in AP-mode.
1189 * This attribute holds a bitmap of the supported protocols for 1207 * This attribute holds a bitmap of the supported protocols for
1190 * offloading (see &enum nl80211_probe_resp_offload_support_attr). 1208 * offloading (see &enum nl80211_probe_resp_offload_support_attr).
@@ -1963,7 +1981,7 @@ enum nl80211_reg_rule_attr {
1963enum nl80211_sched_scan_match_attr { 1981enum nl80211_sched_scan_match_attr {
1964 __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID, 1982 __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID,
1965 1983
1966 NL80211_ATTR_SCHED_SCAN_MATCH_SSID, 1984 NL80211_SCHED_SCAN_MATCH_ATTR_SSID,
1967 1985
1968 /* keep last */ 1986 /* keep last */
1969 __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, 1987 __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,
@@ -1971,6 +1989,9 @@ enum nl80211_sched_scan_match_attr {
1971 __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST - 1 1989 __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST - 1
1972}; 1990};
1973 1991
1992/* only for backward compatibility */
1993#define NL80211_ATTR_SCHED_SCAN_MATCH_SSID NL80211_SCHED_SCAN_MATCH_ATTR_SSID
1994
1974/** 1995/**
1975 * enum nl80211_reg_rule_flags - regulatory rule flags 1996 * enum nl80211_reg_rule_flags - regulatory rule flags
1976 * 1997 *
@@ -2090,78 +2111,91 @@ enum nl80211_mntr_flags {
2090 * @__NL80211_MESHCONF_INVALID: internal use 2111 * @__NL80211_MESHCONF_INVALID: internal use
2091 * 2112 *
2092 * @NL80211_MESHCONF_RETRY_TIMEOUT: specifies the initial retry timeout in 2113 * @NL80211_MESHCONF_RETRY_TIMEOUT: specifies the initial retry timeout in
2093 * millisecond units, used by the Peer Link Open message 2114 * millisecond units, used by the Peer Link Open message
2094 * 2115 *
2095 * @NL80211_MESHCONF_CONFIRM_TIMEOUT: specifies the initial confirm timeout, in 2116 * @NL80211_MESHCONF_CONFIRM_TIMEOUT: specifies the initial confirm timeout, in
2096 * millisecond units, used by the peer link management to close a peer link 2117 * millisecond units, used by the peer link management to close a peer link
2097 * 2118 *
2098 * @NL80211_MESHCONF_HOLDING_TIMEOUT: specifies the holding timeout, in 2119 * @NL80211_MESHCONF_HOLDING_TIMEOUT: specifies the holding timeout, in
2099 * millisecond units 2120 * millisecond units
2100 * 2121 *
2101 * @NL80211_MESHCONF_MAX_PEER_LINKS: maximum number of peer links allowed 2122 * @NL80211_MESHCONF_MAX_PEER_LINKS: maximum number of peer links allowed
2102 * on this mesh interface 2123 * on this mesh interface
2103 * 2124 *
2104 * @NL80211_MESHCONF_MAX_RETRIES: specifies the maximum number of peer link 2125 * @NL80211_MESHCONF_MAX_RETRIES: specifies the maximum number of peer link
2105 * open retries that can be sent to establish a new peer link instance in a 2126 * open retries that can be sent to establish a new peer link instance in a
2106 * mesh 2127 * mesh
2107 * 2128 *
2108 * @NL80211_MESHCONF_TTL: specifies the value of TTL field set at a source mesh 2129 * @NL80211_MESHCONF_TTL: specifies the value of TTL field set at a source mesh
2109 * point. 2130 * point.
2110 * 2131 *
2111 * @NL80211_MESHCONF_AUTO_OPEN_PLINKS: whether we should automatically 2132 * @NL80211_MESHCONF_AUTO_OPEN_PLINKS: whether we should automatically
2112 * open peer links when we detect compatible mesh peers. 2133 * open peer links when we detect compatible mesh peers.
2113 * 2134 *
2114 * @NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES: the number of action frames 2135 * @NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES: the number of action frames
2115 * containing a PREQ that an MP can send to a particular destination (path 2136 * containing a PREQ that an MP can send to a particular destination (path
2116 * target) 2137 * target)
2117 * 2138 *
2118 * @NL80211_MESHCONF_PATH_REFRESH_TIME: how frequently to refresh mesh paths 2139 * @NL80211_MESHCONF_PATH_REFRESH_TIME: how frequently to refresh mesh paths
2119 * (in milliseconds) 2140 * (in milliseconds)
2120 * 2141 *
2121 * @NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT: minimum length of time to wait 2142 * @NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT: minimum length of time to wait
2122 * until giving up on a path discovery (in milliseconds) 2143 * until giving up on a path discovery (in milliseconds)
2123 * 2144 *
2124 * @NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT: The time (in TUs) for which mesh 2145 * @NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT: The time (in TUs) for which mesh
2125 * points receiving a PREQ shall consider the forwarding information from the 2146 * points receiving a PREQ shall consider the forwarding information from
2126 * root to be valid. (TU = time unit) 2147 * the root to be valid. (TU = time unit)
2127 * 2148 *
2128 * @NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL: The minimum interval of time (in 2149 * @NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL: The minimum interval of time (in
2129 * TUs) during which an MP can send only one action frame containing a PREQ 2150 * TUs) during which an MP can send only one action frame containing a PREQ
2130 * reference element 2151 * reference element
2131 * 2152 *
2132 * @NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME: The interval of time (in TUs) 2153 * @NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME: The interval of time (in TUs)
2133 * that it takes for an HWMP information element to propagate across the mesh 2154 * that it takes for an HWMP information element to propagate across the
2155 * mesh
2134 * 2156 *
2135 * @NL80211_MESHCONF_HWMP_ROOTMODE: whether root mode is enabled or not 2157 * @NL80211_MESHCONF_HWMP_ROOTMODE: whether root mode is enabled or not
2136 * 2158 *
2137 * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a 2159 * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a
2138 * source mesh point for path selection elements. 2160 * source mesh point for path selection elements.
2139 * 2161 *
2140 * @NL80211_MESHCONF_HWMP_RANN_INTERVAL: The interval of time (in TUs) between 2162 * @NL80211_MESHCONF_HWMP_RANN_INTERVAL: The interval of time (in TUs) between
2141 * root announcements are transmitted. 2163 * root announcements are transmitted.
2142 * 2164 *
2143 * @NL80211_MESHCONF_GATE_ANNOUNCEMENTS: Advertise that this mesh station has 2165 * @NL80211_MESHCONF_GATE_ANNOUNCEMENTS: Advertise that this mesh station has
2144 * access to a broader network beyond the MBSS. This is done via Root 2166 * access to a broader network beyond the MBSS. This is done via Root
2145 * Announcement frames. 2167 * Announcement frames.
2146 * 2168 *
2147 * @NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL: The minimum interval of time (in 2169 * @NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL: The minimum interval of time (in
2148 * TUs) during which a mesh STA can send only one Action frame containing a 2170 * TUs) during which a mesh STA can send only one Action frame containing a
2149 * PERR element. 2171 * PERR element.
2150 * 2172 *
2151 * @NL80211_MESHCONF_FORWARDING: set Mesh STA as forwarding or non-forwarding 2173 * @NL80211_MESHCONF_FORWARDING: set Mesh STA as forwarding or non-forwarding
2152 * or forwarding entity (default is TRUE - forwarding entity) 2174 * or forwarding entity (default is TRUE - forwarding entity)
2153 * 2175 *
2154 * @NL80211_MESHCONF_RSSI_THRESHOLD: RSSI threshold in dBm. This specifies the 2176 * @NL80211_MESHCONF_RSSI_THRESHOLD: RSSI threshold in dBm. This specifies the
2155 * threshold for average signal strength of candidate station to establish 2177 * threshold for average signal strength of candidate station to establish
2156 * a peer link. 2178 * a peer link.
2157 *
2158 * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute
2159 * 2179 *
2160 * @NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR: maximum number of neighbors 2180 * @NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR: maximum number of neighbors
2161 * to synchronize to for 11s default synchronization method (see 11C.12.2.2) 2181 * to synchronize to for 11s default synchronization method
2182 * (see 11C.12.2.2)
2162 * 2183 *
2163 * @NL80211_MESHCONF_HT_OPMODE: set mesh HT protection mode. 2184 * @NL80211_MESHCONF_HT_OPMODE: set mesh HT protection mode.
2164 * 2185 *
2186 * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute
2187 *
2188 * @NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT: The time (in TUs) for
2189 * which mesh STAs receiving a proactive PREQ shall consider the forwarding
2190 * information to the root mesh STA to be valid.
2191 *
2192 * @NL80211_MESHCONF_HWMP_ROOT_INTERVAL: The interval of time (in TUs) between
2193 * proactive PREQs are transmitted.
2194 *
2195 * @NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL: The minimum interval of time
2196 * (in TUs) during which a mesh STA can send only one Action frame
2197 * containing a PREQ element for root path confirmation.
2198 *
2165 * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use 2199 * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
2166 */ 2200 */
2167enum nl80211_meshconf_params { 2201enum nl80211_meshconf_params {
@@ -2188,6 +2222,9 @@ enum nl80211_meshconf_params {
2188 NL80211_MESHCONF_RSSI_THRESHOLD, 2222 NL80211_MESHCONF_RSSI_THRESHOLD,
2189 NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR, 2223 NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR,
2190 NL80211_MESHCONF_HT_OPMODE, 2224 NL80211_MESHCONF_HT_OPMODE,
2225 NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT,
2226 NL80211_MESHCONF_HWMP_ROOT_INTERVAL,
2227 NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL,
2191 2228
2192 /* keep last */ 2229 /* keep last */
2193 __NL80211_MESHCONF_ATTR_AFTER_LAST, 2230 __NL80211_MESHCONF_ATTR_AFTER_LAST,
@@ -2203,34 +2240,36 @@ enum nl80211_meshconf_params {
2203 * @__NL80211_MESH_SETUP_INVALID: Internal use 2240 * @__NL80211_MESH_SETUP_INVALID: Internal use
2204 * 2241 *
2205 * @NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL: Enable this option to use a 2242 * @NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL: Enable this option to use a
2206 * vendor specific path selection algorithm or disable it to use the default 2243 * vendor specific path selection algorithm or disable it to use the
2207 * HWMP. 2244 * default HWMP.
2208 * 2245 *
2209 * @NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC: Enable this option to use a 2246 * @NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC: Enable this option to use a
2210 * vendor specific path metric or disable it to use the default Airtime 2247 * vendor specific path metric or disable it to use the default Airtime
2211 * metric. 2248 * metric.
2212 * 2249 *
2213 * @NL80211_MESH_SETUP_IE: Information elements for this mesh, for instance, a 2250 * @NL80211_MESH_SETUP_IE: Information elements for this mesh, for instance, a
2214 * robust security network ie, or a vendor specific information element that 2251 * robust security network ie, or a vendor specific information element
2215 * vendors will use to identify the path selection methods and metrics in use. 2252 * that vendors will use to identify the path selection methods and
2253 * metrics in use.
2216 * 2254 *
2217 * @NL80211_MESH_SETUP_USERSPACE_AUTH: Enable this option if an authentication 2255 * @NL80211_MESH_SETUP_USERSPACE_AUTH: Enable this option if an authentication
2218 * daemon will be authenticating mesh candidates. 2256 * daemon will be authenticating mesh candidates.
2219 * 2257 *
2220 * @NL80211_MESH_SETUP_USERSPACE_AMPE: Enable this option if an authentication 2258 * @NL80211_MESH_SETUP_USERSPACE_AMPE: Enable this option if an authentication
2221 * daemon will be securing peer link frames. AMPE is a secured version of Mesh 2259 * daemon will be securing peer link frames. AMPE is a secured version of
2222 * Peering Management (MPM) and is implemented with the assistance of a 2260 * Mesh Peering Management (MPM) and is implemented with the assistance of
2223 * userspace daemon. When this flag is set, the kernel will send peer 2261 * a userspace daemon. When this flag is set, the kernel will send peer
2224 * management frames to a userspace daemon that will implement AMPE 2262 * management frames to a userspace daemon that will implement AMPE
2225 * functionality (security capabilities selection, key confirmation, and key 2263 * functionality (security capabilities selection, key confirmation, and
2226 * management). When the flag is unset (default), the kernel can autonomously 2264 * key management). When the flag is unset (default), the kernel can
2227 * complete (unsecured) mesh peering without the need of a userspace daemon. 2265 * autonomously complete (unsecured) mesh peering without the need of a
2228 * 2266 * userspace daemon.
2229 * @NL80211_MESH_SETUP_ATTR_MAX: highest possible mesh setup attribute number
2230 * 2267 *
2231 * @NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC: Enable this option to use a 2268 * @NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC: Enable this option to use a
2232 * vendor specific synchronization method or disable it to use the default 2269 * vendor specific synchronization method or disable it to use the default
2233 * neighbor offset synchronization 2270 * neighbor offset synchronization
2271 *
2272 * @NL80211_MESH_SETUP_ATTR_MAX: highest possible mesh setup attribute number
2234 * 2273 *
2235 * @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use 2274 * @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use
2236 */ 2275 */
@@ -2500,6 +2539,11 @@ enum nl80211_band {
2500 NL80211_BAND_5GHZ, 2539 NL80211_BAND_5GHZ,
2501}; 2540};
2502 2541
2542/**
2543 * enum nl80211_ps_state - powersave state
2544 * @NL80211_PS_DISABLED: powersave is disabled
2545 * @NL80211_PS_ENABLED: powersave is enabled
2546 */
2503enum nl80211_ps_state { 2547enum nl80211_ps_state {
2504 NL80211_PS_DISABLED, 2548 NL80211_PS_DISABLED,
2505 NL80211_PS_ENABLED, 2549 NL80211_PS_ENABLED,