From owner-p4-projects@FreeBSD.ORG Fri Jan 30 11:57:34 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0DA9416A4D0; Fri, 30 Jan 2004 11:57:34 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DD6EC16A4CE for ; Fri, 30 Jan 2004 11:57:33 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA1B143D31 for ; Fri, 30 Jan 2004 11:57:32 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i0UJvW0B050200 for ; Fri, 30 Jan 2004 11:57:32 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i0UJvWI2050197 for perforce@freebsd.org; Fri, 30 Jan 2004 11:57:32 -0800 (PST) (envelope-from sam@freebsd.org) Date: Fri, 30 Jan 2004 11:57:32 -0800 (PST) Message-Id: <200401301957.i0UJvWI2050197@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 Subject: PERFORCE change 46218 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jan 2004 19:57:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=46218 Change 46218 by sam@sam_ebb on 2004/01/30 11:57:18 o define a per-station/node statistics block o add stat for frames dropped 'cuz a station hadn't completed 802.1x authentication Affected files ... .. //depot/projects/netperf+sockets/sys/net80211/ieee80211_ioctl.h#5 edit Differences ... ==== //depot/projects/netperf+sockets/sys/net80211/ieee80211_ioctl.h#5 (text+ko) ==== @@ -39,6 +39,46 @@ * IEEE 802.11 ioctls. */ +/* + * Per/node (station) statistics available when operating as an AP. + */ +struct ieee80211_nodestats { + u_int32_t ns_rx_data; /* rx data frames */ + u_int32_t ns_rx_mgmt; /* rx management frames */ + u_int32_t ns_rx_ctrl; /* rx control frames */ + u_int32_t ns_rx_ucast; /* rx unicast frames */ + u_int32_t ns_rx_mcast; /* rx multi/broadcast frames */ + u_int64_t ns_rx_bytes; /* rx data count (bytes) */ + + u_int32_t ns_rx_dup; /* rx discard 'cuz dup */ + u_int32_t ns_rx_nowep; /* rx w/ wep but wep !config */ + u_int32_t ns_rx_wepfail; /* rx wep processing failed */ + u_int32_t ns_rx_decap; /* rx decapsulation failed */ + u_int32_t ns_rx_disassoc; /* rx disassociation */ + u_int32_t ns_rx_deauth; /* rx deauthentication */ + u_int32_t ns_rx_decryptcrc; /* rx decrypt failed on crc */ + u_int32_t ns_rx_not1xauth; /* rx data before 802.1x auth */ + + u_int32_t ns_tx_data; /* tx data frames */ + u_int32_t ns_tx_mgmt; /* tx management frames */ + u_int32_t ns_tx_ucast; /* tx unicast frames */ + u_int32_t ns_tx_mcast; /* tx multi/broadcast frames */ + u_int64_t ns_tx_bytes; /* tx data count (bytes) */ + + /* MIB-related state */ + u_int32_t ns_mib_assoc; /* [re]associations */ + u_int32_t ns_mib_assoc_fail; /* [re]association failures */ + u_int32_t ns_mib_auth; /* [re]authentications */ + u_int32_t ns_mib_auth_fail; /* [re]authentication failures*/ + u_int32_t ns_mib_deauth; /* deauthentications */ + u_int32_t ns_mib_deauth_code; /* last deauth reason */ + u_int32_t ns_mib_disassoc; /* disassociations */ + u_int32_t ns_mib_disassoc_code; /* last disassociation reason */ +}; + +/* + * Summary statistics. + */ struct ieee80211_stats { u_int32_t is_rx_badversion; /* rx frame with bad version */ u_int32_t is_rx_tooshort; /* rx frame too short */ @@ -74,6 +114,7 @@ u_int32_t is_rx_decryptcrc; /* rx decrypt failed on crc */ u_int32_t is_rx_ahdemo_mgt; /* rx discard ahdemo mgt frame*/ u_int32_t is_rx_bad_auth; /* rx bad auth request */ + u_int32_t is_rx_not1xauth; /* rx data before 802.1x auth */ u_int32_t is_tx_nobuf; /* tx failed for lack of buf */ u_int32_t is_tx_nonode; /* tx failed for no node */ u_int32_t is_tx_unknownmgt; /* tx of unknown mgt frame */