aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
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 /include/net/cfg80211.h
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 '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 3d134a1fb96b..868cfd3b9724 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1007,6 +1007,7 @@ struct cfg80211_pmksa {
1007 * RSN IE. It allows for faster roaming between WPA2 BSSIDs. 1007 * RSN IE. It allows for faster roaming between WPA2 BSSIDs.
1008 * @del_pmksa: Delete a cached PMKID. 1008 * @del_pmksa: Delete a cached PMKID.
1009 * @flush_pmksa: Flush all cached PMKIDs. 1009 * @flush_pmksa: Flush all cached PMKIDs.
1010 * @set_cqm_rssi_config: Configure connection quality monitor RSSI threshold.
1010 * 1011 *
1011 */ 1012 */
1012struct cfg80211_ops { 1013struct cfg80211_ops {
@@ -1152,6 +1153,10 @@ struct cfg80211_ops {
1152 1153
1153 int (*set_power_mgmt)(struct wiphy *wiphy, struct net_device *dev, 1154 int (*set_power_mgmt)(struct wiphy *wiphy, struct net_device *dev,
1154 bool enabled, int timeout); 1155 bool enabled, int timeout);
1156
1157 int (*set_cqm_rssi_config)(struct wiphy *wiphy,
1158 struct net_device *dev,
1159 s32 rssi_thold, u32 rssi_hyst);
1155}; 1160};
1156 1161
1157/* 1162/*
@@ -2337,4 +2342,18 @@ bool cfg80211_rx_action(struct net_device *dev, int freq, const u8 *buf,
2337void cfg80211_action_tx_status(struct net_device *dev, u64 cookie, 2342void cfg80211_action_tx_status(struct net_device *dev, u64 cookie,
2338 const u8 *buf, size_t len, bool ack, gfp_t gfp); 2343 const u8 *buf, size_t len, bool ack, gfp_t gfp);
2339 2344
2345
2346/**
2347 * cfg80211_cqm_rssi_notify - connection quality monitoring rssi event
2348 * @dev: network device
2349 * @rssi_event: the triggered RSSI event
2350 * @gfp: context flags
2351 *
2352 * This function is called when a configured connection quality monitoring
2353 * rssi threshold reached event occurs.
2354 */
2355void cfg80211_cqm_rssi_notify(struct net_device *dev,
2356 enum nl80211_cqm_rssi_threshold_event rssi_event,
2357 gfp_t gfp);
2358
2340#endif /* __NET_CFG80211_H */ 2359#endif /* __NET_CFG80211_H */