break
if os.path.exists(pidfile):
raise Exception("PID file exits after process termination")
+
+def test_ap_reload_bss_only(dev, apdev, params):
+ """Dynamic SSID change on only one BSS using RELOAD_BSS"""
+ ifname1 = apdev[0]['ifname']
+ ifname2 = apdev[0]['ifname'] + '-2'
+ hapd1 = hostapd.add_bss(apdev[0], ifname1, 'bss-1.conf')
+ hapd2 = hostapd.add_bss(apdev[0], ifname2, 'bss-2.conf')
+ id = dev[0].connect("bss-1", key_mgmt="NONE", scan_freq="2412")
+ dev[1].connect("bss-2", key_mgmt="NONE", scan_freq="2412")
+
+ res = hapd1.request("SET ssid test-new-ssid")
+ if "OK" not in res:
+ raise Exception("SET command failed")
+ res = hapd1.request("RELOAD_BSS")
+ if "OK" not in res:
+ raise Exception("RELOAD_BSS command failed")
+
+ ev = dev[1].wait_event(["CTRL-EVENT-DISCONNECTED"], timeout=1)
+ if ev is not None:
+ raise Exception("Unexpected disconnection when RELOAD_BSS was sent on another BSS.")
+
+ dev[0].set_network_quoted(id, "ssid", "test-new-ssid")
+ dev[0].connect_network(id)