# Copyright (c) 2013 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.

# This test is designed to check that we can successfully scan for two
# different SSIDs which respond with the same BSSID.  Some client
# firmwares may hold only one scan entry per BSSID and will foil attempts
# to connect to certain types of APs.

{ "name":"MaskedBSSID",
  "steps":[
    [ "create",         { "type":"hostap" } ],

    # Create an AP, manually specifying both the SSID and BSSID.
    [ "config",         { "channel":"2412", "mode":"11b",
                          "bssid":"00:01:02:03:04:05",
                          "ssid": "CrOS_Masked1" } ],

    # Create a second AP that responds to probe requests with the same BSSID
    # but an different SSID.  These APs together are meant to emulate
    # situations that occur with some types of APs which broadcast or
    # respond with more than one (non-empty) SSID.
    [ "config",         { "channel":"2412", "mode":"11b",
                          "bssid":"00:01:02:03:04:05", "multi_interface":None,
                          "ssid": "CrOS_Masked2" } ],

    # We cannot connect to this AP, since there are two separate APs that
    # respond to the same BSSID, but we can test to make sure both SSIDs
    # appears in the scan.
    [ "scan",           { "freq": [ "2412" ],
                          "ssid": [ "CrOS_Masked1", "CrOS_Masked2" ] } ],

    [ "destroy" ],
  ],
}
