diff options
| author | Felix Fietkau | 2025-09-25 10:07:48 +0000 |
|---|---|---|
| committer | Felix Fietkau | 2025-09-25 10:08:52 +0000 |
| commit | adb1ce158ac80b69f86b55a86d42b3b5ead7bc5d (patch) | |
| tree | 83697b47bb3e94f5cd5a6498a0dfc119b08f0742 | |
| parent | 8c37f5f2f2c07ed02f39adc179c0e28afc23914e (diff) | |
| download | openwrt-adb1ce158ac80b69f86b55a86d42b3b5ead7bc5d.tar.gz | |
hostapd: fix setting up MLD AP interfaces after config change
Removing the last remaining link from an MLD AP interface removes the
interface as well. Re-create the interface if necessary on config changes.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
| -rw-r--r-- | package/network/services/hostapd/files/hostapd.uc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/package/network/services/hostapd/files/hostapd.uc b/package/network/services/hostapd/files/hostapd.uc index 671502720e..2679fb1ee1 100644 --- a/package/network/services/hostapd/files/hostapd.uc +++ b/package/network/services/hostapd/files/hostapd.uc @@ -1,5 +1,5 @@ let libubus = require("ubus"); -import { open, readfile } from "fs"; +import { open, readfile, access } from "fs"; import { wdev_remove, is_equal, vlist_new, phy_is_fullmac, phy_open, wdev_set_radio_mask, wdev_set_up } from "common"; let ubus = libubus.connect(null, 60); @@ -777,6 +777,10 @@ function bss_check_mld(phydev, iface_name, bss) bss.mld_bssid = mld_data.macaddr; mld_data.iface[iface_name] = true; + + if (!access('/sys/class/net/' + iface_name, 'x')) + mld_data.has_wdev = false; + if (mld_data.has_wdev) return true; |