History

Merge tag 'mac80211-next-for-davem-2018-02-22' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next

Johannes Berg says: ==================== Various updates across wireless. One thing to note: I've included a new ethertype that wireless uses (ETH_P_PREAUTH) in if_ether.h. ====================

David S. Miller committed 8 years ago

Commit 60772e42 parents 82e3be3 94ba92725 files · +584 −87Browse files

Showing the changes to include/uapi/linux (2 of 25 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/if_ether.h +1 −0
  2. include/uapi/linux/nl80211.h +89 −1
include/uapi/linux/if_ether.h+1−0
@@ -88,6 +88,7 @@ · 87 unmodified lines
8888 #define ETH_P_AOE 0x88A2 /* ATA over Ethernet */
8989 #define ETH_P_8021AD 0x88A8 /* 802.1ad Service VLAN */
9090 #define ETH_P_802_EX1 0x88B5 /* 802.1 Local Experimental 1. */
91+#define ETH_P_PREAUTH 0x88C7 /* 802.11 Preauthentication */
9192 #define ETH_P_TIPC 0x88CA /* TIPC */
9293 #define ETH_P_MACSEC 0x88E5 /* 802.1ae MACsec */
9394 #define ETH_P_8021AH 0x88E7 /* 802.1ah Backbone Service Tag */
include/uapi/linux/nl80211.h+89−1
@@ -992,6 +992,32 @@ · 991 unmodified lines
992992 *
993993 * @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded.
994994 *
995+ * @NL80211_CMD_EXTERNAL_AUTH: This interface is exclusively defined for host
996+ * drivers that do not define separate commands for authentication and
997+ * association, but rely on user space for the authentication to happen.
998+ * This interface acts both as the event request (driver to user space)
999+ * to trigger the authentication and command response (userspace to
1000+ * driver) to indicate the authentication status.
1001+ *
1002+ * User space uses the %NL80211_CMD_CONNECT command to the host driver to
1003+ * trigger a connection. The host driver selects a BSS and further uses
1004+ * this interface to offload only the authentication part to the user
1005+ * space. Authentication frames are passed between the driver and user
1006+ * space through the %NL80211_CMD_FRAME interface. Host driver proceeds
1007+ * further with the association after getting successful authentication
1008+ * status. User space indicates the authentication status through
1009+ * %NL80211_ATTR_STATUS_CODE attribute in %NL80211_CMD_EXTERNAL_AUTH
1010+ * command interface.
1011+ *
1012+ * Host driver reports this status on an authentication failure to the
1013+ * user space through the connect result as the user space would have
1014+ * initiated the connection through the connect request.
1015+ *
1016+ * @NL80211_CMD_STA_OPMODE_CHANGED: An event that notify station's
1017+ * ht opmode or vht opmode changes using any of &NL80211_ATTR_SMPS_MODE,
1018+ * &NL80211_ATTR_CHANNEL_WIDTH,&NL80211_ATTR_NSS attributes with its
1019+ * address(specified in &NL80211_ATTR_MAC).
1020+ *
9951021 * @NL80211_CMD_MAX: highest used command number
9961022 * @__NL80211_CMD_AFTER_LAST: internal use
9971023 */
@@ -1198,6 +1224,10 @@ enum nl80211_commands { · 200 unmodified lines
11981224
11991225 NL80211_CMD_RELOAD_REGDB,
12001226
1227+ NL80211_CMD_EXTERNAL_AUTH,
1228+
1229+ NL80211_CMD_STA_OPMODE_CHANGED,
1230+
12011231 /* add new commands above here */
12021232
12031233 /* used to define NL80211_CMD_MAX below */
@@ -2153,6 +2183,19 @@ enum nl80211_commands { · 949 unmodified lines
21532183 * @NL80211_ATTR_PMKR0_NAME: PMK-R0 Name for offloaded FT.
21542184 * @NL80211_ATTR_PORT_AUTHORIZED: (reserved)
21552185 *
2186+ * @NL80211_ATTR_EXTERNAL_AUTH_ACTION: Identify the requested external
2187+ * authentication operation (u32 attribute with an
2188+ * &enum nl80211_external_auth_action value). This is used with the
2189+ * &NL80211_CMD_EXTERNAL_AUTH request event.
2190+ * @NL80211_ATTR_EXTERNAL_AUTH_SUPPORT: Flag attribute indicating that the user
2191+ * space supports external authentication. This attribute shall be used
2192+ * only with %NL80211_CMD_CONNECT request. The driver may offload
2193+ * authentication processing to user space if this capability is indicated
2194+ * in NL80211_CMD_CONNECT requests from the user space.
2195+ *
2196+ * @NL80211_ATTR_NSS: Station's New/updated RX_NSS value notified using this
2197+ * u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED.
2198+ *
21562199 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
21572200 * @NL80211_ATTR_MAX: highest attribute number currently defined
21582201 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2579,6 +2622,12 @@ enum nl80211_attrs { · 420 unmodified lines
25792622 NL80211_ATTR_PMKR0_NAME,
25802623 NL80211_ATTR_PORT_AUTHORIZED,
25812624
2625+ NL80211_ATTR_EXTERNAL_AUTH_ACTION,
2626+ NL80211_ATTR_EXTERNAL_AUTH_SUPPORT,
2627+
2628+ NL80211_ATTR_NSS,
2629+ NL80211_ATTR_ACK_SIGNAL,
2630+
25822631 /* add attributes here, update the policy in nl80211.c */
25832632
25842633 __NL80211_ATTR_AFTER_LAST,
@@ -2899,6 +2948,7 @@ enum nl80211_sta_bss_param { · 314 unmodified lines
28992948 * @NL80211_STA_INFO_RX_DURATION: aggregate PPDU duration for all frames
29002949 * received from the station (u64, usec)
29012950 * @NL80211_STA_INFO_PAD: attribute used for padding for 64-bit alignment
2951+ * @NL80211_STA_INFO_ACK_SIGNAL: signal strength of the last ACK frame(u8, dBm)
29022952 * @__NL80211_STA_INFO_AFTER_LAST: internal
29032953 * @NL80211_STA_INFO_MAX: highest possible station info attribute
29042954 */
@@ -2937,6 +2987,7 @@ enum nl80211_sta_info { · 32 unmodified lines
29372987 NL80211_STA_INFO_TID_STATS,
29382988 NL80211_STA_INFO_RX_DURATION,
29392989 NL80211_STA_INFO_PAD,
2990+ NL80211_STA_INFO_ACK_SIGNAL,
29402991
29412992 /* keep last */
29422993 __NL80211_STA_INFO_AFTER_LAST,
@@ -4945,6 +4996,9 @@ enum nl80211_feature_flags { · 2002 unmodified lines
49454996 * probe request tx deferral and suppression
49464997 * @NL80211_EXT_FEATURE_MFP_OPTIONAL: Driver supports the %NL80211_MFP_OPTIONAL
49474998 * value in %NL80211_ATTR_USE_MFP.
4999+ * @NL80211_EXT_FEATURE_LOW_SPAN_SCAN: Driver supports low span scan.
5000+ * @NL80211_EXT_FEATURE_LOW_POWER_SCAN: Driver supports low power scan.
5001+ * @NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN: Driver supports high accuracy scan.
49485002 *
49495003 * @NUM_NL80211_EXT_FEATURES: number of extended features.
49505004 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
@@ -4972,6 +5026,9 @@ enum nl80211_ext_feature_index { · 21 unmodified lines
49725026 NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE,
49735027 NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION,
49745028 NL80211_EXT_FEATURE_MFP_OPTIONAL,
5029+ NL80211_EXT_FEATURE_LOW_SPAN_SCAN,
5030+ NL80211_EXT_FEATURE_LOW_POWER_SCAN,
5031+ NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN,
49755032
49765033 /* add new features before the definition below */
49775034 NUM_NL80211_EXT_FEATURES,
@@ -5032,6 +5089,10 @@ enum nl80211_timeout_reason { · 54 unmodified lines
50325089 * of NL80211_CMD_TRIGGER_SCAN and NL80211_CMD_START_SCHED_SCAN
50335090 * requests.
50345091 *
5092+ * NL80211_SCAN_FLAG_LOW_SPAN, NL80211_SCAN_FLAG_LOW_POWER, and
5093+ * NL80211_SCAN_FLAG_HIGH_ACCURACY flags are exclusive of each other, i.e., only
5094+ * one of them can be used in the request.
5095+ *
50355096 * @NL80211_SCAN_FLAG_LOW_PRIORITY: scan request has low priority
50365097 * @NL80211_SCAN_FLAG_FLUSH: flush cache before scanning
50375098 * @NL80211_SCAN_FLAG_AP: force a scan even if the interface is configured
@@ -5059,7 +5120,20 @@ enum nl80211_timeout_reason { · 21 unmodified lines
50595120 * and suppression (if it has received a broadcast Probe Response frame,
50605121 * Beacon frame or FILS Discovery frame from an AP that the STA considers
50615122 * a suitable candidate for (re-)association - suitable in terms of
5062− * SSID and/or RSSI
5123+ * SSID and/or RSSI.
5124+ * @NL80211_SCAN_FLAG_LOW_SPAN: Span corresponds to the total time taken to
5125+ * accomplish the scan. Thus, this flag intends the driver to perform the
5126+ * scan request with lesser span/duration. It is specific to the driver
5127+ * implementations on how this is accomplished. Scan accuracy may get
5128+ * impacted with this flag.
5129+ * @NL80211_SCAN_FLAG_LOW_POWER: This flag intends the scan attempts to consume
5130+ * optimal possible power. Drivers can resort to their specific means to
5131+ * optimize the power. Scan accuracy may get impacted with this flag.
5132+ * @NL80211_SCAN_FLAG_HIGH_ACCURACY: Accuracy here intends to the extent of scan
5133+ * results obtained. Thus HIGH_ACCURACY scan flag aims to get maximum
5134+ * possible scan results. This flag hints the driver to use the best
5135+ * possible scan configuration to improve the accuracy in scanning.
5136+ * Latency and power use may get impacted with this flag.
50635137 */
50645138 enum nl80211_scan_flags {
50655139 NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0,
@@ -5070,6 +5144,9 @@ enum nl80211_scan_flags { · 4 unmodified lines
50705144 NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = 1<<5,
50715145 NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = 1<<6,
50725146 NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 1<<7,
5147+ NL80211_SCAN_FLAG_LOW_SPAN = 1<<8,
5148+ NL80211_SCAN_FLAG_LOW_POWER = 1<<9,
5149+ NL80211_SCAN_FLAG_HIGH_ACCURACY = 1<<10,
50735150 };
50745151
50755152 /**
@@ -5469,4 +5546,15 @@ enum nl80211_nan_match_attributes { · 393 unmodified lines
54695546 NL80211_NAN_MATCH_ATTR_MAX = NUM_NL80211_NAN_MATCH_ATTR - 1
54705547 };
54715548
5549+/**
5550+ * nl80211_external_auth_action - Action to perform with external
5551+ * authentication request. Used by NL80211_ATTR_EXTERNAL_AUTH_ACTION.
5552+ * @NL80211_EXTERNAL_AUTH_START: Start the authentication.
5553+ * @NL80211_EXTERNAL_AUTH_ABORT: Abort the ongoing authentication.
5554+ */
5555+enum nl80211_external_auth_action {
5556+ NL80211_EXTERNAL_AUTH_START,
5557+ NL80211_EXTERNAL_AUTH_ABORT,
5558+};
5559+
54725560 #endif /* __LINUX_NL80211_H */