aboutsummaryrefslogtreecommitdiffstats
path: root/src/ap/hostapd.h
diff options
context:
space:
mode:
authorToke Høiland-Jørgensen <toke@toke.dk>2019-03-20 14:58:52 (GMT)
committerJouni Malinen <j@w1.fi>2019-05-02 11:57:43 (GMT)
commitef7217518be9705409cc330309221041c1312993 (patch)
tree4ecd0f355074524c78d157978f115162dbbee5a5 /src/ap/hostapd.h
parent6720b9482f523f7385c6eaef9c27361d30a9c954 (diff)
downloadhostap-ef7217518be9705409cc330309221041c1312993.zip
hostap-ef7217518be9705409cc330309221041c1312993.tar.gz
hostap-ef7217518be9705409cc330309221041c1312993.tar.bz2
hostapd: Add airtime policy configuration support
This adds support to hostapd for configuring airtime policy settings for stations as they connect to the access point. This is the userspace component of the airtime policy enforcement system PoliFi described in this paper: https://arxiv.org/abs/1902.03439 The Linux kernel part has been merged into mac80211 for the 5.1 dev cycle. The configuration mechanism has three modes: Static, dynamic and limit. In static mode, weights can be set in the configuration file for individual MAC addresses, which will be applied when the configured stations connect. In dynamic mode, weights are instead set per BSS, which will be scaled by the number of active stations on that BSS, achieving the desired aggregate weighing between the configured BSSes. Limit mode works like dynamic mode, except that any BSS *not* marked as 'limited' is allowed to exceed its configured share if a per-station fairness share would assign more airtime to that BSS. See the paper for details on these modes. Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
Diffstat (limited to 'src/ap/hostapd.h')
-rw-r--r--src/ap/hostapd.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ap/hostapd.h b/src/ap/hostapd.h
index 0f76cd6..594699f 100644
--- a/src/ap/hostapd.h
+++ b/src/ap/hostapd.h
@@ -379,6 +379,11 @@ struct hostapd_data {
unsigned int dpp_ignore_netaccesskey_mismatch:1;
#endif /* CONFIG_TESTING_OPTIONS */
#endif /* CONFIG_DPP */
+
+#ifdef CONFIG_AIRTIME_POLICY
+ unsigned int num_backlogged_sta;
+ unsigned int airtime_weight;
+#endif /* CONFIG_AIRTIME_POLICY */
};
@@ -541,6 +546,9 @@ struct hostapd_iface {
unsigned int num_sta_seen;
u8 dfs_domain;
+#ifdef CONFIG_AIRTIME_POLICY
+ unsigned int airtime_quantum;
+#endif /* CONFIG_AIRTIME_POLICY */
};
/* hostapd.c */