aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2014-01-14 17:00:47 -0500
committerJohannes Berg <johannes.berg@intel.com>2014-02-04 15:48:07 -0500
commit1df4a51082df6e5b0b8eb70df81885b9b4c9e6ec (patch)
tree32e2ae5bd55034770afe0250c58991db04df6747 /include/uapi
parent66e01cf99e0a9d0cbff21b0288c049654d5acf3e (diff)
cfg80211: Allow BSS hint to be provided for connect
This clarifies the expected driver behavior on the older NL80211_ATTR_MAC and NL80211_ATTR_WIPHY_FREQ attributes and adds a new set of similar attributes with _HINT postfix to enable use of a recommendation of the initial BSS to choose. This can be helpful for some drivers that can avoid an additional full scan on connection request if the information is provided to them (user space tools like wpa_supplicant already has that information available based on earlier scans). In addition, this can be used to get more expected behavior for cases where a specific BSS should be picked first based on operations like Interworking network selection or WPS. These cases were already easily addressed with drivers that leave BSS selection to user space, but there was no convenient way to do this with drivers that take care of BSS selection internally without using the NL80211_ATTR_MAC which is not really desired since it is needed for other purposes to force the association to remain with the same BSS. Signed-off-by: Jouni Malinen <j@w1.fi> [add const, fix policy] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/nl80211.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index 91054fd660e0..e57de3318068 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -418,8 +418,18 @@
418 * %NL80211_ATTR_SSID attribute, and can optionally specify the association 418 * %NL80211_ATTR_SSID attribute, and can optionally specify the association
419 * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_USE_MFP, 419 * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_USE_MFP,
420 * %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT, 420 * %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT,
421 * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE and 421 * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
422 * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT. 422 * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, %NL80211_ATTR_MAC_HINT, and
423 * %NL80211_ATTR_WIPHY_FREQ_HINT.
424 * If included, %NL80211_ATTR_MAC and %NL80211_ATTR_WIPHY_FREQ are
425 * restrictions on BSS selection, i.e., they effectively prevent roaming
426 * within the ESS. %NL80211_ATTR_MAC_HINT and %NL80211_ATTR_WIPHY_FREQ_HINT
427 * can be included to provide a recommendation of the initial BSS while
428 * allowing the driver to roam to other BSSes within the ESS and also to
429 * ignore this recommendation if the indicated BSS is not ideal. Only one
430 * set of BSSID,frequency parameters is used (i.e., either the enforcing
431 * %NL80211_ATTR_MAC,%NL80211_ATTR_WIPHY_FREQ or the less strict
432 * %NL80211_ATTR_MAC_HINT and %NL80211_ATTR_WIPHY_FREQ_HINT).
423 * Background scan period can optionally be 433 * Background scan period can optionally be
424 * specified in %NL80211_ATTR_BG_SCAN_PERIOD, 434 * specified in %NL80211_ATTR_BG_SCAN_PERIOD,
425 * if not specified default background scan configuration 435 * if not specified default background scan configuration
@@ -1555,6 +1565,9 @@ enum nl80211_commands {
1555 * data is in the format defined for the payload of the QoS Map Set element 1565 * data is in the format defined for the payload of the QoS Map Set element
1556 * in IEEE Std 802.11-2012, 8.4.2.97. 1566 * in IEEE Std 802.11-2012, 8.4.2.97.
1557 * 1567 *
1568 * @NL80211_ATTR_MAC_HINT: MAC address recommendation as initial BSS
1569 * @NL80211_ATTR_WIPHY_FREQ_HINT: frequency of the recommended initial BSS
1570 *
1558 * @NL80211_ATTR_MAX: highest attribute number currently defined 1571 * @NL80211_ATTR_MAX: highest attribute number currently defined
1559 * @__NL80211_ATTR_AFTER_LAST: internal use 1572 * @__NL80211_ATTR_AFTER_LAST: internal use
1560 */ 1573 */
@@ -1883,6 +1896,9 @@ enum nl80211_attrs {
1883 1896
1884 NL80211_ATTR_QOS_MAP, 1897 NL80211_ATTR_QOS_MAP,
1885 1898
1899 NL80211_ATTR_MAC_HINT,
1900 NL80211_ATTR_WIPHY_FREQ_HINT,
1901
1886 /* add attributes here, update the policy in nl80211.c */ 1902 /* add attributes here, update the policy in nl80211.c */
1887 1903
1888 __NL80211_ATTR_AFTER_LAST, 1904 __NL80211_ATTR_AFTER_LAST,