mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-10-30 18:27:53 +00:00 
			
		
		
		
	Modified dataplane test and fixed the dual band wifi capacity issue
Signed-off-by: jitendra-kushavah <jitendra.kushavah@candelatech.com>
This commit is contained in:
		| @@ -1257,7 +1257,8 @@ class lf_tests(lf_libs): | ||||
|                              ' bssid=' + str(dut_data[identifier]["ssid_data"][idx_]["bssid"]).upper()]) | ||||
|                 self.update_duts(identifier=identifier, ssid_data=ssid_data) | ||||
|  | ||||
|     def add_stations(self, is_wifi7=False, is_bw320=False, band="2G", num_stations=9, ssid_name="", dut_data={}, identifier=None): | ||||
|     def add_stations(self, is_wifi7=False, is_bw320=False, band="2G", num_stations=9, ssid_name="", dut_data={}, | ||||
|                      identifier=None, dual_band_flag=1, temp_radio_data={}): | ||||
|         dut_name = [] | ||||
|         # for index in range(0, len(self.dut_data)): | ||||
|         #     dut_name.append(self.dut_data[index]["identifier"]) | ||||
| @@ -1311,9 +1312,15 @@ class lf_tests(lf_libs): | ||||
|  | ||||
|         max_station_per_radio = {"wave2_2g_radios": 64, "wave2_5g_radios": 64, "wave1_radios": 64, "mtk_radios": 19, | ||||
|                                  "ax200_radios": 1, "ax210_radios": 1, "be200_radios": 1} | ||||
|         if dual_band_flag > 1: | ||||
|             logging.info("dual_band_flag is True, fetched 2g radio data") | ||||
|             logging.info(f"temp_radio_data:{temp_radio_data}") | ||||
|             temp_radio_data = temp_radio_data | ||||
|  | ||||
|         radio_data = {} | ||||
|         sniff_radio = "" | ||||
|  | ||||
|  | ||||
|         for dut in dut_data: | ||||
|             for idx_ in dut_data[dut]["ssid_data"]: | ||||
|                 temp_band = dut_data[dut]["ssid_data"][idx_]["band"] | ||||
| @@ -1367,6 +1374,8 @@ class lf_tests(lf_libs): | ||||
|                     if len(dict_all_radios_5g[j]) > 0: | ||||
|                         diff = max_station - stations | ||||
|                         for i in dict_all_radios_5g[j]: | ||||
|                             if dual_band_flag > 1 and (i in temp_radio_data): | ||||
|                                 continue  # Skip this radio | ||||
|                             if diff >= 0: | ||||
|                                 radio_data[i] = stations | ||||
|                                 stations = 0 | ||||
| @@ -1376,6 +1385,7 @@ class lf_tests(lf_libs): | ||||
|                                 stations = stations - max_station | ||||
|                                 diff = max_station - stations | ||||
|  | ||||
|  | ||||
|         if band == "6G": | ||||
|             stations = None | ||||
|             if num_stations != "max": | ||||
| @@ -1528,7 +1538,13 @@ class lf_tests(lf_libs): | ||||
|             if add_stations: | ||||
|                 '''SINGLE WIFI CAPACITY using lf_wifi_capacity.py''' | ||||
|                 self.temp_raw_lines = self.default_scenario_raw_lines.copy() | ||||
|                 dual_band_flag = 0 | ||||
|                 for band_ in num_stations: | ||||
|                     dual_band_flag = dual_band_flag+1 | ||||
|                     logging.info(f"dual_band_flag value:{dual_band_flag}") | ||||
|                     temp_radio_data = {} | ||||
|                     if dual_band_flag > 1: | ||||
|                         temp_radio_data = radio_data | ||||
|                     if band_ not in ["2G", "5G", "6G"]: | ||||
|                         logging.error("Band is missing") | ||||
|                         pytest.fail("band is missing") | ||||
| @@ -1555,9 +1571,11 @@ class lf_tests(lf_libs): | ||||
|                                         temp_band = "sixg" | ||||
|                                     if temp_band == dut_data[i]["ssid_data"][j]["band"]: | ||||
|                                         ssid_name = dut_data[i]["ssid_data"][j]["ssid"] | ||||
|  | ||||
|                     radio_data = self.add_stations(band=band_, num_stations=num_stations[band_], ssid_name=ssid_name, | ||||
|                                                    dut_data=dut_data, | ||||
|                                                    identifier=identifier, is_wifi7=is_wifi7, is_bw320=is_bw320) | ||||
|                                                    identifier=identifier, is_wifi7=is_wifi7, is_bw320=is_bw320, | ||||
|                                                    dual_band_flag = dual_band_flag, temp_radio_data=temp_radio_data) | ||||
|                     if vlan_raw_lines is not None: | ||||
|                         for i in vlan_raw_lines: | ||||
|                             self.temp_raw_lines.append(i) | ||||
| @@ -1816,9 +1834,9 @@ class lf_tests(lf_libs): | ||||
|         return wificapacity_obj_list | ||||
|  | ||||
|     def dataplane_throughput_test(self, ssid="[BLANK]", passkey="[BLANK]", security="wpa2", num_sta=1, mode="BRIDGE", | ||||
|                                   vlan_id=[None], | ||||
|                                   vlan_id=[None], ap_mode ="wifi6", | ||||
|                                   download_rate="85%", band="twog", scan_ssid=True, | ||||
|                                   upload_rate="0", duration="15s", instance_name="test_demo", raw_lines=None, | ||||
|                                   upload_rate="0", duration="15s", path_loss=10, instance_name="test_demo", raw_lines=None, | ||||
|                                   influx_tags="", | ||||
|                                   move_to_influx=False, | ||||
|                                   station_data=["4way time (us)", "channel", "cx time (us)", "dhcp (ms)", "ip", | ||||
| @@ -1826,6 +1844,7 @@ class lf_tests(lf_libs): | ||||
|                                   allure_attach=True, allure_name="station data", client_type=0, dut_data={}): | ||||
|         instance_name = ''.join(random.choices(string.ascii_uppercase + string.digits, k=12)) | ||||
|         dataplane_obj_list = [] | ||||
|         radio_mode = "" | ||||
|         for dut in self.dut_data: | ||||
|             identifier = dut["identifier"] | ||||
|             if mode == "BRIDGE": | ||||
| @@ -1853,9 +1872,25 @@ class lf_tests(lf_libs): | ||||
|                                                station_data=station_data, | ||||
|                                                allure_attach=allure_attach, identifier=identifier, | ||||
|                                                allure_name=allure_name, client_type=client_type, dut_data=dut_data) | ||||
|             if ap_mode=="wifi7": | ||||
|                 if band=="twog": | ||||
|                     radio_mode = "802.11bgn-BE" | ||||
|                 if band=="fiveg": | ||||
|                     radio_mode = "802.11an-BE" | ||||
|                 if band=="sixg": | ||||
|                      radio_mode = "802.11a-BE" | ||||
|             else: | ||||
|                 if band=="twog": | ||||
|                     radio_mode = "802.11bgn-AX" | ||||
|                 if band=="fiveg": | ||||
|                     radio_mode = "802.11an-AX" | ||||
|                 if band=="sixg": | ||||
|                      radio_mode = "802.11a-AX" | ||||
|  | ||||
|             logging.info(f"radio_mode {radio_mode}") | ||||
|  | ||||
|             if raw_lines is None: | ||||
|                 raw_lines = [['pkts: 142;256;512;1024;MTU;4000'], ['directions: DUT Transmit;DUT Receive'], | ||||
|                 raw_lines = [['pkts: 142;256;512;1024;MTU;4000'], ['directions: DUT Transmit'], ['modes: ' + str(radio_mode)], | ||||
|                              ['traffic_types: UDP;TCP'], | ||||
|                              ["show_3s: 1"], ["show_ll_graphs: 1"], ["show_log: 1"]] | ||||
|             sets = [['Maximize Unused Attenuators', '0']] | ||||
| @@ -1874,6 +1909,7 @@ class lf_tests(lf_libs): | ||||
|                                           download_speed=download_rate, | ||||
|                                           upload_speed=upload_rate, | ||||
|                                           duration=duration, | ||||
|                                           path_loss=path_loss, | ||||
|                                           dut=identifier, | ||||
|                                           station=list(station_data.keys())[0], | ||||
|                                           test_tag=influx_tags, | ||||
| @@ -2975,6 +3011,7 @@ class lf_tests(lf_libs): | ||||
|                               -1] + "/" | ||||
|             self.attach_report_graphs(report_name=report_name, pdf_name="Multi Band Performance Test") | ||||
|             result = self.read_kpi_file(column_name=["pass/fail"], dir_name=report_name) | ||||
|             logging.info(f"result of pass/fail:{result}") | ||||
|             allure.attach.file(source="../reports/" + report_name + "/kpi.csv", | ||||
|                                name=f"Multi_band_CSV", attachment_type="CSV") | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 jitendra-kushavah
					jitendra-kushavah