aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2010-12-15 17:52:40 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-12-16 15:22:30 -0500
commitcf4e594ea7e55555e81647b74a3a8e8b2826a529 (patch)
tree794013429d9613ef253111fb50f993600ab14a55 /include/net
parent5928b91acae97622a6f2e679eb7a9f19bed68e3e (diff)
nl80211: Add notification for dropped Deauth/Disassoc
Add a new notification to indicate that a received, unprotected Deauthentication or Disassociation frame was dropped due to management frame protection being in use. This notification is needed to allow user space (e.g., wpa_supplicant) to implement SA Query procedure to recover from association state mismatch between an AP and STA. This is needed to avoid getting stuck in non-working state when MFP (IEEE 802.11w) is used and a protected Deauthentication or Disassociation frame is dropped for any reason. After that, the station would silently discard any unprotected Deauthentication or Disassociation frame that could be indicating that the AP does not have association for the STA (when the Reason Code would be 6 or 7). IEEE Std 802.11w-2009, 11.13 describes this recovery mechanism. Signed-off-by: Jouni Malinen <j@w1.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/cfg80211.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index f45e15f12446..3d1c09b777e8 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -2360,6 +2360,32 @@ void __cfg80211_send_disassoc(struct net_device *dev, const u8 *buf,
2360 size_t len); 2360 size_t len);
2361 2361
2362/** 2362/**
2363 * cfg80211_send_unprot_deauth - notification of unprotected deauthentication
2364 * @dev: network device
2365 * @buf: deauthentication frame (header + body)
2366 * @len: length of the frame data
2367 *
2368 * This function is called whenever a received Deauthentication frame has been
2369 * dropped in station mode because of MFP being used but the Deauthentication
2370 * frame was not protected. This function may sleep.
2371 */
2372void cfg80211_send_unprot_deauth(struct net_device *dev, const u8 *buf,
2373 size_t len);
2374
2375/**
2376 * cfg80211_send_unprot_disassoc - notification of unprotected disassociation
2377 * @dev: network device
2378 * @buf: disassociation frame (header + body)
2379 * @len: length of the frame data
2380 *
2381 * This function is called whenever a received Disassociation frame has been
2382 * dropped in station mode because of MFP being used but the Disassociation
2383 * frame was not protected. This function may sleep.
2384 */
2385void cfg80211_send_unprot_disassoc(struct net_device *dev, const u8 *buf,
2386 size_t len);
2387
2388/**
2363 * cfg80211_michael_mic_failure - notification of Michael MIC failure (TKIP) 2389 * cfg80211_michael_mic_failure - notification of Michael MIC failure (TKIP)
2364 * @dev: network device 2390 * @dev: network device
2365 * @addr: The source MAC address of the frame 2391 * @addr: The source MAC address of the frame