• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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