pass
else:
raise
+
+def test_ap_eapol_version(dev, apdev):
+ """hostapd eapol_version configuration"""
+ passphrase = "asdfghjkl"
+ params = hostapd.wpa2_params(ssid="test1", passphrase=passphrase)
+ hapd = hostapd.add_ap(apdev[0], params)
+ params = hostapd.wpa2_params(ssid="test2", passphrase=passphrase)
+ params['eapol_version'] = '1'
+ hapd2 = hostapd.add_ap(apdev[1], params)
+
+ hapd.request("SET ext_eapol_frame_io 1")
+ dev[0].connect("test1", psk=passphrase, scan_freq="2412",
+ wait_connect=False)
+ ev1 = hapd.wait_event(["EAPOL-TX"], timeout=15)
+ if ev1 is None:
+ raise Exception("Timeout on EAPOL-TX from hostapd")
+ hapd.request("SET ext_eapol_frame_io 0")
+
+ hapd2.request("SET ext_eapol_frame_io 1")
+ dev[1].connect("test2", psk=passphrase, scan_freq="2412",
+ wait_connect=False)
+ ev2 = hapd2.wait_event(["EAPOL-TX"], timeout=15)
+ if ev2 is None:
+ raise Exception("Timeout on EAPOL-TX from hostapd")
+ hapd2.request("SET ext_eapol_frame_io 0")
+
+ dev[0].wait_connected()
+ dev[1].wait_connected()
+
+ ver1 = ev1.split(' ')[2][0:2]
+ ver2 = ev2.split(' ')[2][0:2]
+ if ver1 != "02":
+ raise Exception("Unexpected default eapol_version: " + ver1)
+ if ver2 != "01":
+ raise Exception("eapol_version did not match configuration: " + ver2)