diff --git a/tests/hwsim/test_ap_open.py b/tests/hwsim/test_ap_open.py index 45fb7920f..7e4a8c11e 100644 --- a/tests/hwsim/test_ap_open.py +++ b/tests/hwsim/test_ap_open.py @@ -814,3 +814,30 @@ def test_ap_open_reassoc_same(dev, apdev): hwsim_utils.test_connectivity(dev[0], hapd) finally: dev[0].request("SET reassoc_same_bss_optim 0") + +def test_ap_open_no_reflection(dev, apdev): + """AP with open mode, STA sending packets to itself""" + hapd = hostapd.add_ap(apdev[0], { "ssid": "open" }) + dev[0].connect("open", key_mgmt="NONE", scan_freq="2412") + + ev = hapd.wait_event([ "AP-STA-CONNECTED" ], timeout=5) + if ev is None: + raise Exception("No connection event received from hostapd") + # test normal connectivity is OK + hwsim_utils.test_connectivity(dev[0], hapd) + + # test that we can't talk to ourselves + addr = dev[0].own_addr() + res = dev[0].request('DATA_TEST_CONFIG 1') + try: + assert 'OK' in res + + cmd = "DATA_TEST_TX {} {} {}".format(addr, addr, 0) + dev[0].request(cmd) + + ev = dev[0].wait_event(["DATA-TEST-RX"], timeout=1) + + if ev is not None and "DATA-TEST-RX {} {}".format(addr, addr) in ev: + raise Exception("STA can unexpectedly talk to itself") + finally: + dev[0].request('DATA_TEST_CONFIG 0')