aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/mlme.c
diff options
context:
space:
mode:
authorJuuso Oikarinen <juuso.oikarinen@nokia.com>2010-03-23 03:02:33 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-03-24 16:02:37 -0400
commitd6dc1a386358979e12366d1f35eeb68fc181e101 (patch)
tree4b65ba21328d6984d008b62795dd60d99c350632 /net/wireless/mlme.c
parent921ca03c8f8e982f27fc406bc301caf2196b99f7 (diff)
cfg80211: Add connection quality monitoring support to nl80211
Add support for basic configuration of a connection quality monitoring to the nl80211 interface, and basic support for notifying about triggered monitoring events. Via this interface a user-space connection manager may configure and receive pre-warning events of deteriorating WLAN connection quality, and start preparing for roaming in advance, before the connection is already lost. An example usage of such a trigger is starting scanning for nearby AP's in an attempt to find one with better connection quality, and associate to it before the connection characteristics of the existing connection become too bad or the association is even lost, leading in a prolonged delay in connectivity. The interface currently supports only RSSI, but it could be later extended to include other parameters, such as signal-to-noise ratio, if need for that arises. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Reviewed-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/mlme.c')
-rw-r--r--net/wireless/mlme.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c
index 62bc8855e12..0855f0d3234 100644
--- a/net/wireless/mlme.c
+++ b/net/wireless/mlme.c
@@ -894,3 +894,16 @@ void cfg80211_action_tx_status(struct net_device *dev, u64 cookie,
894 nl80211_send_action_tx_status(rdev, dev, cookie, buf, len, ack, gfp); 894 nl80211_send_action_tx_status(rdev, dev, cookie, buf, len, ack, gfp);
895} 895}
896EXPORT_SYMBOL(cfg80211_action_tx_status); 896EXPORT_SYMBOL(cfg80211_action_tx_status);
897
898void cfg80211_cqm_rssi_notify(struct net_device *dev,
899 enum nl80211_cqm_rssi_threshold_event rssi_event,
900 gfp_t gfp)
901{
902 struct wireless_dev *wdev = dev->ieee80211_ptr;
903 struct wiphy *wiphy = wdev->wiphy;
904 struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy);
905
906 /* Indicate roaming trigger event to user space */
907 nl80211_send_cqm_rssi_notify(rdev, dev, rssi_event, gfp);
908}
909EXPORT_SYMBOL(cfg80211_cqm_rssi_notify);