Files
wlan-lanforge-scripts/py-json/LANforge/add_dut.py
2021-08-13 16:56:20 -07:00

93 lines
4.4 KiB
Python

# define list of DUT keys
from enum import Enum
from collections import namedtuple
add_dut_flags = {
'STA_MODE' : 0x1, # (1) DUT acts as Station.,
'AP_MODE' : 0x2, # (2) DUT acts as AP.
'INACTIVE' : 0x4, # (3) Ignore this in ChamberView, etc
'WEP' : 0x8, # Use WEP encryption on all ssids, deprecated, see add_dut_ssid.
'WPA' : 0x10, # Use WPA encryption on all ssids, deprecated, see add_dut_ssid.
'WPA2' : 0x20, # Use WPA2 encryption on all ssids, deprecated, see add_dut_ssid.
'DHCPD-LAN' : 0x40, # Provides DHCP server on LAN port
'DHCPD-WAN' : 0x80, # Provides DHCP server on WAN port
'WPA3' : 0x100, # Use WPA3 encryption on all ssids, deprecated, see add_dut_extras.
'11r' : 0x200, # Use .11r connection logic on all ssids, deprecated, see add_dut_ssid.
'EAP-TTLS' : 0x400, # Use EAP-TTLS connection logic on all ssids, deprecated, see add_dut_ssid.
'EAP-PEAP' : 0x800, # Use EAP-PEAP connection logic on all ssids, deprecated, see add_dut_ssid.
'NOT-DHCPCD' : 0x1000, # Station/edge device that is NOT using DHCP.
# Otherwise, automation logic assumes it is using dhcp client.'
}
class dut_params(namedtuple("dut_params", "key maxlen"), Enum):
name = "name", 48
flags = "flags", 256
img_file = "img_file", 128
sw_version = "sw_version", 40
hw_version = "hw_version", 40
model_num = "model_num", 40
serial_num = "serial_num", 40
serial_port = "serial_port", 20
wan_port = "wan_port", 40
lan_port = "lan_port", 40
ssid1 = "ssid1", 33
ssid2 = "ssid2", 33
ssid3 = "ssid3", 33
passwd1 = "passwd1", 64
passwd2 = "passwd2", 64
passwd3 = "passwd3", 64
mgt_ip = "mgt_ip", 40
api_id = "api_id", 20
flags_mask = "flags_mask", 256
antenna_count1 = "antenna_count1", 1
antenna_count2 = "antenna_count2", 1
antenna_count3 = "antenna_count3", 1
bssid1 = "bssid1", 18
bssid2 = "bssid2", 18
bssid3 = "bssid3", 18
top_left_x = "top_left_x", 20
top_left_y = "top_left_y", 20
eap_id = "eap_id", 64
def has(name):
for param in dut_params:
if name == param.key:
return True
return False
def to_flag(name):
for param in dut_params:
# print("checking %s =? %s"%(name, param.key))
if name == param.key:
return param
return None
class dut_flags(namedtuple("dut_flags", "name value"), Enum):
STA_MODE = "STA_MODE", 0x1 # (1) DUT acts as Station.
AP_MODE = "AP_MODE", 0x2 # (2) DUT acts as AP.
INACTIVE = "INACTIVE", 0x4 # (3) Ignore this in ChamberView, etc
WEP = "WEP", 0x8 # Use WEP encryption
WPA = "WPA", 0x10 # Use WPA encryption
WPA2 = "WPA2", 0x20 # Use WPA2 encryption
DHCPD_LAN = "DHCPD-LAN", 0x40 # Provides DHCP server on LAN port
DHCPD_WAN = "DHCPD-WAN", 0x80 # Provides DHCP server on WAN port
WPA3 = "WPA3", 0x100 # Use WPA3 encryption
IEEE80211r = "11r", 0x200 # Use .11r connection logic.
EAP_TTLS = "EAP-TTLS", 0x400 # Use EAP-TTLS connection logic.
EAP_PEAP = "EAP-PEAP", 0x800 # Use EAP-PEAP connection logic.
NOT_DHCPCD = "NOT-DHCPCD", 0x1000 # Station/edge device that is NOT using DHCP.
# Otherwise, automation logic assumes it is using dhcp client.
def has(name):
for flag in dut_flags:
# print("checking %s =? %s"%(name, flag.name))
if name == flag.name:
return True
return False
def to_flag(name):
for flag in dut_flags:
# print("checking %s =? %s"%(name, flag.name))
if name == flag.name:
return flag
return None
#eof