aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2015-01-15 19:16:56 -0500
committerDavid S. Miller <davem@davemloft.net>2015-01-15 19:16:56 -0500
commit27f097177defdd5858f03500e4b5aa8a97b1627b (patch)
tree186ea28b6f15075df1803acbab7b5a0e9f21cc31 /include/uapi/linux
parent615612dc4e583ae5eeb8eb1ece2d3c70be72296d (diff)
parentbaf1b99ba169bdd3324ac9d99bc2a00c25534429 (diff)
Merge tag 'mac80211-next-for-davem-2015-01-15' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
Here's a big pile of changes for this round. We have * a lot of regulatory code changes to deal with the way newer Intel devices handle this * a change to drop packets while disconnecting from an AP instead of trying to wait for them * a new attempt at improving the tailroom accounting to not kick in too much for performance reasons * improvements in wireless link statistics * many other small improvements and small fixes that didn't seem necessary for 3.19 (e.g. in hwsim which is testing only code) Conflicts: drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c Minor overlapping changes. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/nl80211.h176
1 files changed, 151 insertions, 25 deletions
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index b37bd5a1cb82..b6c1a00bd8d2 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -29,6 +29,13 @@
29 29
30#define NL80211_GENL_NAME "nl80211" 30#define NL80211_GENL_NAME "nl80211"
31 31
32#define NL80211_MULTICAST_GROUP_CONFIG "config"
33#define NL80211_MULTICAST_GROUP_SCAN "scan"
34#define NL80211_MULTICAST_GROUP_REG "regulatory"
35#define NL80211_MULTICAST_GROUP_MLME "mlme"
36#define NL80211_MULTICAST_GROUP_VENDOR "vendor"
37#define NL80211_MULTICAST_GROUP_TESTMODE "testmode"
38
32/** 39/**
33 * DOC: Station handling 40 * DOC: Station handling
34 * 41 *
@@ -252,7 +259,18 @@
252 * %NL80211_ATTR_IFINDEX. 259 * %NL80211_ATTR_IFINDEX.
253 * 260 *
254 * @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set 261 * @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set
255 * regulatory domain. 262 * regulatory domain. If %NL80211_ATTR_WIPHY is specified and the device
263 * has a private regulatory domain, it will be returned. Otherwise, the
264 * global regdomain will be returned.
265 * A device will have a private regulatory domain if it uses the
266 * regulatory_hint() API. Even when a private regdomain is used the channel
267 * information will still be mended according to further hints from
268 * the regulatory core to help with compliance. A dump version of this API
269 * is now available which will returns the global regdomain as well as
270 * all private regdomains of present wiphys (for those that have it).
271 * If a wiphy is self-managed (%NL80211_ATTR_WIPHY_SELF_MANAGED_REG), then
272 * its private regdomain is the only valid one for it. The regulatory
273 * core is not used to help with compliance in this case.
256 * @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command 274 * @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command
257 * after being queried by the kernel. CRDA replies by sending a regulatory 275 * after being queried by the kernel. CRDA replies by sending a regulatory
258 * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our 276 * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our
@@ -774,6 +792,10 @@
774 * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel 792 * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel
775 * when this command completes. 793 * when this command completes.
776 * 794 *
795 * @NL80211_CMD_WIPHY_REG_CHANGE: Similar to %NL80211_CMD_REG_CHANGE, but used
796 * as an event to indicate changes for devices with wiphy-specific regdom
797 * management.
798 *
777 * @NL80211_CMD_MAX: highest used command number 799 * @NL80211_CMD_MAX: highest used command number
778 * @__NL80211_CMD_AFTER_LAST: internal use 800 * @__NL80211_CMD_AFTER_LAST: internal use
779 */ 801 */
@@ -958,6 +980,8 @@ enum nl80211_commands {
958 NL80211_CMD_TDLS_CHANNEL_SWITCH, 980 NL80211_CMD_TDLS_CHANNEL_SWITCH,
959 NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH, 981 NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH,
960 982
983 NL80211_CMD_WIPHY_REG_CHANGE,
984
961 /* add new commands above here */ 985 /* add new commands above here */
962 986
963 /* used to define NL80211_CMD_MAX below */ 987 /* used to define NL80211_CMD_MAX below */
@@ -1655,6 +1679,9 @@ enum nl80211_commands {
1655 * @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface 1679 * @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface
1656 * creation then the new interface will be owned by the netlink socket 1680 * creation then the new interface will be owned by the netlink socket
1657 * that created it and will be destroyed when the socket is closed. 1681 * that created it and will be destroyed when the socket is closed.
1682 * If set during scheduled scan start then the new scan req will be
1683 * owned by the netlink socket that created it and the scheduled scan will
1684 * be stopped when the socket is closed.
1658 * 1685 *
1659 * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is 1686 * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
1660 * the TDLS link initiator. 1687 * the TDLS link initiator.
@@ -1688,6 +1715,26 @@ enum nl80211_commands {
1688 * 1715 *
1689 * @NL80211_ATTR_MAC_MASK: MAC address mask 1716 * @NL80211_ATTR_MAC_MASK: MAC address mask
1690 * 1717 *
1718 * @NL80211_ATTR_WIPHY_SELF_MANAGED_REG: flag attribute indicating this device
1719 * is self-managing its regulatory information and any regulatory domain
1720 * obtained from it is coming from the device's wiphy and not the global
1721 * cfg80211 regdomain.
1722 *
1723 * @NL80211_ATTR_EXT_FEATURES: extended feature flags contained in a byte
1724 * array. The feature flags are identified by their bit index (see &enum
1725 * nl80211_ext_feature_index). The bit index is ordered starting at the
1726 * least-significant bit of the first byte in the array, ie. bit index 0
1727 * is located at bit 0 of byte 0. bit index 25 would be located at bit 1
1728 * of byte 3 (u8 array).
1729 *
1730 * @NL80211_ATTR_SURVEY_RADIO_STATS: Request overall radio statistics to be
1731 * returned along with other survey data. If set, @NL80211_CMD_GET_SURVEY
1732 * may return a survey entry without a channel indicating global radio
1733 * statistics (only some values are valid and make sense.)
1734 * For devices that don't return such an entry even then, the information
1735 * should be contained in the result as the sum of the respective counters
1736 * over all channels.
1737 *
1691 * @NUM_NL80211_ATTR: total number of nl80211_attrs available 1738 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
1692 * @NL80211_ATTR_MAX: highest attribute number currently defined 1739 * @NL80211_ATTR_MAX: highest attribute number currently defined
1693 * @__NL80211_ATTR_AFTER_LAST: internal use 1740 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2045,6 +2092,12 @@ enum nl80211_attrs {
2045 2092
2046 NL80211_ATTR_MAC_MASK, 2093 NL80211_ATTR_MAC_MASK,
2047 2094
2095 NL80211_ATTR_WIPHY_SELF_MANAGED_REG,
2096
2097 NL80211_ATTR_EXT_FEATURES,
2098
2099 NL80211_ATTR_SURVEY_RADIO_STATS,
2100
2048 /* add attributes here, update the policy in nl80211.c */ 2101 /* add attributes here, update the policy in nl80211.c */
2049 2102
2050 __NL80211_ATTR_AFTER_LAST, 2103 __NL80211_ATTR_AFTER_LAST,
@@ -2085,7 +2138,7 @@ enum nl80211_attrs {
2085 2138
2086#define NL80211_MAX_SUPP_RATES 32 2139#define NL80211_MAX_SUPP_RATES 32
2087#define NL80211_MAX_SUPP_HT_RATES 77 2140#define NL80211_MAX_SUPP_HT_RATES 77
2088#define NL80211_MAX_SUPP_REG_RULES 32 2141#define NL80211_MAX_SUPP_REG_RULES 64
2089#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 2142#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0
2090#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 2143#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16
2091#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 2144#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
@@ -2285,18 +2338,24 @@ enum nl80211_sta_bss_param {
2285 * 2338 *
2286 * @__NL80211_STA_INFO_INVALID: attribute number 0 is reserved 2339 * @__NL80211_STA_INFO_INVALID: attribute number 0 is reserved
2287 * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs) 2340 * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs)
2288 * @NL80211_STA_INFO_RX_BYTES: total received bytes (u32, from this station) 2341 * @NL80211_STA_INFO_RX_BYTES: total received bytes (MPDU length)
2289 * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station) 2342 * (u32, from this station)
2290 * @NL80211_STA_INFO_RX_BYTES64: total received bytes (u64, from this station) 2343 * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (MPDU length)
2291 * @NL80211_STA_INFO_TX_BYTES64: total transmitted bytes (u64, to this station) 2344 * (u32, to this station)
2345 * @NL80211_STA_INFO_RX_BYTES64: total received bytes (MPDU length)
2346 * (u64, from this station)
2347 * @NL80211_STA_INFO_TX_BYTES64: total transmitted bytes (MPDU length)
2348 * (u64, to this station)
2292 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm) 2349 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)
2293 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute 2350 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
2294 * containing info as possible, see &enum nl80211_rate_info 2351 * containing info as possible, see &enum nl80211_rate_info
2295 * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station) 2352 * @NL80211_STA_INFO_RX_PACKETS: total received packet (MSDUs and MMPDUs)
2296 * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (u32, to this 2353 * (u32, from this station)
2297 * station) 2354 * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (MSDUs and MMPDUs)
2298 * @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station) 2355 * (u32, to this station)
2299 * @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station) 2356 * @NL80211_STA_INFO_TX_RETRIES: total retries (MPDUs) (u32, to this station)
2357 * @NL80211_STA_INFO_TX_FAILED: total failed packets (MPDUs)
2358 * (u32, to this station)
2300 * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm) 2359 * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm)
2301 * @NL80211_STA_INFO_LLID: the station's mesh LLID 2360 * @NL80211_STA_INFO_LLID: the station's mesh LLID
2302 * @NL80211_STA_INFO_PLID: the station's mesh PLID 2361 * @NL80211_STA_INFO_PLID: the station's mesh PLID
@@ -2320,6 +2379,16 @@ enum nl80211_sta_bss_param {
2320 * Same format as NL80211_STA_INFO_CHAIN_SIGNAL. 2379 * Same format as NL80211_STA_INFO_CHAIN_SIGNAL.
2321 * @NL80211_STA_EXPECTED_THROUGHPUT: expected throughput considering also the 2380 * @NL80211_STA_EXPECTED_THROUGHPUT: expected throughput considering also the
2322 * 802.11 header (u32, kbps) 2381 * 802.11 header (u32, kbps)
2382 * @NL80211_STA_INFO_RX_DROP_MISC: RX packets dropped for unspecified reasons
2383 * (u64)
2384 * @NL80211_STA_INFO_BEACON_RX: number of beacons received from this peer (u64)