| # Copyright 2023 The ChromiumOS Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| NAME = 'network_WiFi_Perf.he80_pmf' |
| METADATA = { |
| 'contacts': ['chromeos-wifi-champs@google.com'], |
| 'requirements': ['wifi-gen-0002-v01', 'wifi-proc-0009-v01', 'wifi-proc-0012-v01', 'wifi-proc-0013-v01', 'wifi-proc-0016-v01', 'wifi-proc-0020-v01'], |
| # ChromeOS > Platform > Connectivity > WiFi |
| 'bug_component': 'b:893827', |
| # iperf and netperf are used to measure the throughput. |
| # Network: WPA2/WPA3 mixed and PMF enabled HE80 802.11ax |
| 'criteria': 'Measure and verify the maximal receiving and transmitting throughput on a DUT', |
| 'hw_agnostic': False, |
| } |
| ATTRIBUTES = 'suite:wifi_perf_openwrt' |
| TIME = 'SHORT' |
| MAX_RESULT_SIZE_KB = 512000 |
| TEST_TYPE = 'Server' |
| DEPENDENCIES = 'wificell, peripheral_wifi_state:WORKING' |
| |
| |
| from autotest_lib.client.common_lib.cros.network import xmlrpc_datatypes |
| from autotest_lib.client.common_lib.cros.network import xmlrpc_security_types |
| from autotest_lib.server.cros.network import hostap_config |
| |
| def run(machine): |
| n_caps = [hostap_config.HostapConfig.N_CAPABILITY_HT40_PLUS, |
| hostap_config.HostapConfig.N_CAPABILITY_LDPC] |
| ac_caps = [hostap_config.HostapConfig.AC_CAPABILITY_SHORT_GI_80, |
| hostap_config.HostapConfig.AC_CAPABILITY_RXLDPC, |
| hostap_config.HostapConfig.AC_CAPABILITY_MAX_A_MPDU_LEN_EXP6] |
| wpa_config = xmlrpc_security_types.WPAConfig( |
| psk='chromeos', |
| wpa_mode=xmlrpc_security_types.WPAConfig.MODE_MIXED_WPA3, |
| wpa_ciphers=[xmlrpc_security_types.WPAConfig.CIPHER_CCMP]) |
| host = hosts.create_host(machine) |
| configs = [hostap_config.HostapConfig( |
| channel=channel, |
| mode=hostap_config.HostapConfig.MODE_11AX_MIXED, |
| n_capabilities=n_caps, |
| vht_channel_width=hostap_config.HostapConfig.VHT_CHANNEL_WIDTH_80, |
| vht_center_channel=he_center_channel, |
| ac_capabilities=ac_caps, |
| he_channel_width=hostap_config.HostapConfig.HE_CHANNEL_WIDTH_80, |
| he_center_channel=he_center_channel, |
| ax_capabilities=[], |
| pmf_support=hostap_config.HostapConfig.PMF_SUPPORT_ENABLED, |
| security_config=wpa_config) |
| for channel, he_center_channel in [(44, 42), (157, 155)]] |
| host = hosts.create_host(machine) |
| use_iperf = True |
| job.run_test('network_WiFi_Perf', tag=NAME.split('.')[1], |
| host=host, raw_cmdline_args=args, |
| additional_params=(configs, use_iperf)) |
| |
| |
| parallel_simple(run, machines) |