tests: validate that AP doesn't reflect station frames

Message ID 20181011133826.24230-1-johannes@sipsolutions.net
State New
Headers show
Series
  • tests: validate that AP doesn't reflect station frames
Related show

Commit Message

Johannes Berg Oct. 11, 2018, 1:38 p.m.
From: Johannes Berg <johannes.berg@intel.com>

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>
---
 tests/hwsim/test_ap_open.py | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

Patch

diff --git a/tests/hwsim/test_ap_open.py b/tests/hwsim/test_ap_open.py
index 98e52ebf9f08..b31264790530 100644
--- a/tests/hwsim/test_ap_open.py
+++ b/tests/hwsim/test_ap_open.py
@@ -839,3 +839,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')