cfg80211: Add airtime statistics and settings
This adds TX airtime statistics to the cfg80211 station dump (to go along with the RX info already present), and adds a new parameter to set the airtime weight of each station. The latter allows userspace to implement policies for different stations by varying their weights. Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk> [rmanohar@codeaurora.org: fixed checkpatch warnings] Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org> [move airtime weight != 0 check into policy] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:

committed by
Johannes Berg

parent
1866760096
commit
36647055b3
@@ -1003,6 +1003,7 @@ enum station_parameters_apply_mask {
|
||||
* @support_p2p_ps: information if station supports P2P PS mechanism
|
||||
* @he_capa: HE capabilities of station
|
||||
* @he_capa_len: the length of the HE capabilities
|
||||
* @airtime_weight: airtime scheduler weight for this station
|
||||
*/
|
||||
struct station_parameters {
|
||||
const u8 *supported_rates;
|
||||
@@ -1032,6 +1033,7 @@ struct station_parameters {
|
||||
int support_p2p_ps;
|
||||
const struct ieee80211_he_cap_elem *he_capa;
|
||||
u8 he_capa_len;
|
||||
u16 airtime_weight;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1300,6 +1302,8 @@ struct cfg80211_tid_stats {
|
||||
* from this peer
|
||||
* @connected_to_gate: true if mesh STA has a path to mesh gate
|
||||
* @rx_duration: aggregate PPDU duration(usecs) for all the frames from a peer
|
||||
* @tx_duration: aggregate PPDU duration(usecs) for all the frames to a peer
|
||||
* @airtime_weight: current airtime scheduling weight
|
||||
* @pertid: per-TID statistics, see &struct cfg80211_tid_stats, using the last
|
||||
* (IEEE80211_NUM_TIDS) index for MSDUs not encapsulated in QoS-MPDUs.
|
||||
* Note that this doesn't use the @filled bit, but is used if non-NULL.
|
||||
@@ -1350,8 +1354,9 @@ struct station_info {
|
||||
|
||||
u32 expected_throughput;
|
||||
|
||||
u64 rx_beacon;
|
||||
u64 tx_duration;
|
||||
u64 rx_duration;
|
||||
u64 rx_beacon;
|
||||
u8 rx_beacon_signal_avg;
|
||||
u8 connected_to_gate;
|
||||
|
||||
@@ -1359,6 +1364,8 @@ struct station_info {
|
||||
s8 ack_signal;
|
||||
s8 avg_ack_signal;
|
||||
|
||||
u16 airtime_weight;
|
||||
|
||||
u32 rx_mpdu_count;
|
||||
u32 fcs_err_count;
|
||||
};
|
||||
@@ -2391,6 +2398,8 @@ enum wiphy_params_flags {
|
||||
WIPHY_PARAM_TXQ_QUANTUM = 1 << 8,
|
||||
};
|
||||
|
||||
#define IEEE80211_DEFAULT_AIRTIME_WEIGHT 256
|
||||
|
||||
/**
|
||||
* struct cfg80211_pmksa - PMK Security Association
|
||||
*
|
||||
|
Reference in New Issue
Block a user