# 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 open 802.11n/HT20 connection in the 5GHz band
# w/ power save disabled.

# TODO(sleffler) expand channel coverage

{ "name":"Perf5HT20",
  "steps":[             # Channel 48
    [ "create",         { "type":"hostap" } ],
    [ "config",         { "channel":"5240", "ht20":None, "puren":None } ],
    [ "connect",        { "security":"none" } ],

    [ "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" } ],

    [ "destroy" ],
  ],
}
