svn commit: r362085 - head/tools/tools/net80211/wlanstats

Adrian Chadd adrian at FreeBSD.org
Fri Jun 12 06:10:28 UTC 2020


Author: adrian
Date: Fri Jun 12 06:10:27 2020
New Revision: 362085
URL: https://svnweb.freebsd.org/changeset/base/362085

Log:
  [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

Modified:
  head/tools/tools/net80211/wlanstats/main.c
  head/tools/tools/net80211/wlanstats/wlanstats.c

Modified: head/tools/tools/net80211/wlanstats/main.c
==============================================================================
--- head/tools/tools/net80211/wlanstats/main.c	Fri Jun 12 04:19:03 2020	(r362084)
+++ head/tools/tools/net80211/wlanstats/main.c	Fri Jun 12 06:10:27 2020	(r362085)
@@ -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"
   },
 };
 

Modified: head/tools/tools/net80211/wlanstats/wlanstats.c
==============================================================================
--- head/tools/tools/net80211/wlanstats/wlanstats.c	Fri Jun 12 04:19:03 2020	(r362084)
+++ head/tools/tools/net80211/wlanstats/wlanstats.c	Fri Jun 12 06:10:27 2020	(r362085)
@@ -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[], 
 	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[], 
 	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);


More information about the svn-src-all mailing list