tests: Validate that AP doesn't reflect station frames

Add a new test to check that the AP won't send frames to the client if
it tries to talk to itself.

Note that this fails until the relevant mac80211 patch is merged.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2018-10-11 15:38:26 +02:00 committed by Jouni Malinen
parent 95cd50a1ed
commit 7afbbcd2ed

View file

@ -814,3 +814,30 @@ def test_ap_open_reassoc_same(dev, apdev):
hwsim_utils.test_connectivity(dev[0], hapd) hwsim_utils.test_connectivity(dev[0], hapd)
finally: finally:
dev[0].request("SET reassoc_same_bss_optim 0") 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')