aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi
diff options
context:
space:
mode:
authorSunil Dutt Undekari <usdutt@qti.qualcomm.com>2014-02-20 05:52:09 -0500
committerJohannes Berg <johannes.berg@intel.com>2014-02-20 05:55:25 -0500
commitdf942e7ba70cd0a7aa9e0432b8a6a328de2c5574 (patch)
tree943599f26af1396618079dc1c789df49e7b1c654 /include/uapi
parentbf5f48339a019c9b4b42284c3f45d58942cbda27 (diff)
cfg80211: Pass TDLS peer capability information in tdls_mgmt
While framing the TDLS Setup Confirmation frame, the driver needs to know if the TDLS peer is VHT/HT/WMM capable and thus shall construct the VHT/HT operation / WMM parameter elements accordingly. Supplicant determines if the TDLS peer is VHT/HT/WMM capable based on the presence of the respective IEs in the received TDLS Setup Response frame. The host driver should not need to parse the received TDLS Response frame and thus, should be able to rely on the supplicant to indicate the capability of the peer through additional flags while transmitting the TDLS Setup Confirmation frame through tdls_mgmt operations. Signed-off-by: Sunil Dutt Undekari <usdutt@qti.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/nl80211.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index ba1f7625625c..47d7087513e0 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -1575,6 +1575,9 @@ enum nl80211_commands {
1575 * advertise values that cannot always be met. In such cases, an attempt 1575 * advertise values that cannot always be met. In such cases, an attempt
1576 * to add a new station entry with @NL80211_CMD_NEW_STATION may fail. 1576 * to add a new station entry with @NL80211_CMD_NEW_STATION may fail.
1577 * 1577 *
1578 * @NL80211_ATTR_TDLS_PEER_CAPABILITY: flags for TDLS peer capabilities, u32.
1579 * As specified in the &enum nl80211_tdls_peer_capability.
1580 *
1578 * @NL80211_ATTR_MAX: highest attribute number currently defined 1581 * @NL80211_ATTR_MAX: highest attribute number currently defined
1579 * @__NL80211_ATTR_AFTER_LAST: internal use 1582 * @__NL80211_ATTR_AFTER_LAST: internal use
1580 */ 1583 */
@@ -1908,6 +1911,8 @@ enum nl80211_attrs {
1908 1911
1909 NL80211_ATTR_MAX_AP_ASSOC_STA, 1912 NL80211_ATTR_MAX_AP_ASSOC_STA,
1910 1913
1914 NL80211_ATTR_TDLS_PEER_CAPABILITY,
1915
1911 /* add attributes here, update the policy in nl80211.c */ 1916 /* add attributes here, update the policy in nl80211.c */
1912 1917
1913 __NL80211_ATTR_AFTER_LAST, 1918 __NL80211_ATTR_AFTER_LAST,
@@ -4074,4 +4079,20 @@ struct nl80211_vendor_cmd_info {
4074 __u32 subcmd; 4079 __u32 subcmd;
4075}; 4080};
4076 4081
4082/**
4083 * enum nl80211_tdls_peer_capability - TDLS peer flags.
4084 *
4085 * Used by tdls_mgmt() to determine which conditional elements need
4086 * to be added to TDLS Setup frames.
4087 *
4088 * @NL80211_TDLS_PEER_HT: TDLS peer is HT capable.
4089 * @NL80211_TDLS_PEER_VHT: TDLS peer is VHT capable.
4090 * @NL80211_TDLS_PEER_WMM: TDLS peer is WMM capable.
4091 */
4092enum nl80211_tdls_peer_capability {
4093 NL80211_TDLS_PEER_HT = 1<<0,
4094 NL80211_TDLS_PEER_VHT = 1<<1,
4095 NL80211_TDLS_PEER_WMM = 1<<2,
4096};
4097
4077#endif /* __LINUX_NL80211_H */ 4098#endif /* __LINUX_NL80211_H */