Skip to contentSkip to conversation

mac80211: add debugfs file for mic failure

PATCH In review Saravana 2 participants 3 messages Nov 30, 2012 mac80211

lore
Share & tools
lore

Saravana

author
#0 lore raw

PATCH 1/1 mac80211: add debugfs file for mic failure

Add a debugfs file showing the number of dropped rx packet due to mic failures. currently the number of rx packet dropped is counted in general and not with respect to a specific reason. This patch counts the number of packet drop due to mic failure.

---
 net/mac80211/debugfs_sta.c |    1 +
 net/mac80211/sta_info.h    |    3 +++
 net/mac80211/wpa.c         |    1 +
 3 files changed, 5 insertions(+), 0 deletions(-)
net/mac80211/debugfs_sta.c +1 -0
index 49a1c70..dcdbc2c 100644
@@ -413,6 +413,7 @@ void ieee80211_sta_debugfs_add(struct sta_info *sta)
 	DEBUGFS_ADD_COUNTER(rx_duplicates, num_duplicates);
 	DEBUGFS_ADD_COUNTER(rx_fragments, rx_fragments);
 	DEBUGFS_ADD_COUNTER(rx_dropped, rx_dropped);
+	DEBUGFS_ADD_COUNTER(rx_dropped_mic_failure, rx_dropped_mic_failure);
 	DEBUGFS_ADD_COUNTER(tx_fragments, tx_fragments);
 	DEBUGFS_ADD_COUNTER(tx_filtered, tx_filtered_count);
 	DEBUGFS_ADD_COUNTER(tx_retry_failed, tx_retry_failed);
net/mac80211/sta_info.h +3 -0
index 1489bca..a0c2165 100644
@@ -248,6 +248,8 @@ struct sta_ampdu_mlme {
  * @num_duplicates: number of duplicate frames received from this STA
  * @rx_fragments: number of received MPDUs
  * @rx_dropped: number of dropped MPDUs from this STA
+ * @rx_dropped_mic_failure: number of dropped MPDUs
+ *	due to mic failure from this STA
  * @last_signal: signal of last received frame from this STA
  * @avg_signal: moving average of signal of received frames from this STA
  * @last_ack_signal: signal of last received Ack frame from this STA
@@ -328,6 +330,7 @@ struct sta_info {
 	unsigned long num_duplicates;
 	unsigned long rx_fragments;
 	unsigned long rx_dropped;
+	unsigned long rx_dropped_mic_failure;
 	int last_signal;
 	struct ewma avg_signal;
 	int last_ack_signal;
net/mac80211/wpa.c +1 -0
index 8bd2f5c..960403e 100644
@@ -166,6 +166,7 @@ mic_fail:
 	 * a driver that supports HW encryption. Send up the key idx only if
 	 * the key is set.
 	 */
+	rx->sta->rx_dropped_mic_failure++;
 	mac80211_ev_michael_mic_failure(rx->sdata,
 					rx->key ? rx->key->conf.keyidx : -1,
 					(void *) skb->data, NULL, GFP_ATOMIC);
maintainer
#1 lore raw
Quoted 5 lines · Saravana

Add a debugfs file showing the number of dropped rx packet due to mic failures. currently the number of rx packet dropped is counted in general and not with respect to a specific reason. This patch counts the number of packet drop due to mic failure.

It would make more sense to count them per *key*, not per station, and counting them per station like this can crash anyway if sta is NULL.

johannes

author
#2 lore raw
Quoted 10 lines · Johannes Berg
Quoted 5 lines · Saravana

Add a debugfs file showing the number of dropped rx packet due to mic failures. currently the number of rx packet dropped is counted in general and not with respect to a specific reason. This patch counts the number of packet drop due to mic failure.

It would make more sense to count them per *key*, not per station, and counting them per station like this can crash anyway if sta is NULL.

I agree with you. I will prepare the patch per key instead of per station.

Quoted 7 lines

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html