nl80211: support per-TID station statistics
[deliverable/linux.git] / include / net / cfg80211.h
index 95420fb61600180ede11b61cb95a501ac994f933..197735788f18573bea2c700dfd1395dc010c2857 100644 (file)
@@ -939,6 +939,24 @@ struct sta_bss_parameters {
        u16 beacon_interval;
 };
 
+/**
+ * struct cfg80211_tid_stats - per-TID statistics
+ * @filled: bitmap of flags using the bits of &enum nl80211_tid_stats to
+ *     indicate the relevant values in this struct are filled
+ * @rx_msdu: number of received MSDUs
+ * @tx_msdu: number of (attempted) transmitted MSDUs
+ * @tx_msdu_retries: number of retries (not counting the first) for
+ *     transmitted MSDUs
+ * @tx_msdu_failed: number of failed transmitted MSDUs
+ */
+struct cfg80211_tid_stats {
+       u32 filled;
+       u64 rx_msdu;
+       u64 tx_msdu;
+       u64 tx_msdu_retries;
+       u64 tx_msdu_failed;
+};
+
 #define IEEE80211_MAX_CHAINS   4
 
 /**
@@ -990,6 +1008,8 @@ struct sta_bss_parameters {
  * @rx_beacon: number of beacons received from this peer
  * @rx_beacon_signal_avg: signal strength average (in dBm) for beacons received
  *     from this peer
+ * @pertid: per-TID statistics, see &struct cfg80211_tid_stats, using the last
+ *     (IEEE80211_NUM_TIDS) index for MSDUs not encapsulated in QoS-MPDUs.
  */
 struct station_info {
        u32 filled;
@@ -1032,6 +1052,7 @@ struct station_info {
 
        u64 rx_beacon;
        u8 rx_beacon_signal_avg;
+       struct cfg80211_tid_stats pertid[IEEE80211_NUM_TIDS + 1];
 };
 
 /**
This page took 0.024416 seconds and 5 git commands to generate.