From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 17:40:28 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 068A0106566C; Sun, 6 Feb 2011 17:40:28 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CF4368FC15; Sun, 6 Feb 2011 17:40:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p16HeRJd072266; Sun, 6 Feb 2011 17:40:27 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16HeRcs072263; Sun, 6 Feb 2011 17:40:27 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201102061740.p16HeRcs072263@svn.freebsd.org> From: Adrian Chadd Date: Sun, 6 Feb 2011 17:40:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218378 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 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: Sun, 06 Feb 2011 17:40:28 -0000 Author: adrian Date: Sun Feb 6 17:40:27 2011 New Revision: 218378 URL: http://svn.freebsd.org/changeset/base/218378 Log: Only tag packets with the A-MPDU bit if they were part of an A-MPDU RX. Whilst I'm here, add a counter to count said packets. Modified: head/sys/dev/ath/if_ath.c head/sys/dev/ath/if_athioctl.h Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Sun Feb 6 16:21:21 2011 (r218377) +++ head/sys/dev/ath/if_ath.c Sun Feb 6 17:40:27 2011 (r218378) @@ -3892,16 +3892,11 @@ rx_accept: IEEE80211_KEYIX_NONE : rs->rs_keyix); sc->sc_lastrs = rs; if (ni != NULL) { -#ifdef NOTYET - /* tag AMPDU aggregates for reorder processing */ - /* - * XXX this should only tag frames marked as aggregate; rather - * XXX than all frames. - */ - if (ni->ni_flags & IEEE80211_NODE_HT) - m->m_flags |= M_AMPDU; -#endif - + /* tag AMPDU aggregates for reorder processing */ + if (rs->rs_isaggr) { + + m->m_flags |= M_AMPDU; + } /* * Sending station is known, dispatch directly. */ @@ -6499,4 +6494,6 @@ ath_sysctl_stats_attach(struct ath_softc &sc->sc_stats.ast_be_missed, 0, "number of -missed- beacons"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_ani_cal", CTLFLAG_RD, &sc->sc_stats.ast_ani_cal, 0, "number of ANI polls"); + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_agg", CTLFLAG_RD, + &sc->sc_stats.ast_rx_agg, 0, "number of aggregate frames received"); } Modified: head/sys/dev/ath/if_athioctl.h ============================================================================== --- head/sys/dev/ath/if_athioctl.h Sun Feb 6 16:21:21 2011 (r218377) +++ head/sys/dev/ath/if_athioctl.h Sun Feb 6 17:40:27 2011 (r218378) @@ -120,7 +120,8 @@ struct ath_stats { u_int32_t ast_tx_nofrag; /* tx dropped 'cuz no ath frag buffer */ u_int32_t ast_be_missed; /* missed beacons */ u_int32_t ast_ani_cal; /* ANI calibrations performed */ - u_int32_t ast_pad[12]; + u_int32_t ast_rx_agg; /* number of aggregate frames RX'ed */ + u_int32_t ast_pad[11]; }; #define SIOCGATHSTATS _IOWR('i', 137, struct ifreq)