ef7217518b
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>
76 lines
1.2 KiB
Makefile
76 lines
1.2 KiB
Makefile
all: libap.a
|
|
|
|
clean:
|
|
rm -f *~ *.o *.d *.gcno *.gcda *.gcov libap.a
|
|
|
|
install:
|
|
@echo Nothing to be made.
|
|
|
|
include ../lib.rules
|
|
|
|
CFLAGS += -DHOSTAPD
|
|
CFLAGS += -DNEED_AP_MLME
|
|
CFLAGS += -DCONFIG_ETH_P_OUI
|
|
CFLAGS += -DCONFIG_HS20
|
|
CFLAGS += -DCONFIG_INTERWORKING
|
|
CFLAGS += -DCONFIG_IEEE80211R
|
|
CFLAGS += -DCONFIG_IEEE80211R_AP
|
|
CFLAGS += -DCONFIG_IEEE80211W
|
|
CFLAGS += -DCONFIG_WPS
|
|
CFLAGS += -DCONFIG_PROXYARP
|
|
CFLAGS += -DCONFIG_IPV6
|
|
CFLAGS += -DCONFIG_IAPP
|
|
CFLAGS += -DCONFIG_AIRTIME_POLICY
|
|
|
|
LIB_OBJS= \
|
|
accounting.o \
|
|
ap_config.o \
|
|
ap_drv_ops.o \
|
|
ap_list.o \
|
|
ap_mlme.o \
|
|
airtime_policy.o \
|
|
authsrv.o \
|
|
beacon.o \
|
|
bss_load.o \
|
|
ctrl_iface_ap.o \
|
|
dfs.o \
|
|
dhcp_snoop.o \
|
|
drv_callbacks.o \
|
|
eap_user_db.o \
|
|
eth_p_oui.o \
|
|
gas_serv.o \
|
|
hostapd.o \
|
|
hs20.o \
|
|
hw_features.o \
|
|
iapp.o \
|
|
ieee802_11_auth.o \
|
|
ieee802_11.o \
|
|
ieee802_11_ht.o \
|
|
ieee802_11_shared.o \
|
|
ieee802_11_vht.o \
|
|
ieee802_1x.o \
|
|
neighbor_db.o \
|
|
ndisc_snoop.o \
|
|
p2p_hostapd.o \
|
|
pmksa_cache_auth.o \
|
|
preauth_auth.o \
|
|
rrm.o \
|
|
sta_info.o \
|
|
tkip_countermeasures.o \
|
|
utils.o \
|
|
vlan.o \
|
|
vlan_ifconfig.o \
|
|
vlan_init.o \
|
|
wmm.o \
|
|
wnm_ap.o \
|
|
wpa_auth.o \
|
|
wpa_auth_ft.o \
|
|
wpa_auth_glue.o \
|
|
wpa_auth_ie.o \
|
|
wps_hostapd.o \
|
|
x_snoop.o
|
|
|
|
libap.a: $(LIB_OBJS)
|
|
$(AR) crT $@ $?
|
|
|
|
-include $(OBJS:%.o=%.d)
|