Home | History | Annotate | Line # | Download | only in ap
      1 /*
      2  * Airtime policy configuration
      3  * Copyright (c) 2018-2019, Toke Hiland-Jrgensen <toke (at) toke.dk>
      4  *
      5  * This software may be distributed under the terms of the BSD license.
      6  * See README for more details.
      7  */
      8 
      9 #ifndef AIRTIME_POLICY_H
     10 #define AIRTIME_POLICY_H
     11 
     12 struct hostapd_iface;
     13 
     14 #ifdef CONFIG_AIRTIME_POLICY
     15 
     16 #define AIRTIME_DEFAULT_UPDATE_INTERVAL 200 /* ms */
     17 #define AIRTIME_BACKLOG_EXPIRY_FACTOR 2500 /* 2.5 intervals + convert to usec */
     18 
     19 /* scale quantum so this becomes the effective quantum after applying the max
     20  * weight, but never go below min or above max */
     21 #define AIRTIME_QUANTUM_MIN 8 /* usec */
     22 #define AIRTIME_QUANTUM_MAX 256 /* usec */
     23 #define AIRTIME_QUANTUM_TARGET 1024 /* usec */
     24 
     25 int airtime_policy_new_sta(struct hostapd_data *hapd, struct sta_info *sta);
     26 int airtime_policy_update_init(struct hostapd_iface *iface);
     27 void airtime_policy_update_deinit(struct hostapd_iface *iface);
     28 
     29 #else /* CONFIG_AIRTIME_POLICY */
     30 
     31 static inline int airtime_policy_new_sta(struct hostapd_data *hapd,
     32 					 struct sta_info *sta)
     33 {
     34 	return -1;
     35 }
     36 
     37 static inline int airtime_policy_update_init(struct hostapd_iface *iface)
     38 {
     39 	return -1;
     40 }
     41 
     42 static inline void airtime_policy_update_deinit(struct hostapd_iface *iface)
     43 {
     44 }
     45 
     46 #endif /* CONFIG_AIRTIME_POLICY */
     47 
     48 #endif /* AIRTIME_POLICY_H */
     49