# 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.

# Purpose: This test uses iperf to measure TCP and UDP throughputs of a DUT
# connected to an open 802.11n network (5GHz band, 40MHz-channel)
# with Power Save off.

{ "name":"Perf5HT40",
  "steps":[             # Channel 48
    [ "create",         { "type":"hostap" } ],

    [ "config",         { "channel":"5240", "ht40-":None, "puren":None } ],
    [ "client_powersave_off" ],
    [ "connect",        { "security":"none" } ],
                        # Send UDP data at 220 Mbits/sec
    [ "client_iperf",   { "udp":None, "bandwidth":"220m" } ],
    [ "server_iperf",   { "udp":None, "bandwidth":"220m" } ],
    [ "client_iperf",   { "tcp":None } ],
    [ "server_iperf",   { "tcp":None } ],
    # XXX multiple streams
    # XXX mixed streams
    [ "deconfig" ],

    [ "destroy" ],
  ],
}
