|
@@ -542,7 +542,8 @@
|
|
|
* IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_USE_MFP,
|
|
|
* %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT,
|
|
|
* %NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
|
|
|
- * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, %NL80211_ATTR_MAC_HINT, and
|
|
|
+ * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT,
|
|
|
+ * %NL80211_ATTR_CONTROL_PORT_OVER_NL80211, %NL80211_ATTR_MAC_HINT, and
|
|
|
* %NL80211_ATTR_WIPHY_FREQ_HINT.
|
|
|
* If included, %NL80211_ATTR_MAC and %NL80211_ATTR_WIPHY_FREQ are
|
|
|
* restrictions on BSS selection, i.e., they effectively prevent roaming
|
|
@@ -990,6 +991,17 @@
|
|
|
* &NL80211_CMD_CONNECT or &NL80211_CMD_ROAM. If the 4 way handshake failed
|
|
|
* &NL80211_CMD_DISCONNECT should be indicated instead.
|
|
|
*
|
|
|
+ * @NL80211_CMD_CONTROL_PORT_FRAME: Control Port (e.g. PAE) frame TX request
|
|
|
+ * and RX notification. This command is used both as a request to transmit
|
|
|
+ * a control port frame and as a notification that a control port frame
|
|
|
+ * has been received. %NL80211_ATTR_FRAME is used to specify the
|
|
|
+ * frame contents. The frame is the raw EAPoL data, without ethernet or
|
|
|
+ * 802.11 headers.
|
|
|
+ * When used as an event indication %NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
|
|
|
+ * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added
|
|
|
+ * indicating the protocol type of the received frame; whether the frame
|
|
|
+ * was received unencrypted and the MAC address of the peer respectively.
|
|
|
+ *
|
|
|
* @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded.
|
|
|
*
|
|
|
* @NL80211_CMD_EXTERNAL_AUTH: This interface is exclusively defined for host
|
|
@@ -1228,6 +1240,8 @@ enum nl80211_commands {
|
|
|
|
|
|
NL80211_CMD_STA_OPMODE_CHANGED,
|
|
|
|
|
|
+ NL80211_CMD_CONTROL_PORT_FRAME,
|
|
|
+
|
|
|
/* add new commands above here */
|
|
|
|
|
|
/* used to define NL80211_CMD_MAX below */
|
|
@@ -1475,6 +1489,15 @@ enum nl80211_commands {
|
|
|
* @NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT: When included along with
|
|
|
* %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, indicates that the custom
|
|
|
* ethertype frames used for key negotiation must not be encrypted.
|
|
|
+ * @NL80211_ATTR_CONTROL_PORT_OVER_NL80211: A flag indicating whether control
|
|
|
+ * port frames (e.g. of type given in %NL80211_ATTR_CONTROL_PORT_ETHERTYPE)
|
|
|
+ * will be sent directly to the network interface or sent via the NL80211
|
|
|
+ * socket. If this attribute is missing, then legacy behavior of sending
|
|
|
+ * control port frames directly to the network interface is used. If the
|
|
|
+ * flag is included, then control port frames are sent over NL80211 instead
|
|
|
+ * using %CMD_CONTROL_PORT_FRAME. If control port routing over NL80211 is
|
|
|
+ * to be used then userspace must also use the %NL80211_ATTR_SOCKET_OWNER
|
|
|
+ * flag.
|
|
|
*
|
|
|
* @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver.
|
|
|
* We recommend using nested, driver-specific attributes within this.
|
|
@@ -1962,6 +1985,12 @@ enum nl80211_commands {
|
|
|
* multicast group.
|
|
|
* If set during %NL80211_CMD_ASSOCIATE or %NL80211_CMD_CONNECT the
|
|
|
* station will deauthenticate when the socket is closed.
|
|
|
+ * If set during %NL80211_CMD_JOIN_IBSS the IBSS will be automatically
|
|
|
+ * torn down when the socket is closed.
|
|
|
+ * If set during %NL80211_CMD_JOIN_MESH the mesh setup will be
|
|
|
+ * automatically torn down when the socket is closed.
|
|
|
+ * If set during %NL80211_CMD_START_AP the AP will be automatically
|
|
|
+ * disabled when the socket is closed.
|
|
|
*
|
|
|
* @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
|
|
|
* the TDLS link initiator.
|
|
@@ -2628,6 +2657,8 @@ enum nl80211_attrs {
|
|
|
NL80211_ATTR_NSS,
|
|
|
NL80211_ATTR_ACK_SIGNAL,
|
|
|
|
|
|
+ NL80211_ATTR_CONTROL_PORT_OVER_NL80211,
|
|
|
+
|
|
|
/* add attributes here, update the policy in nl80211.c */
|
|
|
|
|
|
__NL80211_ATTR_AFTER_LAST,
|
|
@@ -4999,6 +5030,14 @@ enum nl80211_feature_flags {
|
|
|
* @NL80211_EXT_FEATURE_LOW_SPAN_SCAN: Driver supports low span scan.
|
|
|
* @NL80211_EXT_FEATURE_LOW_POWER_SCAN: Driver supports low power scan.
|
|
|
* @NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN: Driver supports high accuracy scan.
|
|
|
+ * @NL80211_EXT_FEATURE_DFS_OFFLOAD: HW/driver will offload DFS actions.
|
|
|
+ * Device or driver will do all DFS-related actions by itself,
|
|
|
+ * informing user-space about CAC progress, radar detection event,
|
|
|
+ * channel change triggered by radar detection event.
|
|
|
+ * No need to start CAC from user-space, no need to react to
|
|
|
+ * "radar detected" event.
|
|
|
+ * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211: Driver supports sending and
|
|
|
+ * receiving control port frames over nl80211 instead of the netdevice.
|
|
|
*
|
|
|
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
|
|
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
|
@@ -5029,6 +5068,8 @@ enum nl80211_ext_feature_index {
|
|
|
NL80211_EXT_FEATURE_LOW_SPAN_SCAN,
|
|
|
NL80211_EXT_FEATURE_LOW_POWER_SCAN,
|
|
|
NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN,
|
|
|
+ NL80211_EXT_FEATURE_DFS_OFFLOAD,
|
|
|
+ NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211,
|
|
|
|
|
|
/* add new features before the definition below */
|
|
|
NUM_NL80211_EXT_FEATURES,
|
|
@@ -5204,6 +5245,8 @@ enum nl80211_smps_mode {
|
|
|
* 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.
|
|
|
+ * @NL80211_RADAR_CAC_STARTED: Channel Availability Check has been started,
|
|
|
+ * should be generated by HW if NL80211_EXT_FEATURE_DFS_OFFLOAD is enabled.
|
|
|
*/
|
|
|
enum nl80211_radar_event {
|
|
|
NL80211_RADAR_DETECTED,
|
|
@@ -5211,6 +5254,7 @@ enum nl80211_radar_event {
|
|
|
NL80211_RADAR_CAC_ABORTED,
|
|
|
NL80211_RADAR_NOP_FINISHED,
|
|
|
NL80211_RADAR_PRE_CAC_EXPIRED,
|
|
|
+ NL80211_RADAR_CAC_STARTED,
|
|
|
};
|
|
|
|
|
|
/**
|