One Interface support to work with

inconsistent list construction between single and multiple elements
decided around May 23, 2018
Updates for probe with AX210 , AX200 wiphy

Signed-off-by: Chuck SmileyRekiere <chuck.smileyrekiere@candelatech.com>
This commit is contained in:
Chuck SmileyRekiere
2021-11-12 17:02:13 -07:00
parent 7ff62b9fd6
commit 1aa792930a
3 changed files with 41 additions and 12 deletions

View File

@@ -231,8 +231,8 @@ class L3CXProfile(LFCliBase):
result = dict() # create dataframe from layer 3 results result = dict() # create dataframe from layer 3 results
if type(layer_3_response) is dict: if type(layer_3_response) is dict:
for dictionary in layer_3_response['endpoint']: for dictionary in layer_3_response['endpoint']:
if debug: # if debug:
print('layer_3_data: %s' % dictionary) print('layer_3_data: %s' % dictionary)
result.update(dictionary) result.update(dictionary)
else: else:
pass pass
@@ -242,11 +242,25 @@ class L3CXProfile(LFCliBase):
if port_mgr_cols is not None: # create dataframe from port mgr results if port_mgr_cols is not None: # create dataframe from port mgr results
result = dict() result = dict()
if type(port_mgr_response) is dict: if type(port_mgr_response) is dict:
for dictionary in port_mgr_response['interfaces']: print("port_mgr_response {pmr}".format(pmr=port_mgr_response))
if 'interfaces' in port_mgr_response:
for dictionary in port_mgr_response['interfaces']:
if debug:
print('port mgr data: %s' % dictionary)
result.update(dictionary)
elif 'interface' in port_mgr_response:
dict_update = {port_mgr_response['interface']['alias']: port_mgr_response['interface']}
if debug: if debug:
print('port mgr data: %s' % dictionary) print(dict_update)
result.update(dictionary) result.update(dict_update)
if debug:
print(result)
else:
print('interfaces and interface not in port_mgr_response')
exit(1)
portdata_df = pd.DataFrame(result.values()) portdata_df = pd.DataFrame(result.values())
print("portdata_df {pd}".format(pd=portdata_df))
portdata_df.columns = ['port-' + x for x in portdata_df.columns] portdata_df.columns = ['port-' + x for x in portdata_df.columns]
portdata_df['alias'] = portdata_df['port-alias'] portdata_df['alias'] = portdata_df['port-alias']
@@ -279,7 +293,6 @@ class L3CXProfile(LFCliBase):
probe_results['Signal per Chain'] = probe_port.getSignalPerChain() probe_results['Signal per Chain'] = probe_port.getSignalPerChain()
probe_results['Beacon Avg Signal'] = probe_port.getBeaconSignalAvg() probe_results['Beacon Avg Signal'] = probe_port.getBeaconSignalAvg()
# probe_results['HE status'] = probe_port.he # probe_results['HE status'] = probe_port.he
probe_results['TX Bitrate'] = probe_port.tx_bitrate probe_results['TX Bitrate'] = probe_port.tx_bitrate
probe_results['TX Mbps'] = probe_port.tx_mbit probe_results['TX Mbps'] = probe_port.tx_mbit
probe_results['TX MCS ACTUAL'] = probe_port.tx_mcs probe_results['TX MCS ACTUAL'] = probe_port.tx_mcs

View File

@@ -328,6 +328,10 @@ def main():
description='''\ description='''\
test_ip_variable_time.py: test_ip_variable_time.py:
-------------------- --------------------
Report:
The report will be in /home/lanforge/report-data/<timestamp>_test_ip_variable_time .
if the directory it not present it "should" place it in the local directory from where the script was run.
Generic command layout: Generic command layout:
python3 ./test_ip_variable_time.py python3 ./test_ip_variable_time.py
@@ -521,6 +525,13 @@ python3 ./test_ip_variable_time.py
'wifi retries' 'wifi retries'
Can't decide what columns to use? You can just use 'all' to select all available columns from both tables. Can't decide what columns to use? You can just use 'all' to select all available columns from both tables.
Example command:
./test_ip_variable_time.py --mgr 192.168.100.116 --radio wiphy1 --ssid asus11ax-5 --passwd hello123 --security wpa2
--test_duration 60s --output_format csv --traffic_type lf_tcp --a_min 600000000 --b_min 600000000
--upstream_port eth2 --mode "5" --layer3_cols 'name','tx rate','rx rate' --port_mgr_cols 'alias','channel','activity','mode'
--num_stations 1
''') ''')
parser.add_argument('--mode', help='Used to force mode of stations') parser.add_argument('--mode', help='Used to force mode of stations')

View File

@@ -21,21 +21,26 @@
"test_ip_variable_time0-ipv4":{ "test_ip_variable_time0-ipv4":{
"enabled":"TRUE", "enabled":"TRUE",
"command":"test_ip_variable_time.py", "command":"test_ip_variable_time.py",
"timeout":"360",
"args":"", "args":"",
"args_list":[ "args_list":[
" --mgr LF_MGR_IP --radio wiphy1 --ssid SSID_USED --passwd SSID_PW_USED", " --mgr LF_MGR_IP ",
" --security SECURITY_USED --test_duration 60s --output_format excel ", " use_ssid_idx=1 --radio wiphy4 --ssid SSID_USED --passwd SSID_PW_USED --security SECURITY_USED",
" --test_duration 60s --output_format csv ",
" --traffic_type lf_tcp --a_min 600000000 --b_min 600000000 --upstream_port eth2", " --traffic_type lf_tcp --a_min 600000000 --b_min 600000000 --upstream_port eth2",
" --mode '5' --layer3_cols 'name','tx rate','rx rate' ", " --mode '5' --layer3_cols 'name','tx rate','rx rate' ",
" --port_mgr_cols 'alias','channel','activity','mode'"] " --port_mgr_cols 'alias','channel','activity','mode'",
" --num_stations 1"]
}, },
"test_ip_variable_time1-ipv4":{ "test_ip_variable_time1-ipv4":{
"enabled":"TRUE", "enabled":"FALSE",
"timeout":"360",
"command":"test_ip_variable_time.py", "command":"test_ip_variable_time.py",
"args":"", "args":"",
"args_list":[ "args_list":[
" --mgr LF_MGR_IP --radio wiphy1 --ssid SSID_USED --passwd SSID_PW_USED", " --mgr LF_MGR_IP",
" --security SECURITY_USED --test_duration 60s --output_format excel ", " use_ssid_idx=1 --radio wiphy1 --ssid SSID_USED --passwd SSID_PW_USED --security SECURITY_USED",
" --test_duration 60s --output_format csv ",
" --traffic_type lf_tcp --a_min 600000000 --b_min 600000000 --upstream_port eth2", " --traffic_type lf_tcp --a_min 600000000 --b_min 600000000 --upstream_port eth2",
" --mode '5' --layer3_cols 'name','tx rate','rx rate' ", " --mode '5' --layer3_cols 'name','tx rate','rx rate' ",
" --port_mgr_cols 'alias','channel','activity','mode'" " --port_mgr_cols 'alias','channel','activity','mode'"