tests: Add HostapdGlobal.get_ctrl_iface_port()
This adds a method to get the UDP port for an interface. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
This commit is contained in:
parent
cb73f7e84d
commit
4d48d44ca2
1 changed files with 25 additions and 3 deletions
|
@ -81,6 +81,25 @@ class HostapdGlobal:
|
||||||
def flush(self):
|
def flush(self):
|
||||||
self.ctrl.request("FLUSH")
|
self.ctrl.request("FLUSH")
|
||||||
|
|
||||||
|
def get_ctrl_iface_port(self, ifname):
|
||||||
|
if self.hostname is None:
|
||||||
|
return None
|
||||||
|
|
||||||
|
res = self.ctrl.request("INTERFACES ctrl")
|
||||||
|
lines = res.splitlines()
|
||||||
|
found = False
|
||||||
|
for line in lines:
|
||||||
|
words = line.split()
|
||||||
|
if words[0] == ifname:
|
||||||
|
found = True
|
||||||
|
break
|
||||||
|
if not found:
|
||||||
|
raise Exception("Could not find UDP port for " + ifname)
|
||||||
|
res = line.find("ctrl_iface=udp:")
|
||||||
|
if res == -1:
|
||||||
|
raise Exception("Wrong ctrl_interface format")
|
||||||
|
words = line.split(":")
|
||||||
|
return int(words[1])
|
||||||
|
|
||||||
class Hostapd:
|
class Hostapd:
|
||||||
def __init__(self, ifname, bssidx=0, hostname=None, port=8877):
|
def __init__(self, ifname, bssidx=0, hostname=None, port=8877):
|
||||||
|
@ -291,7 +310,8 @@ def add_ap(ifname, params, wait_enabled=True, no_enable=False, timeout=30,
|
||||||
hapd_global = HostapdGlobal(hostname=hostname, port=port)
|
hapd_global = HostapdGlobal(hostname=hostname, port=port)
|
||||||
hapd_global.remove(ifname)
|
hapd_global.remove(ifname)
|
||||||
hapd_global.add(ifname)
|
hapd_global.add(ifname)
|
||||||
hapd = Hostapd(ifname, hostname=hostname)
|
port = hapd_global.get_ctrl_iface_port(ifname)
|
||||||
|
hapd = Hostapd(ifname, hostname=hostname, port=port)
|
||||||
if not hapd.ping():
|
if not hapd.ping():
|
||||||
raise Exception("Could not ping hostapd")
|
raise Exception("Could not ping hostapd")
|
||||||
hapd.set_defaults()
|
hapd.set_defaults()
|
||||||
|
@ -326,7 +346,8 @@ def add_bss(phy, ifname, confname, ignore_error=False, hostname=None,
|
||||||
logger.info("Starting BSS phy=" + phy + " ifname=" + ifname)
|
logger.info("Starting BSS phy=" + phy + " ifname=" + ifname)
|
||||||
hapd_global = HostapdGlobal(hostname=hostname, port=port)
|
hapd_global = HostapdGlobal(hostname=hostname, port=port)
|
||||||
hapd_global.add_bss(phy, confname, ignore_error)
|
hapd_global.add_bss(phy, confname, ignore_error)
|
||||||
hapd = Hostapd(ifname, hostname=hostname)
|
port = hapd_global.get_ctrl_iface_port(ifname)
|
||||||
|
hapd = Hostapd(ifname, hostname=hostname, port=port)
|
||||||
if not hapd.ping():
|
if not hapd.ping():
|
||||||
raise Exception("Could not ping hostapd")
|
raise Exception("Could not ping hostapd")
|
||||||
|
|
||||||
|
@ -334,7 +355,8 @@ def add_iface(ifname, confname, hostname=None, port=8878):
|
||||||
logger.info("Starting interface " + ifname)
|
logger.info("Starting interface " + ifname)
|
||||||
hapd_global = HostapdGlobal(hostname=hostname, port=port)
|
hapd_global = HostapdGlobal(hostname=hostname, port=port)
|
||||||
hapd_global.add_iface(ifname, confname)
|
hapd_global.add_iface(ifname, confname)
|
||||||
hapd = Hostapd(ifname, hostname=hostname)
|
port = hapd_global.get_ctrl_iface_port(ifname)
|
||||||
|
hapd = Hostapd(ifname, hostname=hostname, port=port)
|
||||||
if not hapd.ping():
|
if not hapd.ping():
|
||||||
raise Exception("Could not ping hostapd")
|
raise Exception("Could not ping hostapd")
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue