config.py 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. # Environment configuration
  2. # Copyright (c) 2016, Tieto Corporation
  3. #
  4. # This software may be distributed under the terms of the BSD license.
  5. # See README for more details.
  6. #
  7. # Currently static definition, in the future this could be a config file,
  8. # or even common database with host management.
  9. #
  10. import logging
  11. logger = logging.getLogger()
  12. #
  13. # You can put your settings in cfg.py file with setup_params, devices
  14. # definitions in the format as below. In other case HWSIM cfg will be used.
  15. #
  16. setup_params = { "setup_hw" : "./tests/setup_hw.sh",
  17. "hostapd" : "./tests/hostapd",
  18. "wpa_supplicant" : "./tests/wpa_supplicant",
  19. "iperf" : "iperf",
  20. "wlantest" : "./tests/wlantest",
  21. "wlantest_cli" : "./tests/wlantest_cli",
  22. "country" : "US",
  23. "log_dir" : "/tmp/",
  24. "ipv4_test_net" : "192.168.12.0",
  25. "trace_start" : "./tests/trace_start.sh",
  26. "trace_stop" : "./tests/trace_stop.sh",
  27. "perf_start" : "./tests/perf_start.sh",
  28. "perf_stop" : "./tests/perf_stop.sh" }
  29. #
  30. #devices = [{"hostname": "192.168.254.58", "ifname" : "wlan0", "port": "9877", "name" : "t2-ath9k", "flags" : "AP_HT40 STA_HT40"},
  31. # {"hostname": "192.168.254.58", "ifname" : "wlan1", "port": "9877", "name" : "t2-ath10k", "flags" : "AP_VHT80"},
  32. # {"hostname": "192.168.254.58", "ifname" : "wlan3", "port": "9877", "name" : "t2-intel7260", "flags" : "STA_VHT80"},
  33. # {"hostname": "192.168.254.55", "ifname" : "wlan0, wlan1, wlan2", "port": "", "name" : "t3-monitor"},
  34. # {"hostname": "192.168.254.50", "ifname" : "wlan0", "port": "9877", "name" : "t1-ath9k"},
  35. # {"hostname": "192.168.254.50", "ifname" : "wlan1", "port": "9877", "name" : "t1-ath10k"}]
  36. #
  37. # HWSIM - ifaces available after modprobe mac80211_hwsim
  38. #
  39. devices = [{"hostname": "localhost", "ifname": "wlan0", "port": "9868", "name": "hwsim0", "flags": "AP_VHT80 STA_VHT80"},
  40. {"hostname": "localhost", "ifname": "wlan1", "port": "9878", "name": "hwsim1", "flags": "AP_VHT80 STA_VHT80"},
  41. {"hostname": "localhost", "ifname": "wlan2", "port": "9888", "name": "hwsim2", "flags": "AP_VHT80 STA_VHT80"},
  42. {"hostname": "localhost", "ifname": "wlan3", "port": "9898", "name": "hwsim3", "flags": "AP_VHT80 STA_VHT80"},
  43. {"hostname": "localhost", "ifname": "wlan4", "port": "9908", "name": "hwsim4", "flags": "AP_VHT80 STA_VHT80"}]
  44. def get_setup_params(filename="cfg.py"):
  45. try:
  46. mod = __import__(filename.split(".")[0])
  47. return mod.setup_params
  48. except:
  49. logger.debug("__import__(" + filename + ") failed, using static settings")
  50. pass
  51. return setup_params
  52. def get_devices(filename="cfg.py"):
  53. try:
  54. mod = __import__(filename.split(".")[0])
  55. return mod.devices
  56. except:
  57. logger.debug("__import__(" + filename + ") failed, using static settings")
  58. pass
  59. return devices
  60. def get_device(devices, name=None, flags=None, lock=False):
  61. if name is None and flags is None:
  62. raise Exception("Failed to get device")
  63. for device in devices:
  64. if device['name'] == name:
  65. return device
  66. for device in devices:
  67. try:
  68. device_flags = device['flags']
  69. if device_flags.find(flags) != -1:
  70. return device
  71. except:
  72. pass
  73. raise Exception("Failed to get device " + name)
  74. def put_device(devices, name):
  75. pass