blob: 3ac636285fb1f34e0b9295561d217e9d8a716685 [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,
Jouni Malinena3b8b052009-03-27 21:59:49 +020019 struct ieee80211_hdr *hdr, const u8 *tsc)
Johannes Bergeb063c12007-08-28 17:01:53 -040020{
Jouni Malinena3b8b052009-03-27 21:59:49 +020021 cfg80211_michael_mic_failure(sdata->dev, hdr->addr2,
22 (hdr->addr1[0] & 0x01) ?
23 NL80211_KEYTYPE_GROUP :
24 NL80211_KEYTYPE_PAIRWISE,
25 keyidx, tsc);
Johannes Bergeb063c12007-08-28 17:01:53 -040026}