autotest: wifi: Set WiFi Address for local servers
If we are in a "local server" configuration, the IP address of the
server on the WiFi is determined by the server itself, not by
external configuration. Test for this configuration.
BUG=chromium-os:25908
TEST=network_WiFiMatFunc/060Perf24HT20
Change-Id: I986571f398673e8166eca67651eec6e02b226217
Reviewed-on: https://gerrit.chromium.org/gerrit/38494
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/server/site_linux_router.py b/server/site_linux_router.py
index 7cb930b..5baebbf 100644
--- a/server/site_linux_router.py
+++ b/server/site_linux_router.py
@@ -374,14 +374,16 @@
self.station['interface'] = interface
+ def local_server_address(self, index):
+ return '%d.%d.%d.%d' % (192, 168, index, 254)
+
def start_local_server(self, interface):
logging.info("Starting up local server...")
if len(self.local_servers) >= 256:
raise error.TestFail('Exhausted available local servers')
- netblock = '%d.%d.%d.%d/24' % \
- (192, 168, len(self.local_servers), 254)
+ netblock = '%s/24' % self.local_server_address(len(self.local_servers))
params = {}
params['netblock'] = netblock
diff --git a/server/site_wifitest.py b/server/site_wifitest.py
index 416e6a1..468c88d 100644
--- a/server/site_wifitest.py
+++ b/server/site_wifitest.py
@@ -185,8 +185,12 @@
self.server = hosts.SSHHost(server['addr'],
port=int(server.get('port', 22)))
self.server_at = autotest.Autotest(self.server)
- # if not specified assume the same as the control address
- self.server_wifi_ip = server.get('wifi_addr', self.server.ip)
+ if self.wifi.force_local_server:
+ # Server WiFi IP is created using a local server address.
+ self.server_wifi_ip = self.wifi.local_server_address(0)
+ else:
+ # if not specified assume the same as the control address
+ self.server_wifi_ip = server.get('wifi_addr', self.server.ip)
self.__server_discover_commands(server)
else:
self.server = None