hostap/src/ap
Toke Høiland-Jørgensen ef7217518b 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>
2019-05-02 14:57:43 +03:00
..
accounting.c Remove unused generation of Request Authenticator in Account-Request 2016-09-22 00:34:19 +03:00
accounting.h RADIUS: Use more likely unique accounting Acct-{,Multi-}Session-Id 2016-02-06 17:10:19 +02:00
acs.c ACS: Add supported channel bandwidth checking 2019-01-06 12:04:15 +02:00
acs.h ACS: Fix memory leak if interface is disabled during scan 2017-03-04 17:30:15 +02:00
airtime_policy.c hostapd: Add airtime policy configuration support 2019-05-02 14:57:43 +03:00
airtime_policy.h hostapd: Add airtime policy configuration support 2019-05-02 14:57:43 +03:00
ap_config.c hostapd: Add airtime policy configuration support 2019-05-02 14:57:43 +03:00
ap_config.h hostapd: Add airtime policy configuration support 2019-05-02 14:57:43 +03:00
ap_drv_ops.c nl80211: Station airtime weight configuration 2019-05-02 13:28:17 +03:00
ap_drv_ops.h nl80211: Station airtime weight configuration 2019-05-02 13:28:17 +03:00
ap_list.c Move ap_list_timer() to use common AP periodic cleanup mechanism 2015-07-20 13:42:35 +03:00
ap_list.h Move ap_list_timer() to use common AP periodic cleanup mechanism 2015-07-20 13:42:35 +03:00
ap_mlme.c FILS: Do not clear PTK on FILS Auth/Assoc (AP) 2016-10-22 18:11:14 +03:00
ap_mlme.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
authsrv.c OpenSSL: Add 'check_cert_subject' support for TLS server 2019-03-11 14:09:45 +02:00
authsrv.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
beacon.c HE: Add Spatial Reuse Parameter Set element to the Beacon frames 2019-04-25 12:15:36 +03:00
beacon.h hostapd: Added signal level to STA tracking 2016-10-29 00:55:49 +03:00
bss_load.c hostapd: Add average channel utilization in STATUS 2017-12-12 00:48:27 +02:00
bss_load.h AP: Add support for BSS load element (STA Count, Channel Utilization) 2014-10-21 23:25:48 +03:00
ctrl_iface_ap.c Indicate ieee80211ax configuration in hostapd STATUS output 2019-04-26 15:06:30 +03:00
ctrl_iface_ap.h DPP: Allow PMKSA cache entries to be added through hostapd ctrl_iface 2017-06-19 21:13:17 +03:00
dfs.c DFS: Add supported channel bandwidth checking 2019-01-06 12:09:21 +02:00
dfs.h DFS: Handle pre-CAC expired event 2017-03-09 17:01:50 +02:00
dhcp_snoop.c HS 2.0: DHCP broadcast-to-unicast conversion before address learning 2018-12-30 01:05:18 +02:00
dhcp_snoop.h AP: Add support for Proxy ARP, DHCP snooping mechanism 2014-10-28 01:08:29 +02:00
dpp_hostapd.c DPP2: hostapd as TCP Relay 2019-04-22 21:08:59 +03:00
dpp_hostapd.h DPP2: hostapd as TCP Relay 2019-04-22 21:08:59 +03:00
drv_callbacks.c Ignore channel switch event if AP interface is not yet ready 2019-04-26 16:24:31 +03:00
eap_user_db.c Check snprintf result to avoid compiler warnings 2018-12-24 11:09:22 +02:00
eth_p_oui.c FT: Replace inter-AP protocol with use of OUI Extended Ethertype 2017-05-03 18:30:31 +03:00
eth_p_oui.h FT: Replace inter-AP protocol with use of OUI Extended Ethertype 2017-05-03 18:30:31 +03:00
fils_hlp.c FILS: Do not process FILS HLP request again while previous one is pending 2018-12-07 16:03:40 +02:00
fils_hlp.h FILS: DHCP relay for HLP requests 2017-02-01 18:17:39 +02:00
gas_query_ap.c DPP: Integration for hostapd 2017-06-19 21:13:17 +03:00
gas_query_ap.h DPP: Integration for hostapd 2017-06-19 21:13:17 +03:00
gas_serv.c DPP2: hostapd as TCP Relay 2019-04-22 21:08:59 +03:00
gas_serv.h DPP2: hostapd as TCP Relay 2019-04-22 21:08:59 +03:00
hostapd.c hostapd: Add airtime policy configuration support 2019-05-02 14:57:43 +03:00
hostapd.h hostapd: Add airtime policy configuration support 2019-05-02 14:57:43 +03:00
hs20.c OCV: Advertise OCV capability in RSN capabilities (AP) 2018-12-16 20:48:48 +02:00
hs20.h HS 2.0: Move Terms and Conditions Server URL generation from AP to AS 2018-06-21 20:50:54 +03:00
hw_features.c Verify that channel info is available in hostapd_hw_get_channel() 2019-04-26 16:17:59 +03:00
hw_features.h hostapd: Fix some compilation errors 2015-03-29 20:51:14 +03:00
iapp.c IAPP: Set SO_REUSEADDR on listening socket 2016-08-18 20:01:48 +03:00
iapp.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
ieee802_1x.c FILS: Fix PTK rekeying 2019-04-18 21:55:39 +03:00
ieee802_1x.h FILS: Export IEEE 802.1X helper functions 2016-10-22 23:13:17 +03:00
ieee802_11.c Add 802.11 status code strings 2019-04-22 22:08:07 +03:00
ieee802_11.h HE: Add Spatial Reuse Parameter Set element to the Beacon frames 2019-04-25 12:15:36 +03:00
ieee802_11_auth.c Allow remote RADIUS authentication with local VLAN management 2019-01-02 23:27:49 +02:00
ieee802_11_auth.h Extend ACL check for Probe Request frames 2018-03-03 00:42:16 +02:00
ieee802_11_he.c HE: Fix HE Operation element byte order on bigendian CPUs 2019-04-25 23:57:47 +03:00
ieee802_11_ht.c Do not disable 40 MHz based on co-ex report with matching primary channel 2018-03-21 16:58:05 +02:00
ieee802_11_shared.c Move SA Query frame length check to the shared handler function 2019-03-09 12:41:49 +02:00
ieee802_11_vht.c Store the VHT Operation element of an associated STA 2018-12-16 18:35:30 +02:00
Makefile hostapd: Add airtime policy configuration support 2019-05-02 14:57:43 +03:00
mbo_ap.c MBO: Do not parse reason_detail in non_pref_chan attr (AP) 2016-09-25 17:31:26 +03:00
mbo_ap.h MBO: Parse non-preferred channel list on the AP 2016-02-22 21:17:38 +02:00
ndisc_snoop.c Fix DHCP/NDISC snoop deinit followed by failing re-init 2017-03-04 11:42:15 +02:00
ndisc_snoop.h proxyarp: Use C library header files and CONFIG_IPV6 2014-11-25 16:58:21 +02:00
neighbor_db.c RRM: Move neighbor report functions 2019-01-02 16:47:09 +02:00
neighbor_db.h RRM: Move neighbor report functions 2019-01-02 16:47:09 +02:00
p2p_hostapd.c Use P2P_IE_VENDOR_TYPE more consistently 2014-03-05 23:36:54 +02:00
p2p_hostapd.h Remove the GPL notification from files contributed by Atheros 2012-02-11 19:39:36 +02:00
pmksa_cache_auth.c FILS: Update PMKID derivation rules for ERP key hierarchy establishment 2017-09-13 22:17:58 +03:00
pmksa_cache_auth.h OWE: PMKSA caching in AP mode 2017-10-09 12:12:54 +03:00
preauth_auth.c Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
preauth_auth.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
rrm.c hostapd: Fix a typo in function name 2019-01-02 16:40:34 +02:00
rrm.h Report beacon request TX status as control interface event 2017-01-03 16:02:58 +02:00
sta_info.c WPA: Stop WPA statement on STA disassociation 2019-04-19 01:12:29 +03:00
sta_info.h hostapd: Add airtime policy configuration support 2019-05-02 14:57:43 +03:00
taxonomy.c Fix or supress various sparse warnings 2017-01-29 18:33:10 +02:00
taxonomy.h taxonomy: Store Probe Request frames in hostapd_sta_info 2016-09-22 00:45:24 +03:00
tkip_countermeasures.c hostapd: Add logging around Michael MIC related failures 2018-04-02 16:51:29 +03:00
tkip_countermeasures.h hostapd: Fix a regression in TKIP countermeasures processing 2012-11-18 13:06:03 +02:00
utils.c FST: Do not prune STAs belonging to the same FST 2015-07-16 18:26:15 +03:00
vlan.c VLAN: Fix vlan_compare() for tagged VLANs 2016-02-22 19:53:05 +02:00
vlan.h radius: Add tagged VLAN parsing 2016-02-17 11:46:13 +02:00
vlan_full.c vlan: Use new bridge ioctl() 2019-01-02 00:23:43 +02:00
vlan_ifconfig.c vlan: Move if_nametoindex() use out of vlan_init.c 2016-03-25 18:00:44 +02:00
vlan_init.c Check snprintf result to avoid compiler warnings 2018-12-24 11:09:22 +02:00
vlan_init.h VLAN: Separate station grouping and uplink configuration 2016-02-17 11:46:11 +02:00
vlan_ioctl.c Use own header file for defining Linux VLAN kernel interface 2016-03-26 11:24:38 +02:00
vlan_util.c vlan: Remove unnecessary header includes from netlink implementation 2016-03-25 17:27:16 +02:00
vlan_util.h vlan: Move if_nametoindex() use out of vlan_init.c 2016-03-25 18:00:44 +02:00
wmm.c WMM: Fix estimated medium time calculation for some corner cases 2017-02-11 12:12:28 +02:00
wmm.h Remove obsolete license notifications 2013-12-24 22:59:52 +02:00
wnm_ap.c WNM: Fix WNM-Sleep Mode Request bounds checking 2019-01-28 14:58:17 +02:00
wnm_ap.h WNM: Collocated Interference Reporting 2018-10-30 14:07:51 +02:00
wpa_auth.c FT: Store XXKey/MPMK in PMKSA cache instead of MSK (authenticator) 2019-04-28 15:52:08 +03:00
wpa_auth.h FILS: Fix PTK rekeying 2019-04-18 21:55:39 +03:00
wpa_auth_ft.c FT: Allow cached XXKey/MPMK to be used if new XXKey is not available 2019-04-28 15:52:43 +03:00
wpa_auth_glue.c VLAN assignment based on used WPA/WPA2 passphrase/PSK 2019-02-14 13:36:54 +02:00
wpa_auth_glue.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
wpa_auth_i.h FT: Maintain PMK-R1 for a connected STA 2019-04-19 01:12:30 +03:00
wpa_auth_ie.c OWE: Allow Diffie-Hellman Parameter element to be included with DPP 2019-03-18 00:27:11 +02:00
wpa_auth_ie.h OCV: Parse all types of OCI information elements 2018-12-17 00:02:14 +02:00
wps_hostapd.c WPS: Allow AP SAE configuration to be added automatically for PSK 2019-03-06 21:52:43 +02:00
wps_hostapd.h WPS NFC: Add AP mode connection handover report 2014-01-27 21:10:55 +02:00
x_snoop.c AP: Enable multicast snooping on bridge if ProxyARP IPv6 is in use 2015-04-13 14:00:32 +03:00
x_snoop.h AP: Add multicast-to-unicast conversion send for "x_snoop" 2014-11-19 16:25:13 +02:00