From ef897a9408bc2cf5fa95b114acfb034ab38be02e Mon Sep 17 00:00:00 2001 From: Chuck SmileyRekiere Date: Sat, 17 Oct 2020 12:19:53 -0600 Subject: [PATCH] lf_cisco_snp.py: added wifimode config from command line --- py-scripts/lf_cisco_snp.py | 43 ++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/py-scripts/lf_cisco_snp.py b/py-scripts/lf_cisco_snp.py index 4226a2f2..ad1027a2 100755 --- a/py-scripts/lf_cisco_snp.py +++ b/py-scripts/lf_cisco_snp.py @@ -604,7 +604,7 @@ class cisco_(): class L3VariableTime(LFCliBase): def __init__(self, host, port, endp_types, args, tos, side_b, radio_name_list, number_of_stations_per_radio_list, - ssid_list, ssid_password_list, ssid_security_list, station_lists, name_prefix, debug_on, outfile, + ssid_list, ssid_password_list, ssid_security_list, wifimode_list,station_lists, name_prefix, debug_on, outfile, reset_port_enable_list, reset_port_time_min_list, reset_port_time_max_list, @@ -624,6 +624,7 @@ class L3VariableTime(LFCliBase): self.ssid_password_list = ssid_password_list self.station_lists = station_lists self.ssid_security_list = ssid_security_list + self.wifimode_list = wifimode_list self.reset_port_enable_list = reset_port_enable_list self.reset_port_time_min_list = reset_port_time_min_list self.reset_port_time_max_list = reset_port_time_max_list @@ -659,17 +660,18 @@ class L3VariableTime(LFCliBase): self.csv_file = open(self.outfile, "w") self.csv_writer = csv.writer(self.csv_file, delimiter=",") - for (radio_, ssid_, ssid_password_, ssid_security_,\ + for (radio_, ssid_, ssid_password_, ssid_security_, wifimode_,\ reset_port_enable_, reset_port_time_min_, reset_port_time_max_) \ - in zip(radio_name_list, ssid_list, ssid_password_list, ssid_security_list,\ + in zip(radio_name_list, ssid_list, ssid_password_list, ssid_security_list, wifimode_list,\ reset_port_enable_list, reset_port_time_min_list, reset_port_time_max_list): self.station_profile = self.local_realm.new_station_profile() self.station_profile.lfclient_url = self.lfclient_url self.station_profile.ssid = ssid_ self.station_profile.ssid_pass = ssid_password_ self.station_profile.security = ssid_security_ + self.station_profile.mode = wifimode_ self.station_profile.number_template = self.number_template - self.station_profile.mode = 0 # TODO be able to set the mode + self.station_profile.mode = wifimode_ self.station_profile.set_reset_extra(reset_port_enable=reset_port_enable_,\ test_duration=self.local_realm.duration_time_to_seconds(self.test_duration),\ reset_port_min_time=self.local_realm.duration_time_to_seconds(reset_port_time_min_),\ @@ -1155,16 +1157,20 @@ and recieved. Generic command layout: ----------------------- python .\\lf_cisco_snp.py --test_duration --endp_type --upstream_port - --radio "radio== stations== ssid== ssid_pw== security==" --debug + --radio "radio== stations== ssid== ssid_pw== security== wifimode==AUTO" --debug + Multiple radios may be entered with individual --radio switches generiic command with controller setting channel and channel width test duration 5 min python3 lf_cisco_snp.py --cisco_ctlr --cisco_dfs True/False --mgr --cisco_channel --cisco_chan_width <20,40,80,120> --endp_type 'lf_udp lf_tcp mc_udp' --upstream_port <1.ethX> - --radio "radio== stations== ssid== ssid_pw== security==" - --radio "radio== stations== ssid== ssid_pw== security==" + --radio "radio== stations== ssid== ssid_pw== security== wifimode==" + --radio "radio== stations== ssid== ssid_pw== security== wifimode==" --duration 5m +wifimode: + : number followed by one of the following d - days @@ -1242,23 +1248,7 @@ python3 lf_cisco_snp.py --cisco_ctlr 192.168.100.112 --cisco_dfs True --mgr 192. --test_duration 5m -TODO: -our %wifi_modes = ( - "a" => "1", - "b" => "2", - "g" => "3", - "abg" => "4", - "abgn" => "5", - "bgn" => "6", - "bg" => "7", - "abgnAC" => "8", - "anAC" => "9", - "an" => "10", - "bgnAC" => "11", - "abgnAX" => "12", - "bgnAX" => "13", - "anAX" => "14" -); + TODO: 11a 5ghz @@ -1427,6 +1417,7 @@ TODO: Radio descriptions in realm , the 1. refers to the chassi hopefully corres ssid_list = [] ssid_password_list = [] ssid_security_list = [] + wifimode_list = [] #optional radio configuration reset_port_enable_list = [] @@ -1493,7 +1484,7 @@ TODO: Radio descriptions in realm , the 1. refers to the chassi hopefully corres # TODO may need a static list of radios read for scaling and performance print("radios {}".format(radios)) for radio_ in radios: - radio_keys = ['radio','stations','ssid','ssid_pw','security'] + radio_keys = ['radio','stations','ssid','ssid_pw','security','wifimode'] radio_info_dict = dict(map(lambda x: x.split('=='), str(radio_).replace('[','').replace(']','').replace("'","").split())) print("radio_dict {}".format(radio_info_dict)) @@ -1507,6 +1498,7 @@ TODO: Radio descriptions in realm , the 1. refers to the chassi hopefully corres ssid_list.append(radio_info_dict['ssid']) ssid_password_list.append(radio_info_dict['ssid_pw']) ssid_security_list.append(radio_info_dict['security']) + wifimode_list.append(radio_info_dict['wifimode']) optional_radio_reset_keys = ['reset_port_enable'] radio_reset_found = True @@ -1560,6 +1552,7 @@ TODO: Radio descriptions in realm , the 1. refers to the chassi hopefully corres ssid_list=ssid_list, ssid_password_list=ssid_password_list, ssid_security_list=ssid_security_list, + wifimode_list=wifimode_list, test_duration=test_duration, polling_interval= polling_interval, reset_port_enable_list=reset_port_enable_list,