tests: EHT with SAE

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2022-12-17 20:43:15 +02:00
parent f4096e7cd5
commit 3b4a5e58b7

View file

@ -53,3 +53,66 @@ def test_prefer_eht_20(dev, apdev):
est = dev[0].get_bss(apdev[0]['bssid'])['est_throughput'] est = dev[0].get_bss(apdev[0]['bssid'])['est_throughput']
if est != "172103": if est != "172103":
raise Exception("Unexpected BSS1 est_throughput: " + est) raise Exception("Unexpected BSS1 est_throughput: " + est)
def start_eht_sae_ap(apdev, ml=False):
params = hostapd.wpa2_params(ssid="eht", passphrase="12345678")
params["ieee80211ax"] = "1"
params["ieee80211be"] = "1"
params['ieee80211w'] = '2'
params['rsn_pairwise'] = "GCMP-256"
params['group_cipher'] = "GCMP-256"
params["group_mgmt_cipher"] = "BIP-GMAC-256"
params['beacon_prot'] = '2'
params['wpa_key_mgmt'] = 'SAE-EXT-KEY'
params['sae_groups'] = "20"
params['sae_pwe'] = "1"
if ml:
ml_elem = "ff0d6b" + "3001" + "0a" + "021122334455" + "01" + "00" + "00"
params['vendor_elements'] = ml_elem
try:
hapd = hostapd.add_ap(apdev, params)
except Exception as e:
if isinstance(e, Exception) and \
str(e) == "Failed to set hostapd parameter ieee80211be":
raise HwsimSkip("EHT not supported")
raise
def test_eht_sae(dev, apdev):
"""EHT AP with SAE"""
check_sae_capab(dev[0])
hapd = start_eht_sae_ap(apdev[0])
try:
dev[0].set("sae_groups", "20")
dev[0].set("sae_pwe", "2")
dev[0].connect("eht", key_mgmt="SAE-EXT-KEY", psk="12345678",
ieee80211w="2", beacon_prot="1",
pairwise="GCMP-256", group="GCMP-256",
group_mgmt="BIP-GMAC-256", scan_freq="2412")
finally:
dev[0].set("sae_pwe", "0")
def test_eht_sae_mlo(dev, apdev):
"""EHT+MLO AP with SAE"""
check_sae_capab(dev[0])
hapd = start_eht_sae_ap(apdev[0], ml=True)
try:
dev[0].set("sae_groups", "20")
dev[0].set("sae_pwe", "2")
dev[0].connect("eht", key_mgmt="SAE-EXT-KEY", psk="12345678",
ieee80211w="2", beacon_prot="1",
pairwise="GCMP-256", group="GCMP-256",
group_mgmt="BIP-GMAC-256", scan_freq="2412",
wait_connect=False)
ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED",
"CTRL-EVENT-AUTH-REJECT"], timeout=10)
if ev is None:
raise Exception("No connection result reported")
if "CTRL-EVENT-AUTH-REJECT" in ev:
# There is no MLO support with SAE in hostapd yet, so allow failure
# due to MLD address not being used.
if "status_code=15" not in ev:
raise Exception("Unexpected authentication failure: " + ev)
finally:
dev[0].set("sae_pwe", "0")