Instead of hardcoded bss-*.cfg files generate them correctly, using correct bssid. Next send/install them on remote client. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> --- tests/hwsim/hostapd.py | 5 +++++ tests/hwsim/hostapd_conf.py | 38 +++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/tests/hwsim/hostapd.py b/tests/hwsim/hostapd.py index 8f2ce02d4..f8db64326 100644 --- a/tests/hwsim/hostapd.py +++ b/tests/hwsim/hostapd.py @@ -13,6 +13,7 @@ import wpaspy import remotehost import utils import subprocess +import hostapd_conf logger = logging.getLogger() hapd_ctrl = '/var/run/hostapd' @@ -592,6 +593,8 @@ def add_bss(apdev, ifname, confname, ignore_error=False): hostname = None port = 8878 hapd_global = HostapdGlobal(apdev) + confname = hostapd_conf.cfg_file(apdev, confname, ifname) + hapd_global.send_file(confname, confname) hapd_global.add_bss(phy, confname, ignore_error) port = hapd_global.get_ctrl_iface_port(ifname) hapd = Hostapd(ifname, hostname=hostname, port=port) @@ -610,6 +613,8 @@ def add_iface(apdev, confname): hostname = None port = 8878 hapd_global = HostapdGlobal(apdev) + confname = hostapd_conf.cfg_file(apdev, confname, ifname) + hapd_global.send_file(confname, confname) hapd_global.add_iface(ifname, confname) port = hapd_global.get_ctrl_iface_port(ifname) hapd = Hostapd(ifname, hostname=hostname, port=port) diff --git a/tests/hwsim/hostapd_conf.py b/tests/hwsim/hostapd_conf.py index 2243d1f24..a6bffb1d3 100644 --- a/tests/hwsim/hostapd_conf.py +++ b/tests/hwsim/hostapd_conf.py @@ -1,5 +1,6 @@ import hostapd import os +import re def acl_file(dev, apdev, conf): filename = os.path.join("/tmp", conf) @@ -32,3 +33,40 @@ def acl_file(dev, apdev, conf): return conf return filename + +def bssid_inc(apdev, inc=1): + parts = apdev['bssid'].split(':') + parts[5] = '%02x' % (int(parts[5], 16) + int(inc)) + bssid = '%s:%s:%s:%s:%s:%s' % (parts[0], parts[1], parts[2], parts[3], parts[4], parts[5]) + return bssid + +def cfg_file(apdev, conf, ifname=None): + # put cfg file in /tmp directory + fname = os.path.join("/tmp", conf) + + match = re.search(r'bss-\d+', conf) + if match: + with open(fname, 'w') as f: + idx = ''.join(filter(str.isdigit, conf)) + if ifname is None: + ifname = apdev['ifname'] + if idx != '1': + ifname = ifname + '-' + idx + + f.write("driver=nl80211\n") + f.write("ctrl_interface=/var/run/hostapd\n") + f.write("hw_mode=g\n") + f.write("channel=1\n") + f.write("ieee80211n=1\n") + f.write("interface=%s\n" % ifname) + + f.write("ssid=bss-%s\n" % idx) + if conf == 'bss-2-dup.conf': + bssid = apdev['bssid'] + else: + bssid = bssid_inc(apdev, int(idx) - 1) + f.write("bssid=%s\n" % bssid) + else: + return conf + + return fname -- 2.17.1 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap