ratelimit: apply updated ratelimit to associated stations

Fixes: WIFI-13453
Fixes: WIFI-13840
Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
John Crispin
2024-08-02 12:41:00 +02:00
parent 0c19ddddca
commit d603ecd10a
2 changed files with 28 additions and 0 deletions

View File

@@ -18,6 +18,7 @@ reload_service() {
ubus call ratelimit flush
config_load ratelimit
config_foreach add_rate rate
ubus call ratelimit reload
}
service_triggers() {

View File

@@ -326,6 +326,33 @@ function run_service() {
args: {
device:"",
}
},
reload: {
call: function(req) {
let list = uctx.list();
for (let obj in list) {
if (!wildcard(obj, 'hostapd.wlan*'))
continue;
let iface = split(obj, '.')[1];
let device = devices[iface];
if (!device)
continue;
let status = uctx.call(obj, 'get_status');
if (!status?.ssid)
continue;
if (!defaults[status?.ssid])
continue;
let data = {
rate_ingress: defaults[status?.ssid][0],
rate_egress: defaults[status?.ssid][1]
};
for (let k, client in device.clients)
set_client(device, client, data);
}
return 0;
},
args: {
}
}
});