[RFC 53/97] tests: Add NDP reconnection after termination test
Andrei Otcheretianski
andrei.otcheretianski at intel.com
Tue Apr 28 13:05:54 PDT 2026
Add test_nan_ndp_reconnect_after_terminate to verify that NDP
reconnection works correctly after the first NDP is terminated.
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski at intel.com>
---
tests/hwsim/test_nan.py | 53 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/tests/hwsim/test_nan.py b/tests/hwsim/test_nan.py
index 092370eece..2c21110a15 100644
--- a/tests/hwsim/test_nan.py
+++ b/tests/hwsim/test_nan.py
@@ -1712,3 +1712,56 @@ def test_nan_pairing_bootstrap_ndp_sk_ccmp128(dev, apdev, params):
_run_nan_pairing_bootstrap_ndp("SAE", password="password123", csid=1)
finally:
set_country("00")
+
+def _run_nan_ndp_reconnect_after_terminate():
+ pwd = "NAN"
+ csid1 = 1 # SK CCMP-128
+ csid2 = 2 # SK GCMP-256
+
+ with hwsim_nan_radios() as (wpas1, wpas2), \
+ NanDevice(wpas1, "nan0", "ndi0") as pub, NanDevice(wpas2, "nan1", "ndi1") as sub:
+
+ pssi = "aabbccdd001122334455667788"
+ sssi = "ddbbccaa001122334455667788"
+
+ # First service discovery and NDP
+ pid, sid, paddr, saddr = _nan_discover_service(pub, sub, "test_service", pssi, sssi, ttl=10)
+
+ logger.info("Starting first NDP connection...")
+ ndp_id1, init_ndi1 = _nan_ndp_request_and_accept(pub, sub, pid, sid, paddr, saddr,
+ req_ssi="aabbcc", resp_ssi="ddeeff",
+ csid=csid1, password=pwd,
+ configure_schedule=True)
+
+ logger.info(f"First NDP established: ndp_id={ndp_id1}, init_ndi={init_ndi1}")
+ _nan_test_connectivity(pub, sub)
+
+ # Terminate the first NDP
+ logger.info("Terminating first NDP...")
+ _nan_ndp_terminate(pub, sub, paddr, init_ndi1, ndp_id1)
+ logger.info("First NDP terminated")
+
+ # Clear any pending events
+ pub.wpas.dump_monitor()
+ sub.wpas.dump_monitor()
+
+ # Second NDP with password
+ logger.info("Starting second NDP connection (reconnect after terminate)...")
+ ndp_id2, init_ndi2 = _nan_ndp_request_and_accept(pub, sub, pid, sid, paddr, saddr,
+ req_ssi="112233", resp_ssi="445566",
+ csid=csid2, password=pwd,
+ configure_schedule=False)
+
+ logger.info(f"Second NDP established: ndp_id={ndp_id2}, init_ndi={init_ndi2}")
+ _nan_test_connectivity(pub, sub)
+
+ # Cleanup
+ _nan_ndp_terminate(pub, sub, paddr, init_ndi2, ndp_id2)
+
+def test_nan_ndp_reconnect_after_terminate(dev, apdev, params):
+ """NAN NDP reconnection after termination"""
+ set_country("US")
+ try:
+ _run_nan_ndp_reconnect_after_terminate()
+ finally:
+ set_country("00")
--
2.53.0
More information about the Hostap
mailing list