[PATCH v4 28/29] tests/remote: Add TP tests for AP STA.
Janusz Dziedzic
janusz.dziedzic at tieto.com
Fri Feb 26 01:38:43 PST 2016
Allow to run TP tests for STA and AP for
open/tkip/ccmp/web encryption.
This can be also run as a standalone script.
Signed-off-by: Janusz Dziedzic <janusz.dziedzic at tieto.com>
---
tests/remote/test_ap_sta_tp.py | 1034 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 1034 insertions(+)
create mode 100755 tests/remote/test_ap_sta_tp.py
diff --git a/tests/remote/test_ap_sta_tp.py b/tests/remote/test_ap_sta_tp.py
new file mode 100755
index 0000000..0fa5008
--- /dev/null
+++ b/tests/remote/test_ap_sta_tp.py
@@ -0,0 +1,1034 @@
+#!/usr/bin/env python
+#
+# TP tests for STA/AP open/tkip/ccmp/wep
+# Copyright (c) 2016, Tieto Corporation
+#
+# This software may be distributed under the terms of the BSD license.
+# See README for more details.
+"USAGE: %s --dut=<dut_name> [--ref=<ref_name>] [--test_type=<>] [--dut_type=<ap|sta>] [--channel=<>] [--bw=<>] [--country=<>] [--test_time=<>] [--parallel=<>] [--qos=<be|bk|vi|vo>] [--security=<>] [--verbose]"
+import time
+import traceback
+import config
+import os
+import sys
+import getopt
+
+import logging
+logger = logging.getLogger()
+
+scriptsdir = os.path.dirname(os.path.realpath(sys.modules[__name__].__file__))
+sys.path.append(os.path.join(scriptsdir, '..', '..', 'wpaspy'))
+sys.path.append(os.path.join(scriptsdir, '..', 'hwsim'))
+
+import utils
+import wpaspy
+from wpasupplicant import WpaSupplicant
+import hostapd
+
+def run_ap_sta(devices, setup_params, ref, dut, dut_type="ap"):
+ if dut_type == "ap":
+ ref_flags = "STA_VHT80"
+ elif dut_type == "sta":
+ ref_flags = "AP_VHT80"
+ else:
+ raise Exception("Unknown dut_type", dut_type)
+
+ ref_dev = config.get_device(devices, name=ref, flags=ref_flags)
+ if ref_dev is None:
+ raise Exception("Could not get reference device")
+
+ dut_dev = config.get_dut(devices, dut)
+ if dut_dev is None:
+ config.put_device(ref_dev)
+ raise Exception("Could not get DUT device")
+
+ logger.debug("ref_dev: " + ref_dev['name'])
+ logger.debug("dut_dev: " + dut_dev['name'])
+
+ if dut_type == "ap":
+ ap, ap_log = utils.run_hostapd(dut_dev, setup_params)
+ sta, sta_log = utils.run_wpasupplicant(ref_dev, setup_params)
+ elif dut_type == "sta":
+ ap, ap_log = utils.run_hostapd(ref_dev, setup_params)
+ sta, sta_log = utils.run_wpasupplicant(dut_dev, setup_params)
+ else:
+ raise Exception("Unknown dut_type", dut_type)
+
+ return sta, ap, sta_log, ap_log
+
+def run_tp_test(server, client, l3="ipv4", iperf="iperf", l4="tcp", test_time="10", parallel="5",
+ qos="be", bw="30M", ifname=None, port="5001"):
+ client_res = []
+ server_res = []
+
+ server_ip = utils.get_ip(server, l3)
+ time.sleep(1)
+ server_thread, client_thread = utils.iperf_run(server, client, server_ip, client_res, server_res,
+ l3=l3, iperf=iperf, l4=l4, test_time=test_time,
+ parallel=parallel, qos=qos, bw=bw, ifname=ifname,
+ port=port)
+ utils.iperf_wait(server, client, server_thread, client_thread, iperf=iperf, timeout=int(test_time) + 10)
+
+ if client_res[0] != 0:
+ raise Exception(iperf + " client: " + client_res[1])
+ if server_res[0] != 0:
+ raise Exception(iperf + " server: " + server_res[1])
+ if client_res[1] is None:
+ raise Exception(iperf + " client result issue")
+ if server_res[1] is None:
+ raise Exception(iperf + " server result issue")
+
+ if iperf == "iperf":
+ result = server_res[1]
+ if iperf == "iperf3":
+ result = client_res[1]
+
+ speed = utils.get_iperf_speed(result)
+ return speed
+
+def get_ap_params(channel="1", bw="HT20", country="US", security="open"):
+ ssid = "test_" + channel + "_" + security + "_" + bw
+
+ if bw == "b_only":
+ params = hostapd.b_only_params(channel, ssid, country)
+ elif bw == "g_only":
+ params = hostapd.g_only_params(channel, ssid, country)
+ elif bw == "g_only_wmm":
+ params = hostapd.g_only_params(channel, ssid, country)
+ params['wmm_enabled'] = "1"
+ elif bw == "a_only":
+ params = hostapd.a_only_params(channel, ssid, country)
+ elif bw == "a_only_wmm":
+ params = hostapd.a_only_params(channel, ssid, country)
+ params['wmm_enabled'] = "1"
+ elif bw == "HT20":
+ params = hostapd.ht20_params(channel, ssid, country)
+ elif bw == "HT40+":
+ params = hostapd.ht40_plus_params(channel, ssid, country)
+ elif bw == "HT40-":
+ params = hostapd.ht40_minus_params(channel, ssid, country)
+ elif bw == "VHT80":
+ params = hostapd.ht40_plus_params(channel, ssid, country)
+ params['ieee80211ac'] = "1"
+ params['vht_oper_chwidth'] = "1"
+ params['vht_oper_centr_freq_seg0_idx'] = str(int(channel) + 6)
+ else:
+ params = {}
+
+ # now setup security params
+ if security == "tkip":
+ sec_params = hostapd.wpa_params(passphrase="testtest")
+ elif security == "ccmp":
+ sec_params = hostapd.wpa2_params(passphrase="testtest")
+ elif security == "mixed":
+ sec_params = hostapd.wpa_mixed_params(passphrase="testtest")
+ elif security == "wep":
+ sec_params = { "wep_key0" : "123456789a",
+ "wep_default_key" : "0",
+ "auth_algs" : "1"}
+ elif security == "wep_shared":
+ sec_params = { "wep_key0" : "123456789a",
+ "wep_default_key" : "0",
+ "auth_algs" : "2" }
+ else:
+ sec_params = {}
+
+ params.update(sec_params)
+
+ return params
+
+def get_iperf_bw(bw, parallel, spacial_streams=2):
+ if bw == "b_only":
+ max_tp = 11
+ elif bw == "g_only" or bw == "g_only_wmm" or bw == "a_only" or bw == "a_only_wmm":
+ max_tp = 54
+ elif bw == "HT20":
+ max_tp = 72 * spacial_streams
+ elif bw == "HT40+" or bw == "HT40-":
+ max_tp = 150 * spacial_streams
+ elif bw == "VHT80":
+ max_tp = 433 * spacial_streams
+ else:
+ max_tp = 150
+
+ max_tp = 1.1 * max_tp
+
+ return str(int(max_tp/int(parallel))) + "M"
+
+def ap_sta_test(devices, setup_params, ref=None, dut=None, test_type="ipv4_ping",
+ channel="1", bw="HT20", country=None, test_time="10", parallel="5", qos="be",
+ security="open", dut_type="ap"):
+ try:
+ sta = None
+ ap = None
+ hapd = None
+ wpas = None
+ sta_log = None
+ ap_log = None
+
+ local_log_dir = setup_params['local_log_dir']
+
+ # setup country code
+ if country is None:
+ try:
+ country = setup_params['country']
+ except:
+ country = "00"
+
+ # run hostapd/wpa_supplicant
+ sta, ap, sta_log, ap_log = run_ap_sta(devices, setup_params, ref, dut, dut_type)
+ ap_params = get_ap_params(channel, bw, country, security)
+ iperf_bw = get_iperf_bw(bw, parallel)
+
+ # setup AP/STA
+ hapd = hostapd.add_ap(ap.ifname, ap_params, hostname = ap.host, port = ap.port)
+ freq = hapd.get_status_field("freq")
+ wpas = WpaSupplicant(hostname = sta.host, global_iface="udp", global_port = sta.port)
+ wpas.interface_add(sta.ifname)
+
+ if security == "open":
+ wpas.connect(ap_params['ssid'], key_mgmt="NONE", scan_freq=freq)
+ elif security == "wep":
+ wpas.connect(ap_params['ssid'], key_mgmt="NONE", wep_key0=ap_params['wep_key0'], wep_default_key="0", scan_freq=freq)
+ elif security == "wep_shared":
+ wpas.connect(ap_params['ssid'], key_mgmt="NONE", wep_key0=ap_params['wep_key0'], wep_default_key="0", auth_alg="SHARED", scan_freq=freq)
+ else:
+ wpas.connect(ap_params['ssid'], key_mgmt=ap_params['wpa_key_mgmt'], psk=ap_params['wpa_passphrase'], scan_req=freq)
+
+ ev = hapd.wait_event([ "AP-STA-CONNECTED" ], timeout=5)
+ if ev is None:
+ raise Exception("No connection event received from hostapd")
+
+ # setup ip network
+ ap.execute("ifconfig " + ap.ifname + " " + utils.get_ipv4_addr(setup_params, 1))
+ sta.execute("ifconfig " + sta.ifname + " " + utils.get_ipv4_addr(setup_params, 2))
+
+ # dispatch test_type
+ if test_type == "ipv4_tcp_download":
+ speed = run_tp_test(ap, sta, "ipv4", setup_params['iperf'], l4="tcp",
+ test_time=test_time, parallel=parallel, qos=qos,
+ bw=iperf_bw)
+ append = speed
+ elif test_type == "ipv4_tcp_upload":
+ speed = run_tp_test(sta, ap, "ipv4", setup_params['iperf'], l4="tcp",
+ test_time=test_time, parallel=parallel, qos=qos,
+ bw=iperf_bw)
+ append = speed
+ elif test_type == "ipv6_tcp_download":
+ speed = run_tp_test(ap, sta, "ipv6", setup_params['iperf'], l4="tcp",
+ test_time=test_time, parallel=parallel, qos=qos,
+ bw=iperf_bw)
+ append = speed
+ elif test_type == "ipv6_tcp_upload":
+ speed = run_tp_test(sta, ap, "ipv6", setup_params['iperf'], l4="tcp",
+ test_time=test_time, parallel=parallel, qos=qos,
+ bw=iperf_bw)
+ append = speed
+ elif test_type == "ipv4_udp_download":
+ speed = run_tp_test(ap, sta, "ipv4", setup_params['iperf'], l4="udp",
+ test_time=test_time, parallel=parallel, qos=qos,
+ bw=iperf_bw)
+ append = speed
+ elif test_type == "ipv4_udp_upload":
+ speed = run_tp_test(sta, ap, "ipv4", setup_params['iperf'], l4="udp",
+ test_time=test_time, parallel=parallel, qos=qos,
+ bw=iperf_bw)
+ append = speed
+ elif test_type == "ipv6_udp_download":
+ speed = run_tp_test(ap, sta, "ipv6", setup_params['iperf'], l4="udp",
+ test_time=test_time, parallel=parallel, qos=qos,
+ bw=iperf_bw)
+ append = speed
+ elif test_type == "ipv6_udp_upload":
+ speed = run_tp_test(sta, ap, "ipv6", setup_params['iperf'], l4="udp",
+ test_time=test_time, parallel=parallel, qos=qos,
+ bw=iperf_bw)
+ append = speed
+ elif test_type == "ipv4_ping":
+ ap_sta, sta_ap = utils.check_connectivity(ap, sta, "ipv4")
+ append = "packet_loss: " + ap_sta + ", " + sta_ap
+ elif test_type == "ipv6_ping":
+ ap_sta, sta_ap = utils.check_connectivity(ap, sta, "ipv6")
+ append = "packet_loss: " + ap_sta + ", " + sta_ap
+ else:
+ raise Exception("Unknown ap_open test_type:", test_type)
+
+ wpas.request("DISCONNECT")
+ ev = hapd.wait_event([ "AP-STA-DISCONNECTED" ], timeout=5)
+ if ev is None:
+ raise Exception("No disconnection event received from hostapd")
+
+ sta.execute("ifconfig " + sta.ifname + " 0.0.0.0")
+ ap.execute("ifconfig " + ap.ifname + " 0.0.0.0")
+
+ wpas.interface_remove(sta.ifname)
+ wpas.terminate()
+
+ hapd.close_ctrl()
+ hostapd.remove_bss(ap.ifname, ap.host, ap.port)
+ hostapd.terminate(ap.host, ap.port)
+
+ if sta_log:
+# sta.local_execute("scp root@[" + sta.host + "]:" + sta_log + " " + local_log_dir)
+ sta.execute("rm " + sta_log)
+ if ap_log:
+# ap.local_execute("scp root@[" + ap.host + "]:" + ap_log + " " + local_log_dir)
+ ap.execute("rm " + ap_log)
+
+ config.put_device(devices, ap.name)
+ config.put_device(devices, sta.name)
+
+ return 0, append
+ except:
+ logger.info(traceback.format_exc())
+ if wpas:
+ try:
+ wpas.interface_remove(sta.ifname)
+ wpas.terminate()
+ except:
+ pass
+ if hapd:
+ try:
+ hapd.close_ctrl()
+ hostapd.remove_bss(ap.ifname, ap.host, ap.port)
+ hostapd.terminate(ap.host, ap.port)
+ except:
+ pass
+ if sta:
+ sta.execute("ifconfig " + sta.ifname + " 0.0.0.0")
+ sta.execute("killall wpa_supplicant")
+ sta.execute("killall iperf")
+ if sta_log:
+ sta.local_execute("scp root@[" + sta.host + "]:" + sta_log + " " + local_log_dir)
+ sta.execute("rm " + sta_log)
+ config.put_device(devices, sta.name)
+ if ap:
+ ap.execute("ifconfig " + ap.ifname + " 0.0.0.0")
+ ap.execute("killall hostapd")
+ ap.execute("killall iperf")
+ if ap_log:
+ ap.local_execute("scp root@[" + ap.host + "]:" + ap_log + " " + local_log_dir)
+ ap.execute("rm " + ap_log)
+ config.put_device(devices, sta.name)
+ raise
+
+# basic sanity tests
+def test_sanity_ap_open_ipv4_ping(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration IPv4 ping"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_ping")
+
+def test_sanity_ap_open_ipv6_ping(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration IPv6"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_ping")
+
+def test_sanity_sta_open_ipv4_ping(devices, setup_params, ref=None, dut=None):
+ """STA with open mode (no security) configuration IPv4 ping"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_ping", dut_type="sta")
+
+def test_sanity_sta_open_ipv6_ping(devices, setup_params, ref=None, dut=None):
+ """STA with open mode (no security) configuration IPv6"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_ping", dut_type="sta")
+
+def test_sanity_ap_ccmp_ipv4_ping(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration IPv4 ping"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_ping", security="ccmp")
+
+def test_sanity_ap_ccmp_ipv6_ping(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration IPv6"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_ping", security="ccmp")
+
+def test_sanity_sta_ccmp_ipv4_ping(devices, setup_params, ref=None, dut=None):
+ """STA with CCMP configuration IPv4 ping"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_ping", dut_type="sta", security="ccmp")
+
+def test_sanity_sta_ccmp_ipv6_ping(devices, setup_params, ref=None, dut=None):
+ """STA with CCMP configuration IPv6"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_ping", dut_type="sta", security="ccmp")
+
+def test_sanity_ap_mixed_ipv4_ping(devices, setup_params, ref=None, dut=None):
+ """AP with mixed TKIP/CCMP configuration IPv4 ping"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_ping", security="mixed")
+
+def test_sanity_ap_mixed_ipv6_ping(devices, setup_params, ref=None, dut=None):
+ """AP with mixed TKIP/CCMP configuration IPv6"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_ping", security="mixed")
+
+def test_sanity_sta_mixed_ipv4_ping(devices, setup_params, ref=None, dut=None):
+ """STA with mixed TKIP/CCMP configuration IPv4 ping"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_ping", dut_type="sta", security="mixed")
+
+def test_sanity_sta_mixed_ipv6_ping(devices, setup_params, ref=None, dut=None):
+ """STA with mixed TKIP/CCMP configuration IPv6"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_ping", dut_type="sta", security="mixed")
+
+def test_sanity_ap_tkip_ipv4_ping(devices, setup_params, ref=None, dut=None):
+ """AP with TKIP configuration IPv4 ping"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_ping", security="tkip")
+
+def test_sanity_ap_tkip_ipv6_ping(devices, setup_params, ref=None, dut=None):
+ """AP with TKIP configuration IPv6"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_ping", security="tkip")
+
+def test_sanity_sta_tkip_ipv4_ping(devices, setup_params, ref=None, dut=None):
+ """STA with TKIP configuration IPv4 ping"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_ping", dut_type="sta", security="tkip")
+
+def test_sanity_sta_tkip_ipv6_ping(devices, setup_params, ref=None, dut=None):
+ """STA with TKIP configuration IPv6"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_ping", dut_type="sta", security="tkip")
+
+def test_sanity_ap_wep_ipv4_ping(devices, setup_params, ref=None, dut=None):
+ """AP with WEP configuration IPv4 ping"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_ping", security="wep")
+
+def test_sanity_ap_wep_ipv6_ping(devices, setup_params, ref=None, dut=None):
+ """AP with WEP configuration IPv6"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_ping", security="wep")
+
+def test_sanity_sta_wep_ipv4_ping(devices, setup_params, ref=None, dut=None):
+ """STA with WEP configuration IPv4 ping"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_ping", dut_type="sta", security="wep")
+
+def test_sanity_sta_wep_ipv6_ping(devices, setup_params, ref=None, dut=None):
+ """STA with WEP configuration IPv6"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_ping", dut_type="sta", security="wep")
+
+def test_sanity_ap_wep_shared_ipv4_ping(devices, setup_params, ref=None, dut=None):
+ """AP with WEP shared configuration IPv4 ping"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_ping", security="wep_shared")
+
+def test_sanity_ap_wep_shared_ipv6_ping(devices, setup_params, ref=None, dut=None):
+ """AP with WEP shared configuration IPv6"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_ping", security="wep_shared")
+
+def test_sanity_sta_wep_shared_ipv4_ping(devices, setup_params, ref=None, dut=None):
+ """STA with WEP shared configuration IPv4 ping"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_ping", dut_type="sta", security="wep_shared")
+
+def test_sanity_sta_wep_shared_ipv6_ping(devices, setup_params, ref=None, dut=None):
+ """STA with WEP shared configuration IPv6"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_ping", dut_type="sta", security="wep_shared")
+
+# B-only
+def test_ap_open_2412_b_only_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 B-only IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="1", bw="b_only")
+
+def test_ap_open_2412_b_only_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 B-only IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="1", bw="b_only")
+
+def test_ap_open_2412_b_only_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 B-only IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="1", bw="b_only")
+
+def test_ap_open_2412_b_only_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 B-only IPv4 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_download", channel="1", bw="b_only")
+
+def test_ap_open_2412_b_only_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 B-only IPv6 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="1", bw="b_only")
+
+def test_ap_open_2412_b_only_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 B-only IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_download", channel="1", bw="b_only")
+
+def test_ap_open_2412_b_only_ipv6_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 B-only IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="1", bw="b_only")
+
+def test_ap_open_2412_b_only_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 B-only IPv6 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_download", channel="1", bw="b_only")
+def test_ap_open_all_chan_b_only_ipv4_ping(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration all channels B-only IPv4 ping"""
+ try:
+ country = setup_params['country']
+ except:
+ country = "US"
+
+ chan = 1
+ append = country + " "
+ while chan < 15:
+ try:
+ status, buf = ap_sta_test(devices, setup_params, ref, dut, "ipv4_ping", channel=str(chan),
+ bw="b_only", country = country)
+ if status == 0:
+ append = append + str(chan) + ": OK "
+ else:
+ append = append + str(chan) + ": FAILED <" + buf + ">"
+ except:
+ append = append + str(chan) + ": FAILED "
+ chan = chan + 1
+
+ return 0, append
+
+
+# G-only
+def test_ap_open_2462_g_only_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="11", bw="g_only")
+
+def test_ap_open_2462_g_only_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="11", bw="g_only")
+
+def test_ap_open_2462_g_only_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="11", bw="g_only")
+
+def test_ap_open_2462_g_only_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only IPv4 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_download", channel="11", bw="g_only")
+
+def test_ap_open_2462_g_only_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only IPv6 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="11", bw="g_only")
+
+def test_ap_open_2462_g_only_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_download", channel="11", bw="g_only")
+
+def test_ap_open_2462_g_only_ipv6_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="11", bw="g_only")
+
+def test_ap_open_2462_g_only_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only IPv6 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_download", channel="11", bw="g_only")
+
+# G-only + WMM
+def test_ap_open_2412_g_only_wmm_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only WMM IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="1", bw="g_only_wmm")
+
+def test_ap_open_2412_g_only_wmm_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only WMM IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="1", bw="g_only_wmm")
+
+def test_ap_open_2412_g_only_wmm_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only WMM IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="1", bw="g_only_wmm")
+
+def test_ap_open_2412_g_only_wmm_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only WMM IPv4 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_download", channel="1", bw="g_only_wmm")
+
+def test_ap_open_2412_g_only_wmm_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only WMM IPv6 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="1", bw="g_only_wmm")
+
+def test_ap_open_2412_g_only_wmm_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only WMM IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_download", channel="1", bw="g_only_wmm")
+
+def test_ap_open_2412_g_only_wmm_ipv6_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only WMM IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="1", bw="g_only_wmm")
+
+def test_ap_open_2412_g_only_wmm_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 G-only WMM IPv6 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_download", channel="1", bw="g_only_wmm")
+
+
+# A-only
+def test_ap_open_5180_a_only_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="36", bw="a_only")
+
+def test_ap_open_5180_a_only_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="36", bw="a_only")
+
+def test_ap_open_5180_a_only_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="36", bw="a_only")
+
+def test_ap_open_5180_a_only_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_download", channel="36", bw="a_only")
+
+def test_ap_open_5180_a_only_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only IPv6 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="36", bw="a_only")
+
+def test_ap_open_5180_a_only_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_download", channel="36", bw="a_only")
+
+def test_ap_open_5180_a_only_ipv6_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="36", bw="a_only")
+
+def test_ap_open_5180_a_only_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_download", channel="36", bw="a_only")
+
+
+# A-only + WMM
+def test_ap_open_5180_a_only_wmm_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only WMM IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="36", bw="a_only_wmm")
+
+def test_ap_open_5180_a_only_wmm_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only WMM IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="36", bw="a_only_wmm")
+
+def test_ap_open_5180_a_only_wmm_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only WMM IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="36", bw="a_only_wmm")
+
+def test_ap_open_5180_a_only_wmm_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only WMM IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_download", channel="36", bw="a_only_wmm")
+
+def test_ap_open_5180_a_only_wmm_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only WMM IPv6 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="36", bw="a_only_wmm")
+
+def test_ap_open_5180_a_only_wmm_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only WMM IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_download", channel="36", bw="a_only_wmm")
+
+def test_ap_open_5180_a_only_wmm_ipv6_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only WMM IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="36", bw="a_only_wmm")
+
+def test_ap_open_5180_a_only_wmm_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 A-only WMM IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_download", channel="36", bw="a_only_wmm")
+
+
+# HT20 - 2G
+def test_ap_open_2437_HT20_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2437 HT20 IPv4 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_download", channel="6", bw="HT20")
+
+def test_ap_open_2437_HT20_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2437 HT20 IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="6", bw="HT20")
+
+def test_ap_open_2437_HT20_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2437 HT20 IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="6", bw="HT20")
+
+def test_ap_open_2437_HT20_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2437 HT20 IPv4 dup upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="6", bw="HT20")
+
+def test_ap_open_2437_HT20_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2437 HT20 IPv6 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_download", channel="6", bw="HT20")
+
+def test_ap_open_2437_HT20_ipv6_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2437 HT20 IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="6", bw="HT20")
+
+def test_ap_open_2437_HT20_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2437 HT20 IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_download", channel="6", bw="HT20")
+
+def test_ap_open_2437_HT20_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2437 HT20 IPv6 dup upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="6", bw="HT20")
+
+
+# HT40- 2G
+def test_ap_open_2462_HT40_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 HT40- IPv4 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_download", channel="11", bw="HT40-")
+
+def test_ap_open_2462_HT40_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 HT40- IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="11", bw="HT40-")
+
+def test_ap_open_2462_HT40_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 HT40- IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="11", bw="HT40-")
+
+def test_ap_open_2462_HT40_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 HT40- IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="11", bw="HT40-")
+
+def test_ap_open_2462_HT40_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 HT40- IPv6 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_download", channel="11", bw="HT40-")
+
+def test_ap_open_2462_HT40_ipv6_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 HT40- IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="11", bw="HT40-")
+
+def test_ap_open_2462_HT40_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 HT40- IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_download", channel="11", bw="HT40-")
+
+def test_ap_open_2462_HT40_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2462 HT40- IPv6 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="11", bw="HT40-")
+
+
+# HT40+ 2G
+def test_ap_open_2412_HT40_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 HT40+ IPv4 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_download", channel="1", bw="HT40+")
+
+def test_ap_open_2412_HT40_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 HT40+ IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="1", bw="HT40+")
+
+def test_ap_open_2412_HT40_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 HT40+ IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="1", bw="HT40+")
+
+def test_ap_open_2412_HT40_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 HT40+ IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="1", bw="HT40+")
+
+def test_ap_open_2412_HT40_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 HT40+ IPv6 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_download", channel="1", bw="HT40+")
+
+def test_ap_open_2412_HT40_ipv6_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 HT40+ IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="1", bw="HT40+")
+
+def test_ap_open_2412_HT40_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 HT40+ IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_download", channel="1", bw="HT40+")
+
+def test_ap_open_2412_HT40_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 2412 HT40+ IPv6 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="1", bw="HT40+")
+
+
+# HT20 - 5G
+def test_ap_open_5180_HT20_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT20 IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="40", bw="HT20")
+
+def test_ap_open_5180_HT20_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT20 IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="40", bw="HT20")
+
+def test_ap_open_5180_HT20_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT20 IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="40", bw="HT20")
+
+def test_ap_open_5180_HT20_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT20 IPv4 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="40", bw="HT20")
+
+def test_ap_open_5180_HT20_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT20 IPv6 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="40", bw="HT20")
+
+def test_ap_open_5180_HT20_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT20 IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="40", bw="HT20")
+
+def test_ap_open_5180_HT20_ipv6_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT20 IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="40", bw="HT20")
+
+def test_ap_open_5180_HT20_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT20 IPv6 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="40", bw="HT20")
+
+# HT40+ 5G
+def test_ap_open_5180_HT40_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT40 IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="36", bw="HT40+")
+
+def test_ap_open_5180_HT40_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT40 IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="36", bw="HT40+")
+
+def test_ap_open_5180_HT40_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT40 IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="36", bw="HT40+")
+
+def test_ap_open_5180_HT40_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT40 IPv4 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="36", bw="HT40+")
+
+def test_ap_open_5180_HT40_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT40 IPv6 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="36", bw="HT40+")
+
+def test_ap_open_5180_HT40_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT40 IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="36", bw="HT40+")
+
+def test_ap_open_5180_HT40_ipv6_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT40 IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="36", bw="HT40+")
+
+def test_ap_open_5180_HT40_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 HT40 IPv6 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="36", bw="HT40+")
+
+# HT40+ 5G 149
+def test_ap_open_5745_HT40_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5745 HT40 IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="149", bw="HT40+")
+
+def test_ap_open_5745_HT40_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5745 HT40 IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="149", bw="HT40+")
+
+def test_ap_open_5745_HT40_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5745 HT40 IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="149", bw="HT40+")
+
+def test_ap_open_5745_HT40_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5745 HT40 IPv4 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_download", channel="149", bw="HT40+")
+
+def test_ap_open_5745_HT40_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5745 HT40 IPv6 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="149", bw="HT40+")
+
+def test_ap_open_5745_HT40_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5745 HT40 IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_download", channel="149", bw="HT40+")
+
+def test_ap_open_5745_HT40_ipv6_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5745 HT40 IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="149", bw="HT40+")
+
+def test_ap_open_5745_HT40_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5745 HT40 IPv6 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_download", channel="149", bw="HT40+")
+
+# VHT80
+def test_ap_open_5180_VHT80_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 VHT80 IPv4 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_download", channel="36", bw="VHT80")
+
+def test_ap_open_5180_VHT80_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 VHT80 IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="36", bw="VHT80")
+
+def test_ap_open_5180_VHT80_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 VHT80 IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="36", bw="VHT80")
+
+def test_ap_open_5180_VHT80_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 VHT80 IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="36", bw="VHT80")
+
+def test_ap_open_5180_VHT80_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 VHT80 IPv6 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_download", channel="36", bw="VHT80")
+
+def test_ap_open_5180_VHT80_ipv6_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 VHT80 IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="36", bw="VHT80")
+
+def test_ap_open_5180_VHT80_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 VHT80 IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_download", channel="36", bw="VHT80")
+
+def test_ap_open_5180_VHT80_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with open mode (no security) configuration 5180 VHT80 IPv6 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="36", bw="VHT80")
+
+# 5G HT40 CCMP
+def test_ap_ccmp_5180_HT40_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5180 HT40 IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="36", bw="HT40+", security="ccmp")
+
+def test_ap_ccmp_5180_HT40_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5180 HT40 IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="36", bw="HT40+", security="ccmp")
+
+def test_ap_ccmp_5180_HT40_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5180 HT40 IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="36", bw="HT40+", security="ccmp")
+
+def test_ap_ccmp_5180_HT40_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5180 HT40 IPv4 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_download", channel="36", bw="HT40+", security="ccmp")
+
+def test_ap_ccmp_5180_HT40_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5180 HT40 IPv6 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="36", bw="HT40+", security="ccmp")
+
+def test_ap_ccmp_5180_HT40_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5180 HT40 IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_download", channel="36", bw="HT40+", security="ccmp")
+
+def test_ap_ccmp_5180_HT40_ipv6_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5180 HT40 IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="36", bw="HT40+", security="ccmp")
+
+def test_ap_ccmp_5180_HT40_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5180 HT40 IPv6 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_download", channel="36", bw="HT40+", security="ccmp")
+
+# VHT80 CCMP
+def test_ap_ccmp_5745_VHT80_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5745 VHT80 IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="149", bw="VHT80", security="ccmp")
+
+def test_ap_ccmp_5745_VHT80_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5745 VHT80 IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="149", bw="VHT80", security="ccmp")
+
+def test_ap_ccmp_5745_VHT80_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5745 VHT80 IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="149", bw="VHT80", security="ccmp")
+
+def test_ap_ccmp_5745_VHT80_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5745 VHT80 IPv4 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_download", channel="149", bw="VHT80", security="ccmp")
+
+def test_ap_ccmp_5745_VHT80_ipv6_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5745 VHT80 IPv6 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_upload", channel="149", bw="VHT80", security="ccmp")
+
+def test_ap_ccmp_5745_VHT80_ipv6_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5745 VHT80 IPv6 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_udp_download", channel="149", bw="VHT80", security="ccmp")
+
+def test_ap_ccmp_5745_VHT80_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5745 VHT80 IPv6 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_upload", channel="149", bw="VHT80", security="ccmp")
+
+def test_ap_ccmp_5745_VHT80_ipv6_tcp_download(devices, setup_params, ref=None, dut=None):
+ """AP with CCMP configuration 5745 VHT80 IPv6 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv6_tcp_download", channel="149", bw="VHT80", security="ccmp")
+
+# 5G HT40 TKIP
+def test_ap_tkip_5745_HT40_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with TKIP configuration 5745 HT40 IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="149", bw="HT40+", security="tkip")
+
+def test_ap_tkip_5745_HT40_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with TKIP configuration 5745 HT40 IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="149", bw="HT40+", security="tkip")
+
+
+# 2G G-only WEP open
+def test_ap_wep_2462_g_only_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with WEP open configuration 2462 G-only IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="11", bw="g_only", security="wep")
+
+def test_ap_wep_2462_g_only_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with WEP open configuration 2462 G-only IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="11", bw="g_only", security="wep")
+
+# 2G G-only WEP shared
+def test_ap_wep_shared_2462_g_only_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """AP with WEP shared configuration 2462 G-only IPv4 udp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="11", bw="g_only", security="wep_shared")
+
+def test_ap_wep_shared_2462_g_only_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """AP with WEP shared configuration 2462 G-only IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="11", bw="g_only", security="wep_shared")
+
+# 5G STA open test
+def test_sta_open_5180_VHT80_ipv4_udp_download(devices, setup_params, ref=None, dut=None):
+ """STA with open mode (no security) configuration 5180 VHT80 IPv4 udp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_download", channel="36", bw="VHT80", dut_type="sta")
+
+def test_sta_open_5180_VHT80_ipv4_udp_upload(devices, setup_params, ref=None, dut=None):
+ """STA with open mode (no security) configuration 5180 VHT80 IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_udp_upload", channel="36", bw="VHT80", dut_type="sta")
+
+def test_sta_open_5180_VHT80_ipv4_tcp_download(devices, setup_params, ref=None, dut=None):
+ """STA with open mode (no security) configuration 5180 VHT80 IPv4 tcp download"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_download", channel="36", bw="VHT80", dut_type="sta")
+
+def test_sta_open_5180_VHT80_ipv4_tcp_upload(devices, setup_params, ref=None, dut=None):
+ """STA with open mode (no security) configuration 5180 VHT80 IPv4 tcp upload"""
+ return ap_sta_test(devices, setup_params, ref, dut, "ipv4_tcp_upload", channel="36", bw="VHT80", dut_type="sta")
+
+
+# This will allow to run tests directly - useful when need to run all combinations
+def main():
+ setup_params = config.get_setup_params()
+ devices = config.get_devices()
+
+ setup_params['local_log_dir'] = "/tmp/"
+
+ ref = None
+ dut = None
+ test_type = "ipv4_ping"
+ channel = "1"
+ bw = "HT20"
+ country = "PL"
+ test_time="10"
+ parallel="1"
+ qos="be"
+ security="open"
+ dut_type="sta"
+ verbose = False
+
+ # parse input parameters
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "", ["ref=", "dut=", "test_type=", "dut_type=", "channel=", "bw=", "country=", "test_time=", "parallel=", "qos=", "security=", "verbose"])
+ except getopt.GetoptError as err:
+ print(err)
+ print __doc__ %sys.argv[0]
+ sys.exit(2)
+
+ for option, argument in opts:
+ if option == "--verbose":
+ verbose = True
+ elif option == "--dut":
+ dut = argument
+ elif option == "--ref":
+ ref = argument
+ elif option == "--test_type":
+ test_type = argument
+ elif option == "--dut_type":
+ dut_type = argument
+ elif option == "--channel":
+ channel = argument
+ elif option == "--bw":
+ bw = argument
+ elif option == "--country":
+ country = argument
+ elif option == "--test_time":
+ test_time = argument
+ elif option == "--parallel":
+ parallel = argument
+ elif option == "--qos":
+ qos = argument
+ elif option == "--security":
+ security = argument
+ else:
+ assert False, "unhandled option"
+
+ if dut is None:
+ print __doc__ %sys.argv[0]
+ sys.exit(2)
+
+ logger.setLevel(logging.DEBUG)
+ stdout_handler = logging.StreamHandler()
+ stdout_handler.setLevel(logging.WARNING)
+ if verbose:
+ stdout_handler.setLevel(logging.DEBUG)
+ logger.addHandler(stdout_handler)
+
+ cmd = ""
+ for arg in sys.argv:
+ cmd = cmd + " " + arg
+ logger.warning("START: " + cmd)
+
+ try:
+ res, append = ap_sta_test(devices=devices, setup_params=setup_params, ref=ref, dut=dut,
+ test_type=test_type, channel=channel, bw=bw, country=country,
+ test_time=test_time, parallel=parallel, qos=qos,
+ security=security, dut_type=dut_type)
+ if res == 0:
+ logger.warning("PASS (" + append + ")")
+ else:
+ logger.warning("FAILED")
+ except:
+ logger.warning("FAILED")
+
+if __name__ == "__main__":
+ main()
--
1.9.1
More information about the Hostap
mailing list