pkgs/openwrt/uci-config: properly set mobility_domain, nasid to fix fast transition
This commit is contained in:
parent
053b49b83f
commit
779cbe9795
|
@ -272,6 +272,7 @@ in
|
||||||
${concatMapStrings (ssid:
|
${concatMapStrings (ssid:
|
||||||
let
|
let
|
||||||
ssidConfig = radioConfig.ssids.${ssid};
|
ssidConfig = radioConfig.ssids.${ssid};
|
||||||
|
netConfig = config.site.net.${ssidConfig.net};
|
||||||
|
|
||||||
# mapping our option to openwrt/hostapd setting
|
# mapping our option to openwrt/hostapd setting
|
||||||
encryption = {
|
encryption = {
|
||||||
|
@ -286,6 +287,11 @@ in
|
||||||
then ssidConfig.ifname
|
then ssidConfig.ifname
|
||||||
else "${ifPrefix}-${ssidConfig.net}";
|
else "${ifPrefix}-${ssidConfig.net}";
|
||||||
|
|
||||||
|
pad = len: prefix: s:
|
||||||
|
if builtins.stringLength s < len
|
||||||
|
then pad len prefix "${prefix}${s}"
|
||||||
|
else s;
|
||||||
|
|
||||||
in ''
|
in ''
|
||||||
uci add wireless wifi-iface
|
uci add wireless wifi-iface
|
||||||
uci set wireless.@wifi-iface[-1].ifname=${ifname}
|
uci set wireless.@wifi-iface[-1].ifname=${ifname}
|
||||||
|
@ -316,7 +322,15 @@ in
|
||||||
uci set wireless.@wifi-iface[-1].ieee80211r=1
|
uci set wireless.@wifi-iface[-1].ieee80211r=1
|
||||||
uci set wireless.@wifi-iface[-1].ft_over_ds=1
|
uci set wireless.@wifi-iface[-1].ft_over_ds=1
|
||||||
uci set wireless.@wifi-iface[-1].ft_psk_generate_local=1
|
uci set wireless.@wifi-iface[-1].ft_psk_generate_local=1
|
||||||
uci set wireless.@wifi-iface[-1].ieee80211v=1
|
uci set wireless.@wifi-iface[-1].nasid='${pad 12 "0" (
|
||||||
|
toString ((lib.toInt (lib.removePrefix "ap" hostName)) * 65536 + index)
|
||||||
|
)}'
|
||||||
|
${lib.optionalString (netConfig.vlan != null) ''
|
||||||
|
uci set wireless.@wifi-iface[-1].mobility_domain='${
|
||||||
|
pad 4 "0" (lib.toHexString (49920 + netConfig.vlan))
|
||||||
|
}'
|
||||||
|
''}
|
||||||
|
uci set wireless.@wifi-iface[-1].bss_transition=1
|
||||||
uci set wireless.@wifi-iface[-1].ft_bridge=${mgmtInterface}
|
uci set wireless.@wifi-iface[-1].ft_bridge=${mgmtInterface}
|
||||||
''
|
''
|
||||||
) (builtins.attrNames radioConfig.ssids)}
|
) (builtins.attrNames radioConfig.ssids)}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user