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. Signed-off-by: Saravana <saravanad@xxxxxxxxxxx> --- net/mac80211/debugfs_sta.c | 1 + net/mac80211/sta_info.h | 3 +++ net/mac80211/wpa.c | 1 + 3 files changed, 5 insertions(+), 0 deletions(-) diff --git a/net/mac80211/debugfs_sta.c b/net/mac80211/debugfs_sta.c index 49a1c70..dcdbc2c 100644 --- a/net/mac80211/debugfs_sta.c +++ b/net/mac80211/debugfs_sta.c @@ -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); diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h index 1489bca..a0c2165 100644 --- a/net/mac80211/sta_info.h +++ b/net/mac80211/sta_info.h @@ -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; diff --git a/net/mac80211/wpa.c b/net/mac80211/wpa.c index 8bd2f5c..960403e 100644 --- a/net/mac80211/wpa.c +++ b/net/mac80211/wpa.c @@ -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); -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html