blob: 01ae759518f6b29a609a3d602db91bcf6e35a888 [file] [log] [blame]
Johannes Bergeb063c12007-08-28 17:01:53 -04001/*
2 * Copyright 2007 Johannes Berg <johannes@sipsolutions.net>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * mac80211 - events
9 */
Johannes Bergf58d4ed2009-06-19 02:45:21 +020010#include <net/cfg80211.h>
Johannes Bergeb063c12007-08-28 17:01:53 -040011#include "ieee80211_i.h"
12
13/*
Jouni Malinena3b8b052009-03-27 21:59:49 +020014 * Indicate a failed Michael MIC to userspace. If the caller knows the TSC of
15 * the frame that generated the MIC failure (i.e., if it was provided by the
16 * driver or is still in the frame), it should provide that information.
Johannes Bergeb063c12007-08-28 17:01:53 -040017 */
Jasper Bryant-Greenef698d852008-08-03 12:04:37 +120018void mac80211_ev_michael_mic_failure(struct ieee80211_sub_if_data *sdata, int keyidx,
Johannes Berge6d6e342009-07-01 21:26:47 +020019 struct ieee80211_hdr *hdr, const u8 *tsc,
20 gfp_t gfp)
Johannes Bergeb063c12007-08-28 17:01:53 -040021{
Jouni Malinena3b8b052009-03-27 21:59:49 +020022 cfg80211_michael_mic_failure(sdata->dev, hdr->addr2,
23 (hdr->addr1[0] & 0x01) ?
24 NL80211_KEYTYPE_GROUP :
25 NL80211_KEYTYPE_PAIRWISE,
Johannes Berge6d6e342009-07-01 21:26:47 +020026 keyidx, tsc, gfp);
Johannes Bergeb063c12007-08-28 17:01:53 -040027}