From owner-svn-src-all@freebsd.org Fri Jun 12 06:10:28 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A213532FE91; Fri, 12 Jun 2020 06:10:28 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49jr1c3qkSz40TL; Fri, 12 Jun 2020 06:10:28 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7A42C25108; Fri, 12 Jun 2020 06:10:28 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05C6ASiw000630; Fri, 12 Jun 2020 06:10:28 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05C6ASkF000629; Fri, 12 Jun 2020 06:10:28 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <202006120610.05C6ASkF000629@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Fri, 12 Jun 2020 06:10:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r362085 - head/tools/tools/net80211/wlanstats X-SVN-Group: head X-SVN-Commit-Author: adrian X-SVN-Commit-Paths: head/tools/tools/net80211/wlanstats X-SVN-Commit-Revision: 362085 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Jun 2020 06:10:28 -0000 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);