aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
authorJouni Malinen <jouni@qca.qualcomm.com>2012-11-16 15:49:57 -0500
committerJohannes Berg <johannes.berg@intel.com>2012-11-19 09:47:32 -0500
commit3475b0946bd2057497628790d4b4fce4bfdcc304 (patch)
tree182cdbcfffa95409a1a6973e28ba0fa41cdf4bb0 /include/net/cfg80211.h
parent90b9e446fbb64630c72cab48c007d7081aec2533 (diff)
cfg80211: Add TDLS event to allow drivers to request operations
The NL80211_CMD_TDLS_OPER command was previously used only for userspace request for the kernel code to perform TDLS operations. However, there are also cases where the driver may need to request operations from userspace, e.g., when using security on the AP path. Add a new cfg80211 function for generating a TDLS operation event for drivers to request a new link to be set up (NL80211_TDLS_SETUP) or an existing link to be torn down (NL80211_TDLS_TEARDOWN). Drivers can optionally use these events, e.g., based on noticing data traffic being sent to a peer station that is seen with good signal strength. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r--include/net/cfg80211.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 81d725038f97..8a1aec54e68f 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -3594,6 +3594,25 @@ void cfg80211_ch_switch_notify(struct net_device *dev, int freq,
3594 enum nl80211_channel_type type); 3594 enum nl80211_channel_type type);
3595 3595
3596/* 3596/*
3597 * cfg80211_tdls_oper_request - request userspace to perform TDLS operation
3598 * @dev: the device on which the operation is requested
3599 * @peer: the MAC address of the peer device
3600 * @oper: the requested TDLS operation (NL80211_TDLS_SETUP or
3601 * NL80211_TDLS_TEARDOWN)
3602 * @reason_code: the reason code for teardown request
3603 * @gfp: allocation flags
3604 *
3605 * This function is used to request userspace to perform TDLS operation that
3606 * requires knowledge of keys, i.e., link setup or teardown when the AP
3607 * connection uses encryption. This is optional mechanism for the driver to use
3608 * if it can automatically determine when a TDLS link could be useful (e.g.,
3609 * based on traffic and signal strength for a peer).
3610 */
3611void cfg80211_tdls_oper_request(struct net_device *dev, const u8 *peer,
3612 enum nl80211_tdls_operation oper,
3613 u16 reason_code, gfp_t gfp);
3614
3615/*
3597 * cfg80211_calculate_bitrate - calculate actual bitrate (in 100Kbps units) 3616 * cfg80211_calculate_bitrate - calculate actual bitrate (in 100Kbps units)
3598 * @rate: given rate_info to calculate bitrate from 3617 * @rate: given rate_info to calculate bitrate from
3599 * 3618 *