# 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.11g network with Power Save off.

{ "name":"Perf11g",
  "steps":[             # Channel 1
    [ "create",         { "type":"hostap" } ],

    [ "config",         { "channel":"2412", "mode":"11g",
                          "ssid_suffix":"ch1" } ],
    [ "client_powersave_off" ],
    [ "connect",        { "security":"none" } ],
    [ "client_iperf",   { "udp":None } ],
    [ "server_iperf",   { "udp":None } ],
    [ "client_iperf",   { "tcp":None } ],
    [ "server_iperf",   { "tcp":None } ],
    # XXX multiple streams
    # XXX mixed streams
    [ "deconfig" ],

    [ "config",         { "channel":"2437", "mode":"11g",
                          "ssid_suffix":"ch6" } ],
    [ "client_powersave_off" ],
    [ "connect",        { "security":"none" } ],
    [ "client_iperf",   { "udp":None } ],
    [ "server_iperf",   { "udp":None } ],
    [ "client_iperf",   { "tcp":None } ],
    [ "server_iperf",   { "tcp":None } ],
    # XXX multiple streams
    # XXX mixed streams
    [ "deconfig" ],

    [ "config",         { "channel":"2462", "mode":"11g",
                          "ssid_suffix":"ch11" } ],
    [ "client_powersave_off" ],
    [ "connect",        { "security":"none" } ],
    [ "client_iperf",   { "udp":None } ],
    [ "server_iperf",   { "udp":None } ],
    [ "client_iperf",   { "tcp":None } ],
    [ "server_iperf",   { "tcp":None } ],
    # XXX multiple streams
    # XXX mixed streams

    [ "destroy" ],
  ],
}
