# 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 an AES-encrypted 802.11a connection
# w/ power save disabled.

{ "name":"Perf11a_AES",
  "steps":[             # Channel 48
    [ "create",         { "type":"hostap" } ],
    [ "config",         { "channel":"5240", "mode":"11a",
                          "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":"15m" } ],
    [ "server_iperf",   { "udp":None, "bandwidth":"15m" } ],

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

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

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

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

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

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

    [ "destroy" ],
  ],
}
