diff options
| author | David S. Miller <davem@davemloft.net> | 2015-01-15 19:16:56 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2015-01-15 19:16:56 -0500 |
| commit | 27f097177defdd5858f03500e4b5aa8a97b1627b (patch) | |
| tree | 186ea28b6f15075df1803acbab7b5a0e9f21cc31 /include/uapi/linux | |
| parent | 615612dc4e583ae5eeb8eb1ece2d3c70be72296d (diff) | |
| parent | baf1b99ba169bdd3324ac9d99bc2a00c25534429 (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.h | 176 |
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) | ||
