aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2023-08-11 23:08:56 +0200
committerFelix Fietkau <nbd@nbd.name>2023-08-11 23:29:22 +0200
commitf1c4751ba62ba561fef5d64010ac9cc7c0b86afb (patch)
treee1b92fcb4122ccc2d9ffbf5f527484d692ad9635
parentc1600df91f459c116e37454d5e983571cb166081 (diff)
downloadupstream-f1c4751ba62ba561fef5d64010ac9cc7c0b86afb.tar.gz
upstream-f1c4751ba62ba561fef5d64010ac9cc7c0b86afb.tar.bz2
upstream-f1c4751ba62ba561fef5d64010ac9cc7c0b86afb.zip
hostapd: restart wifi when the bssid of the first interface changes
Full restart is necessary, since the bss wdev is not re-created Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--package/network/services/hostapd/files/hostapd.uc6
1 files changed, 6 insertions, 0 deletions
diff --git a/package/network/services/hostapd/files/hostapd.uc b/package/network/services/hostapd/files/hostapd.uc
index 401f7c92662..070d70a9642 100644
--- a/package/network/services/hostapd/files/hostapd.uc
+++ b/package/network/services/hostapd/files/hostapd.uc
@@ -136,6 +136,9 @@ function iface_reload_config(phy, config, old_config)
if (phy_is_fullmac(phy))
return false;
+ if (config.bss[0].bssid != old_config.bss[0].bssid)
+ return false;
+
hostapd.printf(`Reload config for bss '${config.bss[0].ifname}' on phy '${phy}'`);
if (iface.bss[0].set_config(config_inline, 0) < 0) {
hostapd.printf(`Failed to set config`);
@@ -269,6 +272,9 @@ function iface_load_config(filename)
if (!val[0])
continue;
+ if (val[0] == "bssid")
+ bss.bssid = val[1];
+
if (val[0] == "bss") {
bss = config_add_bss(config, val[1]);
continue;