diff options
| author | Felix Fietkau | 2025-08-28 08:42:43 +0000 |
|---|---|---|
| committer | Felix Fietkau | 2025-08-28 08:42:44 +0000 |
| commit | f43bf55b412dbc89c30eea27fdf127b2ca4eb110 (patch) | |
| tree | 4e4ecef3ffd636238e83e41c0862fe467fa85e01 | |
| parent | 6fbf6d0cfd080230ce4ca72605580b0c188db8a1 (diff) | |
| download | openwrt-f43bf55b412dbc89c30eea27fdf127b2ca4eb110.tar.gz | |
wifi-scripts: allow configuring per-radio macaddr in shared/mlo wifi-iface
When a wifi-iface section is used either for multiple vifs or MLD links,
make it possible to configure the per-radio/link macaddr.
When MLO is enabled, the main macaddr is used for the MLD interface.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
| -rw-r--r-- | package/network/config/wifi-scripts/files/lib/netifd/wireless.uc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/package/network/config/wifi-scripts/files/lib/netifd/wireless.uc b/package/network/config/wifi-scripts/files/lib/netifd/wireless.uc index 2103c9c369..1180b72347 100644 --- a/package/network/config/wifi-scripts/files/lib/netifd/wireless.uc +++ b/package/network/config/wifi-scripts/files/lib/netifd/wireless.uc @@ -128,6 +128,17 @@ function config_init(uci) config.mode = "link"; config.radios = radios; + if (dev_name != dev_names[0]) + delete config.macaddr; + if (dev_name != wdev.mlo_name && config.radio_macaddr) { + let idx = index(dev_names, dev_name); + if (mlo_vif) + idx--; + let macaddr = idx >= 0 ? config.radio_macaddr[idx] : null; + if (macaddr) + config.macaddr = macaddr; + } + let vif = { name, config, device: dev_name, @@ -310,6 +321,7 @@ const default_config_attr = { ...network_config_attr, device: TYPE_STRING, mode: TYPE_STRING, + radio_macaddr: TYPE_ARRAY, }, station: { iface: TYPE_STRING, |