RFC[1/4] mac80211: add statistic to debugfs
Provide additional statistic support to the debugfs.
Number of rx packets dropped due to mic failure:
Currently the debugfs has support for number of rx packets dropped. But it doesn't classify the reason for the drop. This statistic will count the number of rx packet dropped due to mic failure.
Signed-off-by Saravana <[email protected]>
---
The diff file is generated from wireless-testing git tree.
net/mac80211/debugfs_sta.c | 1 + net/mac80211/sta_info.h | 2 ++ net/mac80211/wpa.c | 1 + 3 files changed, 4 insertions(+), 0 deletions(-)
net/mac80211/debugfs_sta.c +1 -0
@@ -377,6 +377,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 +1 -0
@@ -247,6 +247,7 @@ 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_seq_ctrl: last received seq/frag number from this STA (per RX
queue)
@@ -326,6 +327,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;
/* Plus 1 for non-QoS frames */
net/mac80211/wpa.c +1 -0
@@ -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 );