Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Jun 2020 06:10:28 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r362085 - head/tools/tools/net80211/wlanstats
Message-ID:  <202006120610.05C6ASkF000629@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006120610.05C6ASkF000629>