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);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to