summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/ath/if_ath.c17
-rw-r--r--sys/dev/ath/if_athioctl.h3
2 files changed, 9 insertions, 11 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c
index a969f16..ad4b998 100644
--- a/sys/dev/ath/if_ath.c
+++ b/sys/dev/ath/if_ath.c
@@ -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->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");
}
diff --git a/sys/dev/ath/if_athioctl.h b/sys/dev/ath/if_athioctl.h
index be16690..32ade92 100644
--- a/sys/dev/ath/if_athioctl.h
+++ b/sys/dev/ath/if_athioctl.h
@@ -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)
OpenPOWER on IntegriCloud