1# Copyright 2021 The Chromium OS Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5AUTHOR = 'wiley, pstew, quiche, kuabhs' 6NAME = 'network_WiFi_Perf.vht80_pmf' 7ATTRIBUTES = 'suite:wifi_perf' 8TIME = 'SHORT' 9MAX_RESULT_SIZE_KB = 512000 10TEST_TYPE = 'Server' 11DEPENDENCIES = 'wificell' 12PY_VERSION = 3 13 14DOC = """ 15This test uses netperf to measure and verify the maximal receiving and 16transmitting throughput on a DUT with a network based on WPA2/WPA3 mixed and PMF 17enabled. 18""" 19 20from autotest_lib.client.common_lib.cros.network import xmlrpc_datatypes 21from autotest_lib.client.common_lib.cros.network import xmlrpc_security_types 22from autotest_lib.server.cros.network import hostap_config 23 24def run(machine): 25 n_caps = [hostap_config.HostapConfig.N_CAPABILITY_HT40_PLUS] 26 ac_caps = [hostap_config.HostapConfig.AC_CAPABILITY_SHORT_GI_80, 27 hostap_config.HostapConfig.AC_CAPABILITY_MAX_A_MPDU_LEN_EXP7] 28 ac_mode = hostap_config.HostapConfig.MODE_11AC_MIXED 29 channel_width_80_mhz = hostap_config.HostapConfig.VHT_CHANNEL_WIDTH_80 30 wpa_config = xmlrpc_security_types.WPAConfig( 31 psk='chromeos', 32 wpa_mode=xmlrpc_security_types.WPAConfig.MODE_MIXED_WPA3, 33 wpa_ciphers=[xmlrpc_security_types.WPAConfig.CIPHER_CCMP]) 34 35 configs = [hostap_config.HostapConfig( 36 channel=channel, 37 mode=ac_mode, 38 n_capabilities=n_caps, 39 vht_channel_width=channel_width_80_mhz, 40 vht_center_channel=vht_center_channel, 41 pmf_support=hostap_config.HostapConfig.PMF_SUPPORT_ENABLED, 42 ac_capabilities=ac_caps, 43 security_config=wpa_config) 44 for channel, vht_center_channel in [(44, 42), (157, 155)]] 45 host = hosts.create_host(machine) 46 use_iperf = True 47 job.run_test('network_WiFi_Perf', tag=NAME.split('.')[1], 48 host=host, raw_cmdline_args=args, 49 additional_params=(configs, use_iperf)) 50 51 52parallel_simple(run, machines) 53