pkgs/openwrt/uci-config: configure a static ieee80211rKey so that fast transition works with WPA3

This commit is contained in:
Astro 2023-11-02 00:27:08 +01:00
parent fa5ef40657
commit ccd904f700
4 changed files with 106 additions and 93 deletions

View File

@ -1,77 +1,78 @@
-----BEGIN PGP MESSAGE-----
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
5A==
=J2bZ
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
=lSzz
-----END PGP MESSAGE-----

View File

@ -2,6 +2,8 @@
{
site.net = {
core.ospf.secret = "encrypted";
pub.wifi.ieee80211rKey = "2dc40abba46da9490ea0e00f93f18ce5";
c3d2.wifi.ieee80211rKey = "d1b1fa2461efc0df9e2d96579607b7f6";
};
site.hosts = {

View File

@ -194,6 +194,13 @@ let
type = with types; nullOr int;
default = null;
};
wifi.ieee80211rKey = mkOption {
type = with types; nullOr str;
default = null;
description = ''
Key between WiFi access points for Fast Transition
'';
};
};
};

View File

@ -311,27 +311,30 @@ in
${lib.optionalString (!ssidConfig.disassocLowAck) ''
uci set wireless.@wifi-iface[-1].disassoc_low_ack='0'
''}
# for usteerd
uci set wireless.@wifi-iface[-1].bss_transition=1
uci set wireless.@wifi-iface[-1].wnm_sleep_mode=1
uci set wireless.@wifi-iface[-1].time_advertisement=2
uci set wireless.@wifi-iface[-1].time_zone='GMT0'
uci set wireless.@wifi-iface[-1].ieee80211k=1
uci set wireless.@wifi-iface[-1].rrm_neighbor_report=1
uci set wireless.@wifi-iface[-1].rrm_beacon_report=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_psk_generate_local=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='${
${lib.optionalString (netConfig.wifi.ieee80211rKey != null) ''
# for usteerd
uci set wireless.@wifi-iface[-1].bss_transition=1
uci set wireless.@wifi-iface[-1].wnm_sleep_mode=1
uci set wireless.@wifi-iface[-1].time_advertisement=2
uci set wireless.@wifi-iface[-1].time_zone=GMT0
uci set wireless.@wifi-iface[-1].ieee80211k=1
uci set wireless.@wifi-iface[-1].rrm_neighbor_report=1
uci set wireless.@wifi-iface[-1].rrm_beacon_report=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_bridge=${mgmtInterface}
uci set wireless.@wifi-iface[-1].ft_psk_generate_local=0
uci set wireless.@wifi-iface[-1].nasid=${pad 12 "0" (
toString ((lib.toInt (lib.removePrefix "ap" hostName)) * 65536 + index)
)}
uci set wireless.@wifi-iface[-1].mobility_domain=${
pad 4 "0" (lib.toHexString (49920 + netConfig.vlan))
}'
}
uci set wireless.@wifi-iface[-1].r0kh=ff:ff:ff:ff:ff:ff,\*,${netConfig.wifi.ieee80211rKey}
uci set wireless.@wifi-iface[-1].r1kh=00:00:00:00:00:00,00:00:00:00:00:00,${netConfig.wifi.ieee80211rKey}
uci set wireless.@wifi-iface[-1].pmk_r1_push=1
''}
uci set wireless.@wifi-iface[-1].bss_transition=1
uci set wireless.@wifi-iface[-1].ft_bridge=${mgmtInterface}
''
) (builtins.attrNames radioConfig.ssids)}
'') (builtins.attrNames hostConfig.wifi))}