# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Test performance of AES-encrypted 802.11n/HT20 connections in the 2.4GHz band
# w/ power save disabled.

{ "name":"Perf24HT20_AES",
  "steps":[             # Channel 1, 6, 11
    [ "create",         { "type":"hostap" } ],
    [ "config",         { "channel":"2412", "ht20":None, "puren":None,
                          "ssid_suffix" : "ch1",
                          "wpa":"1", "wpa_key_mgmt":"WPA-PSK",
                          "wpa_pairwise":"CCMP",
                          "wpa_passphrase":"chromeos" } ],
    [ "connect",        { "security":"wpa", "psk":"chromeos" } ],

    [ "client_powersave_off" ],

    [ "client_iperf",   { "tcp":None, "test_time":"60" } ],
    [ "server_iperf",   { "tcp":None, "test_time":"60" } ],

    [ "client_iperf",   { "udp":None, "bandwidth":"10m" } ],
    [ "server_iperf",   { "udp":None, "bandwidth":"10m" } ],

    [ "client_iperf",   { "udp":None, "bandwidth":"20m" } ],
    [ "server_iperf",   { "udp":None, "bandwidth":"20m" } ],

    [ "client_iperf",   { "udp":None, "bandwidth":"30m" } ],
    [ "server_iperf",   { "udp":None, "bandwidth":"30m" } ],

    [ "client_iperf",   { "udp":None, "bandwidth":"40m" } ],
    [ "server_iperf",   { "udp":None, "bandwidth":"40m" } ],

    [ "client_iperf",   { "udp":None, "bandwidth":"50m" } ],
    [ "server_iperf",   { "udp":None, "bandwidth":"50m" } ],

    [ "client_iperf",   { "udp":None, "bandwidth":"60m" } ],
    [ "server_iperf",   { "udp":None, "bandwidth":"60m" } ],

    [ "client_iperf",   { "udp":None, "bandwidth":"70m" } ],
    [ "server_iperf",   { "udp":None, "bandwidth":"70m" } ],

    [ "client_iperf",   { "udp":None, "bandwidth":"80m" } ],
    [ "server_iperf",   { "udp":None, "bandwidth":"80m" } ],

    # TODO(sleffler) multiple streams
    # TODO(sleffler) mixed streams

    [ "disconnect" ],
    [ "deconfig" ],

    [ "config",         { "channel":"2437", "ht20":None, "puren":None,
                          "ssid_suffix" : "ch6",
                          "wpa":"1", "wpa_key_mgmt":"WPA-PSK",
                          "wpa_pairwise":"CCMP",
                          "wpa_passphrase":"chromeos" } ],
    [ "connect",        { "security":"wpa", "psk":"chromeos" } ],

    [ "client_powersave_off" ],

    [ "client_iperf",   { "tcp":None, "test_time":"60" } ],
    [ "server_iperf",   { "tcp":None, "test_time":"60" } ],

    [ "client_iperf",   { "udp":None, "test_time":"30", "bandwidth":"10m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"30", "bandwidth":"10m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"30", "bandwidth":"20m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"30", "bandwidth":"20m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"45", "bandwidth":"30m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"45", "bandwidth":"30m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"45", "bandwidth":"40m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"45", "bandwidth":"40m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"45", "bandwidth":"50m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"45", "bandwidth":"50m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"60", "bandwidth":"60m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"60", "bandwidth":"60m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"60", "bandwidth":"70m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"60", "bandwidth":"70m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"60", "bandwidth":"80m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"60", "bandwidth":"80m" } ],

    # TODO(sleffler) multiple streams
    # TODO(sleffler) mixed streams

    [ "disconnect" ],
    [ "deconfig" ],

    [ "config",         { "channel":"2462", "ht20":None, "puren":None,
                          "ssid_suffix" : "ch11",
                          "wpa":"1", "wpa_key_mgmt":"WPA-PSK",
                          "wpa_pairwise":"CCMP",
                          "wpa_passphrase":"chromeos" } ],
    [ "connect",        { "security":"wpa", "psk":"chromeos" } ],

    [ "client_powersave_off" ],

    [ "client_iperf",   { "tcp":None, "test_time":"60" } ],
    [ "server_iperf",   { "tcp":None, "test_time":"60" } ],

    [ "client_iperf",   { "udp":None, "test_time":"30", "bandwidth":"10m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"30", "bandwidth":"10m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"30", "bandwidth":"20m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"30", "bandwidth":"20m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"45", "bandwidth":"30m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"45", "bandwidth":"30m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"45", "bandwidth":"40m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"45", "bandwidth":"40m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"45", "bandwidth":"50m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"45", "bandwidth":"50m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"60", "bandwidth":"60m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"60", "bandwidth":"60m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"60", "bandwidth":"70m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"60", "bandwidth":"70m" } ],

    [ "client_iperf",   { "udp":None, "test_time":"60", "bandwidth":"80m" } ],
    [ "server_iperf",   { "udp":None, "test_time":"60", "bandwidth":"80m" } ],

    # TODO(sleffler) multiple streams
    # TODO(sleffler) mixed streams

    [ "destroy" ],
  ],
}
