RF-Sim-Test-4G - modify xml files, use iperf3, add svr id
This commit is contained in:
@@ -339,6 +339,18 @@ rfsim4g_enb_nos1:
|
||||
CmdPrefix: docker exec rfsim4g-oai-enb
|
||||
IF: oaitun_enb1
|
||||
|
||||
rfsim4g_enb_fembms:
|
||||
Host: localhost
|
||||
NetworkScript: docker exec rfsim4g-oai-enb ip a show dev oaitun_enm1
|
||||
CmdPrefix: docker exec rfsim4g-oai-enb
|
||||
IF: oaitun_enm1
|
||||
|
||||
rfsim4g_ue_fembms:
|
||||
Host: localhost
|
||||
NetworkScript: docker exec rfsim4g-oai-lte-ue0 ip a show dev oaitun_uem1
|
||||
CmdPrefix: docker exec rfsim4g-oai-lte-ue0
|
||||
IF: oaitun_uem1
|
||||
|
||||
l2sim5g_ue:
|
||||
Host: localhost
|
||||
AttachScript: docker start l2sim-oai-nr-ue0
|
||||
|
||||
@@ -189,6 +189,52 @@ def Iperf_analyzeV3UDP(filename, iperf_bitrate_threshold, iperf_packetloss_thres
|
||||
else:
|
||||
return (False, 'Could not analyze iperf report')
|
||||
|
||||
def Iperf_analyzeV2UDP(server_filename, iperf_bitrate_threshold, iperf_packetloss_threshold, iperf_opt):
|
||||
if (not os.path.isfile(server_filename)):
|
||||
return (False, 'Could not analyze, server report not found!')
|
||||
# Computing the requested bandwidth in float
|
||||
req_bw = 1.0 # default iperf throughput, in Mbps
|
||||
result = re.search('-b *(?P<iperf_bandwidth>[0-9\.]+)(?P<magnitude>[kKMG])', iperf_opt)
|
||||
if result is not None:
|
||||
req_bw = float(result.group('iperf_bandwidth'))
|
||||
magn = result.group('magnitude')
|
||||
if magn == "k" or magn == "K":
|
||||
req_bw /= 1000
|
||||
elif magn == "G":
|
||||
req_bw *= 1000
|
||||
statusTemplate = '(?:|\[ *\d+\].*) +0\.0-\s*(?P<duration>[0-9\.]+) +sec +[0-9\.]+ [kKMG]Bytes +(?P<bitrate>[0-9\.]+) (?P<magnitude>[kKMG])bits\/sec +(?P<jitter>[0-9\.]+) ms +(\d+\/ *\d+) +(\((?P<packetloss>[0-9\.]+)%\))'
|
||||
|
||||
with open(server_filename, 'r') as server_file:
|
||||
for line in server_file.readlines():
|
||||
res = re.search(statusTemplate, str(line))
|
||||
if res is not None:
|
||||
result = res
|
||||
if result is None:
|
||||
return (False, 'Could not parse server report!')
|
||||
|
||||
bitrate = float(result.group('bitrate'))
|
||||
magn = result.group('magnitude')
|
||||
if magn == "k" or magn == "K":
|
||||
bitrate /= 1000
|
||||
elif magn == "G": # we assume bitrate in Mbps, therefore it must be G now
|
||||
bitrate *= 1000
|
||||
jitter = float(result.group('jitter'))
|
||||
packetloss = float(result.group('packetloss'))
|
||||
br_perf = float(bitrate)/float(req_bw) * 100
|
||||
br_perf = '%.2f ' % br_perf
|
||||
|
||||
result = float(br_perf) >= float(iperf_bitrate_threshold) and float(packetloss) <= float(iperf_packetloss_threshold)
|
||||
req_msg = f'Req Bitrate : {req_bw}'
|
||||
bir_msg = f'Bitrate : {bitrate}'
|
||||
brl_msg = f'Bitrate Perf: {br_perf} %'
|
||||
if float(br_perf) < float(iperf_bitrate_threshold):
|
||||
brl_msg += f' (too low! <{iperf_bitrate_threshold}%)'
|
||||
jit_msg = f'Jitter : {jitter}'
|
||||
pal_msg = f'Packet Loss : {packetloss}'
|
||||
if float(packetloss) > float(iperf_packetloss_threshold):
|
||||
pal_msg += f' (too high! >{self.iperf_packetloss_threshold}%)'
|
||||
return (result, f'{req_msg}\n{bir_msg}\n{brl_msg}\n{jit_msg}\n{pal_msg}')
|
||||
|
||||
#-----------------------------------------------------------
|
||||
# OaiCiTest Class Definition
|
||||
#-----------------------------------------------------------
|
||||
@@ -750,6 +796,10 @@ class OaiCiTest():
|
||||
udpIperf = re.search('-u', iperf_opt) is not None
|
||||
bidirIperf = re.search('--bidir', iperf_opt) is not None
|
||||
client_filename = f'iperf_client_{self.testCase_id}_{ue.getName()}.log'
|
||||
server_filename = f'iperf_server_{self.testCase_id}_{ue.getName()}.log'
|
||||
ymlPath = CONTAINERS.yamlPath[0].split('/')
|
||||
logPath = f'../cmake_targets/log/{ymlPath[1]}'
|
||||
|
||||
if udpIperf:
|
||||
iperf_opt = Iperf_ComputeModifiedBW(idx, ue_num, self.iperf_profile, self.iperf_args)
|
||||
# note: for UDP testing we don't want to use json report - reports 0 Mbps received bitrate
|
||||
|
||||
@@ -110,22 +110,24 @@
|
||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="030011">
|
||||
<class>IperfFromContainer</class>
|
||||
<desc>Iperf UDP Downlink</desc>
|
||||
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name>
|
||||
<client_container_name>rfsim4g-trf-gen</client_container_name>
|
||||
<server_options>-B 12.0.0.2 -u -i 1 -s</server_options>
|
||||
<client_options>-c 12.0.0.2 -u -i 1 -t 30 -b 2M</client_options>
|
||||
<testCase id="030012">
|
||||
<class>Iperf</class>
|
||||
<desc>Iperf UDP DL</desc>
|
||||
<id>rfsim4g_ue</id>
|
||||
<svr_id>rfsim4g_ext_dn</svr_id>
|
||||
<iperf_args>-u -t 30 -b 2M -R</iperf_args>
|
||||
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="030012">
|
||||
<class>IperfFromContainer</class>
|
||||
<desc>Iperf UDP Uplink</desc>
|
||||
<server_container_name>rfsim4g-trf-gen</server_container_name>
|
||||
<client_container_name>rfsim4g-oai-lte-ue0</client_container_name>
|
||||
<server_options>-u -i 1 -s</server_options>
|
||||
<client_options>-B 12.0.0.2 -c 192.168.61.11 -u -i 1 -t 30 -b 1M</client_options>
|
||||
<testCase id="030011">
|
||||
<class>Iperf</class>
|
||||
<desc>Iperf UDP UL</desc>
|
||||
<id>rfsim4g_ue</id>
|
||||
<svr_id>rfsim4g_ext_dn</svr_id>
|
||||
<iperf_args>-u -t 30 -b 1M</iperf_args>
|
||||
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100011">
|
||||
|
||||
@@ -91,21 +91,23 @@
|
||||
</testCase>
|
||||
|
||||
<testCase id="030011">
|
||||
<class>IperfFromContainer</class>
|
||||
<desc>Iperf UDP Downlink</desc>
|
||||
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name>
|
||||
<client_container_name>rfsim4g-oai-enb</client_container_name>
|
||||
<server_options>-B 10.0.1.2 -u -i 1 -s</server_options>
|
||||
<client_options>-B 10.0.1.1 -c 10.0.1.2 -u -i 1 -t 30 -b 2M</client_options>
|
||||
<class>Iperf</class>
|
||||
<desc>Iperf UDP DL</desc>
|
||||
<id>rfsim4g_ue</id>
|
||||
<svr_id>rfsim4g_enb_nos1</svr_id>
|
||||
<iperf_args>-u -t 30 -b 2M -R</iperf_args>
|
||||
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="030012">
|
||||
<class>IperfFromContainer</class>
|
||||
<desc>Iperf UDP Uplink</desc>
|
||||
<server_container_name>rfsim4g-oai-enb</server_container_name>
|
||||
<client_container_name>rfsim4g-oai-lte-ue0</client_container_name>
|
||||
<server_options>-B 10.0.1.1 -u -i 1 -s</server_options>
|
||||
<client_options>-B 10.0.1.2 -c 10.0.1.1 -u -i 1 -t 30 -b 1M</client_options>
|
||||
<class>Iperf</class>
|
||||
<desc>Iperf UDP UL</desc>
|
||||
<id>rfsim4g_ue</id>
|
||||
<svr_id>rfsim4g_enb_nos1</svr_id>
|
||||
<iperf_args>-u -t 30 -b 1M</iperf_args>
|
||||
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100011">
|
||||
|
||||
@@ -111,21 +111,23 @@
|
||||
</testCase>
|
||||
|
||||
<testCase id="030011">
|
||||
<class>IperfFromContainer</class>
|
||||
<desc>Iperf UDP Downlink</desc>
|
||||
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name>
|
||||
<client_container_name>rfsim4g-trf-gen</client_container_name>
|
||||
<server_options>-B 12.0.0.2 -u -i 1 -s</server_options>
|
||||
<client_options>-c 12.0.0.2 -u -i 1 -t 30 -b 2M</client_options>
|
||||
<class>Iperf</class>
|
||||
<desc>Iperf UDP DL</desc>
|
||||
<id>rfsim4g_ue</id>
|
||||
<svr_id>rfsim4g_ext_dn</svr_id>
|
||||
<iperf_args>-u -t 30 -b 2M -R</iperf_args>
|
||||
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="030012">
|
||||
<class>IperfFromContainer</class>
|
||||
<desc>Iperf UDP Uplink</desc>
|
||||
<server_container_name>rfsim4g-trf-gen</server_container_name>
|
||||
<client_container_name>rfsim4g-oai-lte-ue0</client_container_name>
|
||||
<server_options>-u -i 1 -s</server_options>
|
||||
<client_options>-B 12.0.0.2 -c 192.168.61.11 -u -i 1 -t 30 -b 1M</client_options>
|
||||
<class>Iperf</class>
|
||||
<desc>Iperf UDP UL</desc>
|
||||
<id>rfsim4g_ue</id>
|
||||
<svr_id>rfsim4g_ext_dn</svr_id>
|
||||
<iperf_args>-u -t 30 -b 1M</iperf_args>
|
||||
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100011">
|
||||
|
||||
@@ -111,21 +111,23 @@
|
||||
</testCase>
|
||||
|
||||
<testCase id="030011">
|
||||
<class>IperfFromContainer</class>
|
||||
<desc>Iperf UDP Downlink</desc>
|
||||
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name>
|
||||
<client_container_name>rfsim4g-trf-gen</client_container_name>
|
||||
<server_options>-B 12.0.0.2 -u -i 1 -s</server_options>
|
||||
<client_options>-c 12.0.0.2 -u -i 1 -t 30 -b 2M</client_options>
|
||||
<class>Iperf</class>
|
||||
<desc>Iperf UDP DL</desc>
|
||||
<id>rfsim4g_ue</id>
|
||||
<svr_id>rfsim4g_ext_dn</svr_id>
|
||||
<iperf_args>-u -t 30 -b 2M -R</iperf_args>
|
||||
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="030012">
|
||||
<class>IperfFromContainer</class>
|
||||
<desc>Iperf UDP Uplink</desc>
|
||||
<server_container_name>rfsim4g-trf-gen</server_container_name>
|
||||
<client_container_name>rfsim4g-oai-lte-ue0</client_container_name>
|
||||
<server_options>-u -i 1 -s</server_options>
|
||||
<client_options>-B 12.0.0.2 -c 192.168.61.11 -u -i 1 -t 30 -b 1M</client_options>
|
||||
<class>Iperf</class>
|
||||
<desc>Iperf UDP UL</desc>
|
||||
<id>rfsim4g_ue</id>
|
||||
<svr_id>rfsim4g_ext_dn</svr_id>
|
||||
<iperf_args>-u -t 30 -b 1M</iperf_args>
|
||||
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100011">
|
||||
|
||||
@@ -72,12 +72,13 @@
|
||||
</testCase>
|
||||
|
||||
<testCase id="030011">
|
||||
<class>IperfFromContainer</class>
|
||||
<desc>Push MBMS traffic</desc>
|
||||
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name>
|
||||
<client_container_name>rfsim4g-oai-enb</client_container_name>
|
||||
<server_options>-sui1 -B 10.0.2.2</server_options>
|
||||
<client_options>-uc 10.0.2.2 -i1 -t10 -b2M -B10.0.2.1</client_options>
|
||||
<class>Iperf</class>
|
||||
<desc>Iperf UDP DL</desc>
|
||||
<id>rfsim4g_ue_fembms</id>
|
||||
<svr_id>rfsim4g_enb_fembms</svr_id>
|
||||
<iperf_args>-u -t 30 -b 2M</iperf_args>
|
||||
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100011">
|
||||
|
||||
@@ -72,12 +72,13 @@
|
||||
</testCase>
|
||||
|
||||
<testCase id="030011">
|
||||
<class>IperfFromContainer</class>
|
||||
<desc>Push MBMS traffic</desc>
|
||||
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name>
|
||||
<client_container_name>rfsim4g-oai-enb</client_container_name>
|
||||
<server_options>-sui1 -B 10.0.2.2</server_options>
|
||||
<client_options>-uc 10.0.2.2 -i1 -t10 -b2M -B10.0.2.1</client_options>
|
||||
<class>Iperf</class>
|
||||
<desc>Iperf UDP DL</desc>
|
||||
<id>rfsim4g_ue</id>
|
||||
<svr_id>rfsim4g_enb_nos1</svr_id>
|
||||
<iperf_args>-u -t 30 -b 2M -R</iperf_args>
|
||||
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100011">
|
||||
|
||||
@@ -112,21 +112,23 @@
|
||||
</testCase>
|
||||
|
||||
<testCase id="030011">
|
||||
<class>IperfFromContainer</class>
|
||||
<desc>Iperf UDP Downlink</desc>
|
||||
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name>
|
||||
<client_container_name>rfsim4g-trf-gen</client_container_name>
|
||||
<server_options>-B 12.0.0.2 -u -i 1 -s</server_options>
|
||||
<client_options>-c 12.0.0.2 -u -i 1 -t 30 -b 2M</client_options>
|
||||
<class>Iperf</class>
|
||||
<desc>Iperf UDP DL</desc>
|
||||
<id>rfsim4g_ue</id>
|
||||
<svr_id>rfsim4g_ext_dn</svr_id>
|
||||
<iperf_args>-u -t 30 -b 2M -R</iperf_args>
|
||||
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="030012">
|
||||
<class>IperfFromContainer</class>
|
||||
<desc>Iperf UDP Uplink</desc>
|
||||
<server_container_name>rfsim4g-trf-gen</server_container_name>
|
||||
<client_container_name>rfsim4g-oai-lte-ue0</client_container_name>
|
||||
<server_options>-u -i 1 -s</server_options>
|
||||
<client_options>-B 12.0.0.2 -c 192.168.61.11 -u -i 1 -t 30 -b 1M</client_options>
|
||||
<class>Iperf</class>
|
||||
<desc>Iperf UDP UL</desc>
|
||||
<id>rfsim4g_ue</id>
|
||||
<svr_id>rfsim4g_ext_dn</svr_id>
|
||||
<iperf_args>-u -t 30 -b 1M</iperf_args>
|
||||
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
|
||||
</testCase>
|
||||
|
||||
<testCase id="100011">
|
||||
|
||||
Reference in New Issue
Block a user