From owner-p4-projects@FreeBSD.ORG Wed May 9 16:50:50 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AD13216A404; Wed, 9 May 2007 16:50:50 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6994A16A402 for ; Wed, 9 May 2007 16:50:50 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5891813C455 for ; Wed, 9 May 2007 16:50:50 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l49GooDK013739 for ; Wed, 9 May 2007 16:50:50 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l49GonDD013736 for perforce@freebsd.org; Wed, 9 May 2007 16:50:49 GMT (envelope-from sam@freebsd.org) Date: Wed, 9 May 2007 16:50:49 GMT Message-Id: <200705091650.l49GonDD013736@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 119576 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 May 2007 16:50:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=119576 Change 119576 by sam@sam_ebb on 2007/05/09 16:50:15 update for 11n stats Affected files ... .. //depot/projects/wifi/tools/tools/net80211/wlanstats/wlanstats.c#3 edit Differences ... ==== //depot/projects/wifi/tools/tools/net80211/wlanstats/wlanstats.c#3 (text+ko) ==== @@ -50,6 +50,7 @@ #include #include +#include #include #include #include @@ -91,7 +92,7 @@ #define S_RX_MGTDISCARD 11 { 5, "rx_mgtdiscard", "mgtdiscard", "rx discard mgt frames" }, #define S_RX_CTL 12 - { 5, "rx_ctl", "ctl", "rx discard ctrl frames" }, + { 5, "rx_ctl", "ctl", "rx ctrl frames" }, #define S_RX_BEACON 13 { 5, "rx_beacon", "beacon", "rx beacon frames" }, #define S_RX_RSTOOBIG 14 @@ -256,29 +257,49 @@ { 5, "rx_demicfail", "rx_demicfail", "rx demic failed" }, #define S_RX_DEFRAG 91 { 5, "rx_defrag", "rx_defrag", "rx defragmentation failed" }, -#define S_INPUT 92 +#define S_RX_ACTION 92 + { 5, "rx_action", "rx_action", "rx action frames" }, +#define S_AMSDU_TOOSHORT 93 + { 8, "amsdu_tooshort", "amsdu_tooshort","A-MSDU rx decap error" }, +#define S_AMSDU_SPLIT 94 + { 8, "amsdu_split", "amsdu_split", "A-MSDU rx failed on frame split" }, +#define S_AMSDU_DECAP 95 + { 8, "amsdu_decap", "amsdu_decap", "A-MSDU frames received" }, +#define S_AMSDU_ENCAP 96 + { 8, "amsdu_encap", "amsdu_encap", "A-MSDU frames transmitted" }, +#define S_AMPDU_FLUSH 97 + { 8, "ampdu_flush", "ampdu_flush", "A-MPDU frames flushed" }, +#define S_AMPDU_BARBAD 98 + { 8, "ampdu_barbad", "ampdu_barbad", "A-MPDU BAR rx before ADDBA exchange" }, +#define S_AMPDU_BAROOW 99 + { 8, "ampdu_baroow", "ampdu_baroow", "A-MPDU BAR rx out of BA window" }, +#define S_AMPDU_BAR 100 + { 8, "ampdu_bar", "ampdu_bar", "A-MPDU BAR rx successful" }, +#define S_AMPDU_OOR 101 + { 8, "ampdu_oor", "ampdu_oor", "A-MPDU frames received out-of-order" }, +#define S_AMPDU_COPY 102 + { 8, "ampdu_copy", "ampdu_copy", "A-MPDU rx window slots copied" }, +#define S_INPUT 103 { 8, "input", "input", "data frames received" }, -#define S_OUTPUT 93 +#define S_OUTPUT 104 { 8, "output", "output", "data frames transmit" }, -#define S_RATE 94 +#define S_RATE 105 { 4, "rate", "rate", "current transmit rate" }, -#define S_RSSI 95 +#define S_RSSI 106 { 4, "rssi", "rssi", "current rssi" }, -#define S_NOISE 96 +#define S_NOISE 107 { 4, "noise", "noise", "current noise floor (dBm)" }, -#define S_RX_UCAST 97 +#define S_RX_UCAST 108 { 8, "rx_ucast", "rx_ucast", "unicast data frames received" }, -#define S_RX_MCAST 98 +#define S_RX_MCAST 109 { 8, "rx_mcast", "rx_mcast", "multicast data frames received" }, -#define S_TX_UCAST 99 +#define S_TX_UCAST 110 { 8, "tx_ucast", "tx_ucast", "unicast data frames sent" }, -#define S_TX_MCAST 100 +#define S_TX_MCAST 111 { 8, "tx_mcast", "tx_mcast", "multicast data frames sent" }, -#define S_SIGNAL 101 +#define S_SIGNAL 112 { 4, "signal", "sig", "current signal (dBm)" }, }; -#define S_LAST S_RX_DEFRAG -#define S_MAX S_LAST+1 struct wlanstatfoo_p { struct wlanstatfoo base; @@ -376,7 +397,7 @@ wf->ireq.i_data = wf->mac; wf->ireq.i_len = IEEE80211_ADDR_LEN; if (ioctl(wf->s, SIOCG80211, &wf->ireq) <0) - err(1, wf->ireq.i_name); + err(1, "%s (IEEE80211_IOC_BSSID)", wf->ireq.i_name); break; } } else @@ -394,18 +415,18 @@ wf->ireq.i_data = (caddr_t) &wf->u_info; wf->ireq.i_len = sizeof(wf->u_info); if (ioctl(wf->s, SIOCG80211, &wf->ireq) < 0) - err(1, wf->ireq.i_name); + err(1, "%s (IEEE80211_IOC_STA_INFO)", wf->ireq.i_name); IEEE80211_ADDR_COPY(nstats->is_u.macaddr, wf->mac); wf->ireq.i_type = IEEE80211_IOC_STA_STATS; wf->ireq.i_data = (caddr_t) nstats; wf->ireq.i_len = sizeof(*nstats); if (ioctl(wf->s, SIOCG80211, &wf->ireq) < 0) - err(1, wf->ireq.i_name); + err(1, "%s (IEEE80211_IOC_STA_STATS)", wf->ireq.i_name); wf->ifr.ifr_data = (caddr_t) stats; if (ioctl(wf->s, SIOCG80211STATS, &wf->ifr) < 0) - err(1, wf->ifr.ifr_name); + err(1, "%s (SIOCG80211STATS)", wf->ifr.ifr_name); } static void @@ -561,6 +582,17 @@ case S_RX_MGMT: STAT(rx_mgmt); case S_RX_DEMICFAIL: STAT(rx_demicfail); case S_RX_DEFRAG: STAT(rx_defrag); + case S_RX_ACTION: STAT(rx_action); + case S_AMSDU_TOOSHORT: STAT(amsdu_tooshort); + case S_AMSDU_SPLIT: STAT(amsdu_split); + case S_AMSDU_DECAP: STAT(amsdu_decap); + case S_AMSDU_ENCAP: STAT(amsdu_encap); + case S_AMPDU_FLUSH: STAT(ampdu_rx_flush); + case S_AMPDU_BARBAD: STAT(ampdu_bar_bad); + case S_AMPDU_BAROOW: STAT(ampdu_bar_oow); + case S_AMPDU_BAR: STAT(ampdu_bar_rx); + case S_AMPDU_OOR: STAT(ampdu_rx_oor); + case S_AMPDU_COPY: STAT(ampdu_rx_copy); case S_INPUT: NSTAT(rx_data); case S_OUTPUT: NSTAT(tx_data); case S_RX_UCAST: NSTAT(rx_ucast); @@ -674,6 +706,17 @@ case S_RX_MGMT: STAT(rx_mgmt); case S_RX_DEMICFAIL: STAT(rx_demicfail); case S_RX_DEFRAG: STAT(rx_defrag); + case S_RX_ACTION: STAT(rx_action); + case S_AMSDU_TOOSHORT: STAT(amsdu_tooshort); + case S_AMSDU_SPLIT: STAT(amsdu_split); + case S_AMSDU_DECAP: STAT(amsdu_decap); + case S_AMSDU_ENCAP: STAT(amsdu_encap); + case S_AMPDU_FLUSH: STAT(ampdu_rx_flush); + case S_AMPDU_BARBAD: STAT(ampdu_bar_bad); + case S_AMPDU_BAROOW: STAT(ampdu_bar_oow); + case S_AMPDU_BAR: STAT(ampdu_bar_rx); + case S_AMPDU_OOR: STAT(ampdu_rx_oor); + case S_AMPDU_COPY: STAT(ampdu_rx_copy); case S_INPUT: NSTAT(rx_data); case S_OUTPUT: NSTAT(tx_data); case S_RX_UCAST: NSTAT(rx_ucast);