blob: 38d68b23bdcf1ce234263ee5373a62ae861b0a88 [file] [log] [blame]
developer66e89bc2024-04-23 14:50:01 +08001From de3da80461f48946b9493fb2b2d54ce6dcdc3e12 Mon Sep 17 00:00:00 2001
2From: Johannes Berg <johannes.berg@intel.com>
3Date: Fri, 14 Apr 2023 12:50:11 +0200
4Subject: [PATCH 06/28] update nl80211.h
5
6Bring in nl80211.h from 6.4-rc.
7
8Change-Id: I96b818a987d243b5cf97e2cc9c62d57637e17165
9Signed-off-by: Johannes Berg <johannes.berg@intel.com>
10---
11 info.c | 4 +
12 nl80211.h | 230 +++++++++++++++++++++++++++++++++++++++++++++++++++---
13 2 files changed, 224 insertions(+), 10 deletions(-)
14
15diff --git a/info.c b/info.c
16index 5229d44..9955e5e 100644
17--- a/info.c
18+++ b/info.c
19@@ -166,6 +166,10 @@ static void ext_feat_print(enum nl80211_ext_feature_index idx)
20 ext_feat_case(BSS_COLOR, "BSS coloring support");
21 ext_feat_case(FILS_CRYPTO_OFFLOAD, "FILS crypto offload");
22 ext_feat_case(RADAR_BACKGROUND, "Radar background support");
23+ ext_feat_case(POWERED_ADDR_CHANGE, "can change MAC address while up");
24+ ext_feat_case(PUNCT, "preamble puncturing in AP mode");
25+ ext_feat_case(SECURE_NAN, "secure NAN support");
26+ ext_feat_case(AUTH_AND_DEAUTH_RANDOM_TA, "random auth/deauth transmitter address");
27 }
28 }
29
30diff --git a/nl80211.h b/nl80211.h
31index d9490e3..c59fec4 100644
32--- a/nl80211.h
33+++ b/nl80211.h
34@@ -323,6 +323,17 @@
35 * Once the association is done, the driver cleans the FILS AAD data.
36 */
37
38+/**
39+ * DOC: Multi-Link Operation
40+ *
41+ * In Multi-Link Operation, a connection between to MLDs utilizes multiple
42+ * links. To use this in nl80211, various commands and responses now need
43+ * to or will include the new %NL80211_ATTR_MLO_LINKS attribute.
44+ * Additionally, various commands that need to operate on a specific link
45+ * now need to be given the %NL80211_ATTR_MLO_LINK_ID attribute, e.g. to
46+ * use %NL80211_CMD_START_AP or similar functions.
47+ */
48+
49 /**
50 * enum nl80211_commands - supported nl80211 commands
51 *
52@@ -366,14 +377,22 @@
53 * the non-transmitting interfaces are deleted as well.
54 *
55 * @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified
56- * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC.
57+ * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC. %NL80211_ATTR_MAC
58+ * represents peer's MLD address for MLO pairwise key. For MLO group key,
59+ * the link is identified by %NL80211_ATTR_MLO_LINK_ID.
60 * @NL80211_CMD_SET_KEY: Set key attributes %NL80211_ATTR_KEY_DEFAULT,
61 * %NL80211_ATTR_KEY_DEFAULT_MGMT, or %NL80211_ATTR_KEY_THRESHOLD.
62+ * For MLO connection, the link to set default key is identified by
63+ * %NL80211_ATTR_MLO_LINK_ID.
64 * @NL80211_CMD_NEW_KEY: add a key with given %NL80211_ATTR_KEY_DATA,
65 * %NL80211_ATTR_KEY_IDX, %NL80211_ATTR_MAC, %NL80211_ATTR_KEY_CIPHER,
66- * and %NL80211_ATTR_KEY_SEQ attributes.
67+ * and %NL80211_ATTR_KEY_SEQ attributes. %NL80211_ATTR_MAC represents
68+ * peer's MLD address for MLO pairwise key. The link to add MLO
69+ * group key is identified by %NL80211_ATTR_MLO_LINK_ID.
70 * @NL80211_CMD_DEL_KEY: delete a key identified by %NL80211_ATTR_KEY_IDX
71- * or %NL80211_ATTR_MAC.
72+ * or %NL80211_ATTR_MAC. %NL80211_ATTR_MAC represents peer's MLD address
73+ * for MLO pairwise key. The link to delete group key is identified by
74+ * %NL80211_ATTR_MLO_LINK_ID.
75 *
76 * @NL80211_CMD_GET_BEACON: (not used)
77 * @NL80211_CMD_SET_BEACON: change the beacon on an access point interface
78@@ -405,7 +424,8 @@
79 * interface identified by %NL80211_ATTR_IFINDEX.
80 * @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC
81 * or, if no MAC address given, all stations, on the interface identified
82- * by %NL80211_ATTR_IFINDEX. %NL80211_ATTR_MGMT_SUBTYPE and
83+ * by %NL80211_ATTR_IFINDEX. For MLD station, MLD address is used in
84+ * %NL80211_ATTR_MAC. %NL80211_ATTR_MGMT_SUBTYPE and
85 * %NL80211_ATTR_REASON_CODE can optionally be used to specify which type
86 * of disconnection indication should be sent to the station
87 * (Deauthentication or Disassociation frame and reason code for that
88@@ -753,6 +773,13 @@
89 * %NL80211_ATTR_CSA_C_OFFSETS_TX is an array of offsets to CSA
90 * counters which will be updated to the current value. This attribute
91 * is used during CSA period.
92+ * For TX on an MLD, the frequency can be omitted and the link ID be
93+ * specified, or if transmitting to a known peer MLD (with MLD addresses
94+ * in the frame) both can be omitted and the link will be selected by
95+ * lower layers.
96+ * For RX notification, %NL80211_ATTR_RX_HW_TIMESTAMP may be included to
97+ * indicate the frame RX timestamp and %NL80211_ATTR_TX_HW_TIMESTAMP may
98+ * be included to indicate the ack TX timestamp.
99 * @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this
100 * command may be used with the corresponding cookie to cancel the wait
101 * time if it is known that it is no longer necessary. This command is
102@@ -763,7 +790,9 @@
103 * transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies
104 * the TX command and %NL80211_ATTR_FRAME includes the contents of the
105 * frame. %NL80211_ATTR_ACK flag is included if the recipient acknowledged
106- * the frame.
107+ * the frame. %NL80211_ATTR_TX_HW_TIMESTAMP may be included to indicate the
108+ * tx timestamp and %NL80211_ATTR_RX_HW_TIMESTAMP may be included to
109+ * indicate the ack RX timestamp.
110 * @NL80211_CMD_ACTION_TX_STATUS: Alias for @NL80211_CMD_FRAME_TX_STATUS for
111 * backward compatibility.
112 *
113@@ -1108,6 +1137,12 @@
114 * has been received. %NL80211_ATTR_FRAME is used to specify the
115 * frame contents. The frame is the raw EAPoL data, without ethernet or
116 * 802.11 headers.
117+ * For an MLD transmitter, the %NL80211_ATTR_MLO_LINK_ID may be given and
118+ * its effect will depend on the destination: If the destination is known
119+ * to be an MLD, this will be used as a hint to select the link to transmit
120+ * the frame on. If the destination is not an MLD, this will select both
121+ * the link to transmit on and the source address will be set to the link
122+ * address of that link.
123 * When used as an event indication %NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
124 * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added
125 * indicating the protocol type of the received frame; whether the frame
126@@ -1132,6 +1167,23 @@
127 * %NL80211_ATTR_STATUS_CODE attribute in %NL80211_CMD_EXTERNAL_AUTH
128 * command interface.
129 *
130+ * Host driver sends MLD address of the AP with %NL80211_ATTR_MLD_ADDR in
131+ * %NL80211_CMD_EXTERNAL_AUTH event to indicate user space to enable MLO
132+ * during the authentication offload in STA mode while connecting to MLD
133+ * APs. Host driver should check %NL80211_ATTR_MLO_SUPPORT flag capability
134+ * in %NL80211_CMD_CONNECT to know whether the user space supports enabling
135+ * MLO during the authentication offload or not.
136+ * User space should enable MLO during the authentication only when it
137+ * receives the AP MLD address in authentication offload request. User
138+ * space shouldn't enable MLO when the authentication offload request
139+ * doesn't indicate the AP MLD address even if the AP is MLO capable.
140+ * User space should use %NL80211_ATTR_MLD_ADDR as peer's MLD address and
141+ * interface address identified by %NL80211_ATTR_IFINDEX as self MLD
142+ * address. User space and host driver to use MLD addresses in RA, TA and
143+ * BSSID fields of the frames between them, and host driver translates the
144+ * MLD addresses to/from link addresses based on the link chosen for the
145+ * authentication.
146+ *
147 * Host driver reports this status on an authentication failure to the
148 * user space through the connect result as the user space would have
149 * initiated the connection through the connect request.
150@@ -1237,6 +1289,26 @@
151 * to describe the BSSID address of the AP and %NL80211_ATTR_TIMEOUT to
152 * specify the timeout value.
153 *
154+ * @NL80211_CMD_ADD_LINK: Add a new link to an interface. The
155+ * %NL80211_ATTR_MLO_LINK_ID attribute is used for the new link.
156+ * @NL80211_CMD_REMOVE_LINK: Remove a link from an interface. This may come
157+ * without %NL80211_ATTR_MLO_LINK_ID as an easy way to remove all links
158+ * in preparation for e.g. roaming to a regular (non-MLO) AP.
159+ *
160+ * @NL80211_CMD_ADD_LINK_STA: Add a link to an MLD station
161+ * @NL80211_CMD_MODIFY_LINK_STA: Modify a link of an MLD station
162+ * @NL80211_CMD_REMOVE_LINK_STA: Remove a link of an MLD station
163+ *
164+ * @NL80211_CMD_SET_HW_TIMESTAMP: Enable/disable HW timestamping of Timing
165+ * measurement and Fine timing measurement frames. If %NL80211_ATTR_MAC
166+ * is included, enable/disable HW timestamping only for frames to/from the
167+ * specified MAC address. Otherwise enable/disable HW timestamping for
168+ * all TM/FTM frames (including ones that were enabled with specific MAC
169+ * address). If %NL80211_ATTR_HW_TIMESTAMP_ENABLED is not included, disable
170+ * HW timestamping.
171+ * The number of peers that HW timestamping can be enabled for concurrently
172+ * is indicated by %NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS.
173+ *
174 * @NL80211_CMD_MAX: highest used command number
175 * @__NL80211_CMD_AFTER_LAST: internal use
176 */
177@@ -1481,6 +1553,15 @@ enum nl80211_commands {
178
179 NL80211_CMD_ASSOC_COMEBACK,
180
181+ NL80211_CMD_ADD_LINK,
182+ NL80211_CMD_REMOVE_LINK,
183+
184+ NL80211_CMD_ADD_LINK_STA,
185+ NL80211_CMD_MODIFY_LINK_STA,
186+ NL80211_CMD_REMOVE_LINK_STA,
187+
188+ NL80211_CMD_SET_HW_TIMESTAMP,
189+
190 /* add new commands above here */
191
192 /* used to define NL80211_CMD_MAX below */
193@@ -2340,8 +2421,10 @@ enum nl80211_commands {
194 *
195 * @NL80211_ATTR_IFTYPE_EXT_CAPA: Nested attribute of the following attributes:
196 * %NL80211_ATTR_IFTYPE, %NL80211_ATTR_EXT_CAPA,
197- * %NL80211_ATTR_EXT_CAPA_MASK, to specify the extended capabilities per
198- * interface type.
199+ * %NL80211_ATTR_EXT_CAPA_MASK, to specify the extended capabilities and
200+ * other interface-type specific capabilities per interface type. For MLO,
201+ * %NL80211_ATTR_EML_CAPABILITY and %NL80211_ATTR_MLD_CAPA_AND_OPS are
202+ * present.
203 *
204 * @NL80211_ATTR_MU_MIMO_GROUP_DATA: array of 24 bytes that defines a MU-MIMO
205 * groupID for monitor mode.
206@@ -2663,6 +2746,65 @@ enum nl80211_commands {
207 * association request when used with NL80211_CMD_NEW_STATION). Can be set
208 * only if %NL80211_STA_FLAG_WME is set.
209 *
210+ * @NL80211_ATTR_MLO_LINK_ID: A (u8) link ID for use with MLO, to be used with
211+ * various commands that need a link ID to operate.
212+ * @NL80211_ATTR_MLO_LINKS: A nested array of links, each containing some
213+ * per-link information and a link ID.
214+ * @NL80211_ATTR_MLD_ADDR: An MLD address, used with various commands such as
215+ * authenticate/associate.
216+ *
217+ * @NL80211_ATTR_MLO_SUPPORT: Flag attribute to indicate user space supports MLO
218+ * connection. Used with %NL80211_CMD_CONNECT. If this attribute is not
219+ * included in NL80211_CMD_CONNECT drivers must not perform MLO connection.
220+ *
221+ * @NL80211_ATTR_MAX_NUM_AKM_SUITES: U16 attribute. Indicates maximum number of
222+ * AKM suites allowed for %NL80211_CMD_CONNECT, %NL80211_CMD_ASSOCIATE and
223+ * %NL80211_CMD_START_AP in %NL80211_CMD_GET_WIPHY response. If this
224+ * attribute is not present userspace shall consider maximum number of AKM
225+ * suites allowed as %NL80211_MAX_NR_AKM_SUITES which is the legacy maximum
226+ * number prior to the introduction of this attribute.
227+ *
228+ * @NL80211_ATTR_EML_CAPABILITY: EML Capability information (u16)
229+ * @NL80211_ATTR_MLD_CAPA_AND_OPS: MLD Capabilities and Operations (u16)
230+ *
231+ * @NL80211_ATTR_TX_HW_TIMESTAMP: Hardware timestamp for TX operation in
232+ * nanoseconds (u64). This is the device clock timestamp so it will
233+ * probably reset when the device is stopped or the firmware is reset.
234+ * When used with %NL80211_CMD_FRAME_TX_STATUS, indicates the frame TX
235+ * timestamp. When used with %NL80211_CMD_FRAME RX notification, indicates
236+ * the ack TX timestamp.
237+ * @NL80211_ATTR_RX_HW_TIMESTAMP: Hardware timestamp for RX operation in
238+ * nanoseconds (u64). This is the device clock timestamp so it will
239+ * probably reset when the device is stopped or the firmware is reset.
240+ * When used with %NL80211_CMD_FRAME_TX_STATUS, indicates the ack RX
241+ * timestamp. When used with %NL80211_CMD_FRAME RX notification, indicates
242+ * the incoming frame RX timestamp.
243+ * @NL80211_ATTR_TD_BITMAP: Transition Disable bitmap, for subsequent
244+ * (re)associations.
245+ *
246+ * @NL80211_ATTR_PUNCT_BITMAP: (u32) Preamble puncturing bitmap, lowest
247+ * bit corresponds to the lowest 20 MHz channel. Each bit set to 1
248+ * indicates that the sub-channel is punctured. Higher 16 bits are
249+ * reserved.
250+ *
251+ * @NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS: Maximum number of peers that HW
252+ * timestamping can be enabled for concurrently (u16), a wiphy attribute.
253+ * A value of 0xffff indicates setting for all peers (i.e. not specifying
254+ * an address with %NL80211_CMD_SET_HW_TIMESTAMP) is supported.
255+ * @NL80211_ATTR_HW_TIMESTAMP_ENABLED: Indicates whether HW timestamping should
256+ * be enabled or not (flag attribute).
257+ *
258+ * @NL80211_ATTR_EMA_RNR_ELEMS: Optional nested attribute for
259+ * reduced neighbor report (RNR) elements. This attribute can be used
260+ * only when NL80211_MBSSID_CONFIG_ATTR_EMA is enabled.
261+ * Userspace is responsible for splitting the RNR into multiple
262+ * elements such that each element excludes the non-transmitting
263+ * profiles already included in the MBSSID element
264+ * (%NL80211_ATTR_MBSSID_ELEMS) at the same index. Each EMA beacon
265+ * will be generated by adding MBSSID and RNR elements at the same
266+ * index. If the userspace includes more RNR elements than number of
267+ * MBSSID elements then these will be added in every EMA beacon.
268+ *
269 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
270 * @NL80211_ATTR_MAX: highest attribute number currently defined
271 * @__NL80211_ATTR_AFTER_LAST: internal use
272@@ -3177,6 +3319,28 @@ enum nl80211_attrs {
273
274 NL80211_ATTR_DISABLE_EHT,
275
276+ NL80211_ATTR_MLO_LINKS,
277+ NL80211_ATTR_MLO_LINK_ID,
278+ NL80211_ATTR_MLD_ADDR,
279+
280+ NL80211_ATTR_MLO_SUPPORT,
281+
282+ NL80211_ATTR_MAX_NUM_AKM_SUITES,
283+
284+ NL80211_ATTR_EML_CAPABILITY,
285+ NL80211_ATTR_MLD_CAPA_AND_OPS,
286+
287+ NL80211_ATTR_TX_HW_TIMESTAMP,
288+ NL80211_ATTR_RX_HW_TIMESTAMP,
289+ NL80211_ATTR_TD_BITMAP,
290+
291+ NL80211_ATTR_PUNCT_BITMAP,
292+
293+ NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS,
294+ NL80211_ATTR_HW_TIMESTAMP_ENABLED,
295+
296+ NL80211_ATTR_EMA_RNR_ELEMS,
297+
298 /* add attributes here, update the policy in nl80211.c */
299
300 __NL80211_ATTR_AFTER_LAST,
301@@ -3231,6 +3395,11 @@ enum nl80211_attrs {
302 #define NL80211_HE_MIN_CAPABILITY_LEN 16
303 #define NL80211_HE_MAX_CAPABILITY_LEN 54
304 #define NL80211_MAX_NR_CIPHER_SUITES 5
305+
306+/*
307+ * NL80211_MAX_NR_AKM_SUITES is obsolete when %NL80211_ATTR_MAX_NUM_AKM_SUITES
308+ * present in %NL80211_CMD_GET_WIPHY response.
309+ */
310 #define NL80211_MAX_NR_AKM_SUITES 2
311 #define NL80211_EHT_MIN_CAPABILITY_LEN 13
312 #define NL80211_EHT_MAX_CAPABILITY_LEN 51
313@@ -3892,6 +4061,10 @@ enum nl80211_band_iftype_attr {
314 * @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
315 * the allowed channel bandwidth configurations.
316 * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
317+ * @NL80211_BAND_ATTR_S1G_MCS_NSS_SET: S1G capabilities, supported S1G-MCS and NSS
318+ * set subfield, as in the S1G information IE, 5 bytes
319+ * @NL80211_BAND_ATTR_S1G_CAPA: S1G capabilities information subfield as in the
320+ * S1G information IE, 10 bytes
321 * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined
322 * @__NL80211_BAND_ATTR_AFTER_LAST: internal use
323 */
324@@ -3912,6 +4085,9 @@ enum nl80211_band_attr {
325 NL80211_BAND_ATTR_EDMG_CHANNELS,
326 NL80211_BAND_ATTR_EDMG_BW_CONFIG,
327
328+ NL80211_BAND_ATTR_S1G_MCS_NSS_SET,
329+ NL80211_BAND_ATTR_S1G_CAPA,
330+
331 /* keep last */
332 __NL80211_BAND_ATTR_AFTER_LAST,
333 NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
334@@ -4853,6 +5029,8 @@ enum nl80211_bss_scan_width {
335 * Contains a nested array of signal strength attributes (u8, dBm),
336 * using the nesting index as the antenna number.
337 * @NL80211_BSS_FREQUENCY_OFFSET: frequency offset in KHz
338+ * @NL80211_BSS_MLO_LINK_ID: MLO link ID of the BSS (u8).
339+ * @NL80211_BSS_MLD_ADDR: MLD address of this BSS if connected to it.
340 * @__NL80211_BSS_AFTER_LAST: internal
341 * @NL80211_BSS_MAX: highest BSS attribute
342 */
343@@ -4878,6 +5056,8 @@ enum nl80211_bss {
344 NL80211_BSS_PARENT_BSSID,
345 NL80211_BSS_CHAIN_SIGNAL,
346 NL80211_BSS_FREQUENCY_OFFSET,
347+ NL80211_BSS_MLO_LINK_ID,
348+ NL80211_BSS_MLD_ADDR,
349
350 /* keep last */
351 __NL80211_BSS_AFTER_LAST,
352@@ -5757,6 +5937,7 @@ enum plink_actions {
353 #define NL80211_KEK_LEN 16
354 #define NL80211_KCK_EXT_LEN 24
355 #define NL80211_KEK_EXT_LEN 32
356+#define NL80211_KCK_EXT_LEN_32 32
357 #define NL80211_REPLAY_CTR_LEN 8
358
359 /**
360@@ -5874,7 +6055,7 @@ enum nl80211_ap_sme_features {
361 * @NL80211_FEATURE_INACTIVITY_TIMER: This driver takes care of freeing up
362 * the connected inactive stations in AP mode.
363 * @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested
364- * to work properly to suppport receiving regulatory hints from
365+ * to work properly to support receiving regulatory hints from
366 * cellular base stations.
367 * @NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL: (no longer available, only
368 * here to reserve the value for API/ABI compatibility)
369@@ -6174,6 +6355,23 @@ enum nl80211_feature_flags {
370 * @NL80211_EXT_FEATURE_RADAR_BACKGROUND: Device supports background radar/CAC
371 * detection.
372 *
373+ * @NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE: Device can perform a MAC address
374+ * change without having to bring the underlying network device down
375+ * first. For example, in station mode this can be used to vary the
376+ * origin MAC address prior to a connection to a new AP for privacy
377+ * or other reasons. Note that certain driver specific restrictions
378+ * might apply, e.g. no scans in progress, no offchannel operations
379+ * in progress, and no active connections.
380+ *
381+ * @NL80211_EXT_FEATURE_PUNCT: Driver supports preamble puncturing in AP mode.
382+ *
383+ * @NL80211_EXT_FEATURE_SECURE_NAN: Device supports NAN Pairing which enables
384+ * authentication, data encryption and message integrity.
385+ *
386+ * @NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA: Device supports randomized TA
387+ * in authentication and deauthentication frames sent to unassociated peer
388+ * using @NL80211_CMD_FRAME.
389+ *
390 * @NUM_NL80211_EXT_FEATURES: number of extended features.
391 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
392 */
393@@ -6241,6 +6439,10 @@ enum nl80211_ext_feature_index {
394 NL80211_EXT_FEATURE_BSS_COLOR,
395 NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD,
396 NL80211_EXT_FEATURE_RADAR_BACKGROUND,
397+ NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE,
398+ NL80211_EXT_FEATURE_PUNCT,
399+ NL80211_EXT_FEATURE_SECURE_NAN,
400+ NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA,
401
402 /* add new features before the definition below */
403 NUM_NL80211_EXT_FEATURES,
404@@ -6355,8 +6557,16 @@ enum nl80211_timeout_reason {
405 * @NL80211_SCAN_FLAG_FREQ_KHZ: report scan results with
406 * %NL80211_ATTR_SCAN_FREQ_KHZ. This also means
407 * %NL80211_ATTR_SCAN_FREQUENCIES will not be included.
408- * @NL80211_SCAN_FLAG_COLOCATED_6GHZ: scan for colocated APs reported by
409- * 2.4/5 GHz APs
410+ * @NL80211_SCAN_FLAG_COLOCATED_6GHZ: scan for collocated APs reported by
411+ * 2.4/5 GHz APs. When the flag is set, the scan logic will use the
412+ * information from the RNR element found in beacons/probe responses
413+ * received on the 2.4/5 GHz channels to actively scan only the 6GHz
414+ * channels on which APs are expected to be found. Note that when not set,
415+ * the scan logic would scan all 6GHz channels, but since transmission of
416+ * probe requests on non PSC channels is limited, it is highly likely that
417+ * these channels would passively be scanned. Also note that when the flag
418+ * is set, in addition to the colocated APs, PSC channels would also be
419+ * scanned if the user space has asked for it.
420 */
421 enum nl80211_scan_flags {
422 NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0,
423--
4242.39.2
425