# 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/HT40 connection in the 5GHz band
# w/ power save enabled.

# TODO(sleffler) expand channel coverage

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

    [ "client_powersave_on" ],

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

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

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

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

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

    [ "destroy" ],
  ],
}
