diff --git a/tests/hwsim/test_fst_module.py b/tests/hwsim/test_fst_module.py index 21a812997..d7de198d6 100644 --- a/tests/hwsim/test_fst_module.py +++ b/tests/hwsim/test_fst_module.py @@ -6,6 +6,7 @@ import logging logger = logging.getLogger() +import struct import subprocess import time import os @@ -1775,3 +1776,152 @@ def test_fst_sta_remove_session_bad_session_id(dev, apdev, test_params): def test_fst_rsn_ap_transfer_session(dev, apdev, test_params): """FST RSN AP transfer session""" fst_transfer_session(apdev, test_params, bad_param_none, True, rsn=True) + +MGMT_SUBTYPE_ACTION = 13 +ACTION_CATEG_FST = 18 +FST_ACTION_SETUP_REQUEST = 0 +FST_ACTION_SETUP_RESPONSE = 1 +FST_ACTION_TEAR_DOWN = 2 +FST_ACTION_ACK_REQUEST = 3 +FST_ACTION_ACK_RESPONSE = 4 +FST_ACTION_ON_CHANNEL_TUNNEL = 5 + +def test_fst_proto(dev, apdev, test_params): + """FST protocol testing""" + ap1, ap2, sta1, sta2 = fst_module_aux.start_two_ap_sta_pairs(apdev) + try: + fst_module_aux.connect_two_ap_sta_pairs(ap1, ap2, sta1, sta2) + hapd = ap1.get_instance() + sta = sta1.get_instance() + dst = sta.own_addr() + src = apdev[0]['bssid'] + + msg = {} + msg['fc'] = MGMT_SUBTYPE_ACTION << 4 + msg['da'] = dst + msg['sa'] = src + msg['bssid'] = src + + # unknown FST Action (255) received! + msg['payload'] = struct.pack("