summaryrefslogtreecommitdiff
path: root/tools/tools
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2020-06-12 06:10:27 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2020-06-12 06:10:27 +0000
commit26a6f76a31cc4940f59b5db713481d6d3329342e (patch)
tree7fd38885640f4bade8975242c3ebfc8fa7a0aae9 /tools/tools
parenta67acf111f012c717fa5394d8b1785691058db54 (diff)
downloadsrc-test2-26a6f76a31cc4940f59b5db713481d6d3329342e.tar.gz
src-test2-26a6f76a31cc4940f59b5db713481d6d3329342e.zip
[wlanstats] Add the per-node amsdu hardware decap'ed receive stats.
This is useful for tracking hardware provided AMSDU frames to see when we're (a) seeing them, and (b) seeing the split between intermediary and final frames. Tested: * QCA9880 (athp) - AP mode
Notes
Notes: svn path=/head/; revision=362085
Diffstat (limited to 'tools/tools')
-rw-r--r--tools/tools/net80211/wlanstats/main.c2
-rw-r--r--tools/tools/net80211/wlanstats/wlanstats.c10
2 files changed, 10 insertions, 2 deletions
diff --git a/tools/tools/net80211/wlanstats/main.c b/tools/tools/net80211/wlanstats/main.c
index 38dd10eda1b2..bd73053be976 100644
--- a/tools/tools/net80211/wlanstats/main.c
+++ b/tools/tools/net80211/wlanstats/main.c
@@ -63,7 +63,7 @@ static struct {
},
{
"amsdu",
- "input,output,amsdu_tooshort,amsdu_split,amsdu_decap,amsdu_encap,rssi,rate"
+ "input,output,amsdu_tooshort,amsdu_split,amsdu_decap,amsdu_encap,rx_amsdu_more,rx_amsdu_more_end,rssi,rate"
},
};
diff --git a/tools/tools/net80211/wlanstats/wlanstats.c b/tools/tools/net80211/wlanstats/wlanstats.c
index 0e5556848dae..b42d7312e519 100644
--- a/tools/tools/net80211/wlanstats/wlanstats.c
+++ b/tools/tools/net80211/wlanstats/wlanstats.c
@@ -276,7 +276,11 @@ static const struct fmt wlanstats[] = {
{ 8, "amsdu_decap", "decap", "A-MSDU frames received" },
#define S_AMSDU_ENCAP AFTER(S_AMSDU_DECAP)
{ 8, "amsdu_encap", "encap", "A-MSDU frames transmitted" },
-#define S_AMPDU_REORDER AFTER(S_AMSDU_ENCAP)
+#define S_AMSDU_RX_MORE AFTER(S_AMSDU_ENCAP)
+ { 13, "rx_amsdu_more", "rx_amsdu_more", "A-MSDU HW intermediary decap'ed received" },
+#define S_AMSDU_RX_MORE_END AFTER(S_AMSDU_RX_MORE)
+ { 17, "rx_amsdu_more_end", "rx_amsdu_more_end", "A-MSDU HW end decap'ed received" },
+#define S_AMPDU_REORDER AFTER(S_AMSDU_RX_MORE_END)
{ 8, "ampdu_reorder", "reorder","A-MPDU frames held in reorder q" },
#define S_AMPDU_FLUSH AFTER(S_AMPDU_REORDER)
{ 8, "ampdu_flush", "flush", "A-MPDU frames sent up from reorder q" },
@@ -778,6 +782,8 @@ wlan_get_curstat(struct bsdstat *sf, int s, char b[], size_t bs)
case S_AMSDU_SPLIT: STAT(amsdu_split);
case S_AMSDU_DECAP: STAT(amsdu_decap);
case S_AMSDU_ENCAP: STAT(amsdu_encap);
+ case S_AMSDU_RX_MORE: NSTAT(rx_amsdu_more);
+ case S_AMSDU_RX_MORE_END: NSTAT(rx_amsdu_more_end);
case S_AMPDU_REORDER: STAT(ampdu_rx_reorder);
case S_AMPDU_FLUSH: STAT(ampdu_rx_flush);
case S_AMPDU_BARBAD: STAT(ampdu_bar_bad);
@@ -941,6 +947,8 @@ wlan_get_totstat(struct bsdstat *sf, int s, char b[], size_t bs)
case S_AMSDU_SPLIT: STAT(amsdu_split);
case S_AMSDU_DECAP: STAT(amsdu_decap);
case S_AMSDU_ENCAP: STAT(amsdu_encap);
+ case S_AMSDU_RX_MORE: NSTAT(rx_amsdu_more);
+ case S_AMSDU_RX_MORE_END: NSTAT(rx_amsdu_more_end);
case S_AMPDU_REORDER: STAT(ampdu_rx_reorder);
case S_AMPDU_FLUSH: STAT(ampdu_rx_flush);
case S_AMPDU_BARBAD: STAT(ampdu_bar_bad);