tests: EHT+MLO AP with SAE and transition mode

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
This commit is contained in:
Jouni Malinen 2023-10-25 14:06:23 +03:00 committed by Jouni Malinen
parent 6affbf1fb0
commit 7df76a4dd5
2 changed files with 34 additions and 10 deletions

View file

@ -107,18 +107,18 @@ def test_prefer_eht_20(dev, apdev):
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): def start_eht_sae_ap(apdev, ml=False, transition_mode=False):
params = hostapd.wpa2_params(ssid="eht", passphrase="12345678") params = hostapd.wpa2_params(ssid="eht", passphrase="12345678")
params["ieee80211ax"] = "1" params["ieee80211ax"] = "1"
params["ieee80211be"] = "1" params["ieee80211be"] = "1"
params['ieee80211w'] = '2' params['ieee80211w'] = '1' if transition_mode else '2'
params['rsn_pairwise'] = "GCMP-256" params['rsn_pairwise'] = "CCMP GCMP-256" if transition_mode else "GCMP-256"
params['group_cipher'] = "GCMP-256" params['group_cipher'] = "CCMP" if transition_mode else "GCMP-256"
params["group_mgmt_cipher"] = "BIP-GMAC-256" params["group_mgmt_cipher"] = "AES-128-CMAC" if transition_mode else "BIP-GMAC-256"
params['beacon_prot'] = '2' params['beacon_prot'] = '1'
params['wpa_key_mgmt'] = 'SAE-EXT-KEY' params['wpa_key_mgmt'] = "SAE SAE-EXT-KEY" if transition_mode else 'SAE-EXT-KEY'
params['sae_groups'] = "20" params['sae_groups'] = "19 20" if transition_mode else "20"
params['sae_pwe'] = "1" params['sae_pwe'] = "2" if transition_mode else "1"
if ml: if ml:
ml_elem = "ff0d6b" + "3001" + "0a" + "021122334455" + "01" + "00" + "00" ml_elem = "ff0d6b" + "3001" + "0a" + "021122334455" + "01" + "00" + "00"
params['vendor_elements'] = ml_elem params['vendor_elements'] = ml_elem
@ -162,6 +162,30 @@ def test_eht_sae_mlo(dev, apdev):
dev[0].set("sae_groups", "") dev[0].set("sae_groups", "")
dev[0].set("sae_pwe", "0") dev[0].set("sae_pwe", "0")
def test_eht_sae_mlo_tm(dev, apdev):
"""EHT+MLO AP with SAE and transition mode"""
check_sae_capab(dev[0])
check_sae_capab(dev[1])
hapd = start_eht_sae_ap(apdev[0], ml=True, transition_mode=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="CCMP",
group_mgmt="AES-128-CMAC", scan_freq="2412")
dev[1].set("sae_groups", "19")
dev[1].connect("eht", key_mgmt="SAE-EXT-KEY", psk="12345678",
ieee80211w="2", beacon_prot="1",
pairwise="CCMP", group="CCMP",
group_mgmt="AES-128-CMAC", scan_freq="2412",
disable_eht="1")
finally:
dev[0].set("sae_groups", "")
dev[0].set("sae_pwe", "0")
dev[1].set("sae_groups", "")
def eht_mld_enable_ap(iface, params): def eht_mld_enable_ap(iface, params):
hapd = hostapd.add_mld_link(iface, params) hapd = hostapd.add_mld_link(iface, params)
hapd.enable() hapd.enable()

View file

@ -1099,7 +1099,7 @@ class WpaSupplicant:
"wep_tx_keyidx", "scan_freq", "freq_list", "eap", "wep_tx_keyidx", "scan_freq", "freq_list", "eap",
"eapol_flags", "fragment_size", "scan_ssid", "auth_alg", "eapol_flags", "fragment_size", "scan_ssid", "auth_alg",
"wpa_ptk_rekey", "disable_ht", "disable_vht", "bssid", "wpa_ptk_rekey", "disable_ht", "disable_vht", "bssid",
"disable_he", "disable_he", "disable_eht",
"disable_max_amsdu", "ampdu_factor", "ampdu_density", "disable_max_amsdu", "ampdu_factor", "ampdu_density",
"disable_ht40", "disable_sgi", "disable_ldpc", "disable_ht40", "disable_sgi", "disable_ldpc",
"ht40_intolerant", "update_identifier", "mac_addr", "ht40_intolerant", "update_identifier", "mac_addr",