|
@@ -10,7 +10,7 @@
|
|
|
* Copyright 2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com>
|
|
|
* Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
|
|
|
* Copyright 2008 Colin McCabe <colin@cozybit.com>
|
|
|
- * Copyright 2015 Intel Deutschland GmbH
|
|
|
+ * Copyright 2015-2017 Intel Deutschland GmbH
|
|
|
*
|
|
|
* Permission to use, copy, modify, and/or distribute this software for any
|
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
@@ -854,12 +854,15 @@
|
|
|
* cfg80211_scan_done().
|
|
|
*
|
|
|
* @NL80211_CMD_START_NAN: Start NAN operation, identified by its
|
|
|
- * %NL80211_ATTR_WDEV interface. This interface must have been previously
|
|
|
- * created with %NL80211_CMD_NEW_INTERFACE. After it has been started, the
|
|
|
- * NAN interface will create or join a cluster. This command must have a
|
|
|
- * valid %NL80211_ATTR_NAN_MASTER_PREF attribute and optional
|
|
|
- * %NL80211_ATTR_NAN_DUAL attributes.
|
|
|
- * After this command NAN functions can be added.
|
|
|
+ * %NL80211_ATTR_WDEV interface. This interface must have been
|
|
|
+ * previously created with %NL80211_CMD_NEW_INTERFACE. After it
|
|
|
+ * has been started, the NAN interface will create or join a
|
|
|
+ * cluster. This command must have a valid
|
|
|
+ * %NL80211_ATTR_NAN_MASTER_PREF attribute and optional
|
|
|
+ * %NL80211_ATTR_BANDS attributes. If %NL80211_ATTR_BANDS is
|
|
|
+ * omitted or set to 0, it means don't-care and the device will
|
|
|
+ * decide what to use. After this command NAN functions can be
|
|
|
+ * added.
|
|
|
* @NL80211_CMD_STOP_NAN: Stop the NAN operation, identified by
|
|
|
* its %NL80211_ATTR_WDEV interface.
|
|
|
* @NL80211_CMD_ADD_NAN_FUNCTION: Add a NAN function. The function is defined
|
|
@@ -880,10 +883,14 @@
|
|
|
* This command is also used as a notification sent when a NAN function is
|
|
|
* terminated. This will contain a %NL80211_ATTR_NAN_FUNC_INST_ID
|
|
|
* and %NL80211_ATTR_COOKIE attributes.
|
|
|
- * @NL80211_CMD_CHANGE_NAN_CONFIG: Change current NAN configuration. NAN
|
|
|
- * must be operational (%NL80211_CMD_START_NAN was executed).
|
|
|
- * It must contain at least one of the following attributes:
|
|
|
- * %NL80211_ATTR_NAN_MASTER_PREF, %NL80211_ATTR_NAN_DUAL.
|
|
|
+ * @NL80211_CMD_CHANGE_NAN_CONFIG: Change current NAN
|
|
|
+ * configuration. NAN must be operational (%NL80211_CMD_START_NAN
|
|
|
+ * was executed). It must contain at least one of the following
|
|
|
+ * attributes: %NL80211_ATTR_NAN_MASTER_PREF,
|
|
|
+ * %NL80211_ATTR_BANDS. If %NL80211_ATTR_BANDS is omitted, the
|
|
|
+ * current configuration is not changed. If it is present but
|
|
|
+ * set to zero, the configuration is changed to don't-care
|
|
|
+ * (i.e. the device can decide what to do).
|
|
|
* @NL80211_CMD_NAN_FUNC_MATCH: Notification sent when a match is reported.
|
|
|
* This will contain a %NL80211_ATTR_NAN_MATCH nested attribute and
|
|
|
* %NL80211_ATTR_COOKIE.
|
|
@@ -1963,10 +1970,13 @@ enum nl80211_commands {
|
|
|
* %NL80211_CMD_CHANGE_NAN_CONFIG. Its type is u8 and it can't be 0.
|
|
|
* Also, values 1 and 255 are reserved for certification purposes and
|
|
|
* should not be used during a normal device operation.
|
|
|
- * @NL80211_ATTR_NAN_DUAL: NAN dual band operation config (see
|
|
|
- * &enum nl80211_nan_dual_band_conf). This attribute is used with
|
|
|
- * %NL80211_CMD_START_NAN and optionally with
|
|
|
- * %NL80211_CMD_CHANGE_NAN_CONFIG.
|
|
|
+ * @NL80211_ATTR_BANDS: operating bands configuration. This is a u32
|
|
|
+ * bitmask of BIT(NL80211_BAND_*) as described in %enum
|
|
|
+ * nl80211_band. For instance, for NL80211_BAND_2GHZ, bit 0
|
|
|
+ * would be set. This attribute is used with
|
|
|
+ * %NL80211_CMD_START_NAN and %NL80211_CMD_CHANGE_NAN_CONFIG, and
|
|
|
+ * it is optional. If no bands are set, it means don't-care and
|
|
|
+ * the device will decide what to use.
|
|
|
* @NL80211_ATTR_NAN_FUNC: a function that can be added to NAN. See
|
|
|
* &enum nl80211_nan_func_attributes for description of this nested
|
|
|
* attribute.
|
|
@@ -2397,7 +2407,7 @@ enum nl80211_attrs {
|
|
|
NL80211_ATTR_MESH_PEER_AID,
|
|
|
|
|
|
NL80211_ATTR_NAN_MASTER_PREF,
|
|
|
- NL80211_ATTR_NAN_DUAL,
|
|
|
+ NL80211_ATTR_BANDS,
|
|
|
NL80211_ATTR_NAN_FUNC,
|
|
|
NL80211_ATTR_NAN_MATCH,
|
|
|
|
|
@@ -3932,7 +3942,10 @@ enum nl80211_ps_state {
|
|
|
* @__NL80211_ATTR_CQM_INVALID: invalid
|
|
|
* @NL80211_ATTR_CQM_RSSI_THOLD: RSSI threshold in dBm. This value specifies
|
|
|
* the threshold for the RSSI level at which an event will be sent. Zero
|
|
|
- * to disable.
|
|
|
+ * to disable. Alternatively, if %NL80211_EXT_FEATURE_CQM_RSSI_LIST is
|
|
|
+ * set, multiple values can be supplied as a low-to-high sorted array of
|
|
|
+ * threshold values in dBm. Events will be sent when the RSSI value
|
|
|
+ * crosses any of the thresholds.
|
|
|
* @NL80211_ATTR_CQM_RSSI_HYST: RSSI hysteresis in dBm. This value specifies
|
|
|
* the minimum amount the RSSI level must change after an event before a
|
|
|
* new event may be issued (to reduce effects of RSSI oscillation).
|
|
@@ -3952,6 +3965,8 @@ enum nl80211_ps_state {
|
|
|
* %NL80211_CMD_NOTIFY_CQM. Set to 0 to turn off TX error reporting.
|
|
|
* @NL80211_ATTR_CQM_BEACON_LOSS_EVENT: flag attribute that's set in a beacon
|
|
|
* loss event
|
|
|
+ * @NL80211_ATTR_CQM_RSSI_LEVEL: the RSSI value in dBm that triggered the
|
|
|
+ * RSSI threshold event.
|
|
|
* @__NL80211_ATTR_CQM_AFTER_LAST: internal
|
|
|
* @NL80211_ATTR_CQM_MAX: highest key attribute
|
|
|
*/
|
|
@@ -3965,6 +3980,7 @@ enum nl80211_attr_cqm {
|
|
|
NL80211_ATTR_CQM_TXE_PKTS,
|
|
|
NL80211_ATTR_CQM_TXE_INTVL,
|
|
|
NL80211_ATTR_CQM_BEACON_LOSS_EVENT,
|
|
|
+ NL80211_ATTR_CQM_RSSI_LEVEL,
|
|
|
|
|
|
/* keep last */
|
|
|
__NL80211_ATTR_CQM_AFTER_LAST,
|
|
@@ -4740,6 +4756,9 @@ enum nl80211_feature_flags {
|
|
|
* @NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI: The driver supports sched_scan
|
|
|
* for reporting BSSs with better RSSI than the current connected BSS
|
|
|
* (%NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI).
|
|
|
+ * @NL80211_EXT_FEATURE_CQM_RSSI_LIST: With this driver the
|
|
|
+ * %NL80211_ATTR_CQM_RSSI_THOLD attribute accepts a list of zero or more
|
|
|
+ * RSSI threshold values to monitor rather than exactly one threshold.
|
|
|
*
|
|
|
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
|
|
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
|
@@ -4758,6 +4777,7 @@ enum nl80211_ext_feature_index {
|
|
|
NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA,
|
|
|
NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED,
|
|
|
NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI,
|
|
|
+ NL80211_EXT_FEATURE_CQM_RSSI_LIST,
|
|
|
|
|
|
/* add new features before the definition below */
|
|
|
NUM_NL80211_EXT_FEATURES,
|
|
@@ -4893,12 +4913,17 @@ enum nl80211_smps_mode {
|
|
|
* change to the channel status.
|
|
|
* @NL80211_RADAR_NOP_FINISHED: The Non-Occupancy Period for this channel is
|
|
|
* over, channel becomes usable.
|
|
|
+ * @NL80211_RADAR_PRE_CAC_EXPIRED: Channel Availability Check done on this
|
|
|
+ * non-operating channel is expired and no longer valid. New CAC must
|
|
|
+ * be done on this channel before starting the operation. This is not
|
|
|
+ * applicable for ETSI dfs domain where pre-CAC is valid for ever.
|
|
|
*/
|
|
|
enum nl80211_radar_event {
|
|
|
NL80211_RADAR_DETECTED,
|
|
|
NL80211_RADAR_CAC_FINISHED,
|
|
|
NL80211_RADAR_CAC_ABORTED,
|
|
|
NL80211_RADAR_NOP_FINISHED,
|
|
|
+ NL80211_RADAR_PRE_CAC_EXPIRED,
|
|
|
};
|
|
|
|
|
|
/**
|
|
@@ -5067,21 +5092,6 @@ enum nl80211_bss_select_attr {
|
|
|
NL80211_BSS_SELECT_ATTR_MAX = __NL80211_BSS_SELECT_ATTR_AFTER_LAST - 1
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * enum nl80211_nan_dual_band_conf - NAN dual band configuration
|
|
|
- *
|
|
|
- * Defines the NAN dual band mode of operation
|
|
|
- *
|
|
|
- * @NL80211_NAN_BAND_DEFAULT: device default mode
|
|
|
- * @NL80211_NAN_BAND_2GHZ: 2.4GHz mode
|
|
|
- * @NL80211_NAN_BAND_5GHZ: 5GHz mode
|
|
|
- */
|
|
|
-enum nl80211_nan_dual_band_conf {
|
|
|
- NL80211_NAN_BAND_DEFAULT = 1 << 0,
|
|
|
- NL80211_NAN_BAND_2GHZ = 1 << 1,
|
|
|
- NL80211_NAN_BAND_5GHZ = 1 << 2,
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* enum nl80211_nan_function_type - NAN function type
|
|
|
*
|