Commit 1cae1879 authored by Robert Schmidt's avatar Robert Schmidt

Merge branch 'integration_2024_w13' into 'develop'

Integration `2024.w13`

Closes #696 and #762

See merge request oai/openairinterface5g!2653

* !1911 Preparatory work for NR DL 4-layer MIMO at gNB
* !2610 fix ug on pilot 2 in nr_pbch_dmrs_correlation() that is lacking signal...
* !2639 NR gNB PUCCH2 CQI workaround
* !2642 NR UE demoting to LOG_D another log that cause flooding
* !2644 NR UE prevent segfault at detach
* !2645 add error code for pdu session reject in the ue
* !2600 Handle Msg3 with SRB1 RRCReestablishmentComplete and MAC CE C-RNTI
* trigger RF-sim E1+F1 test without asan
* !2636 Fix various F1 problems
* !2641 NR DL and UL channel estimation fix
* !2652 Provide additional troubleshooting documentation for QtScope
* !2646 NRUE fix asn_sequence_del to clear a list
* !2504 CI: use iperf3, refactor Iperf_Module
* !2617 use UE ID instead of RNTI internally in NR RLC
* !2619 Minor PDCP fixes
* !2648 Minor CI fixes, stack protection, fix E1+F1 Quectel test, L2sim5G test
parents 883724b9 acd94f9d
...@@ -308,29 +308,6 @@ pipeline { ...@@ -308,29 +308,6 @@ pipeline {
} }
} }
} }
stage ("L2-Sim-Test-5G") {
when { expression {do5Gtest} }
steps {
script {
triggerSlaveJob ('RAN-L2-Sim-Test-5G', 'L2-Sim-Test-5G')
}
}
post {
always {
script {
// Using a unique variable name for each test stage to avoid overwriting on a global variable
// due to parallel-time concurrency
l2Sim5GStatus = finalizeSlaveJob('RAN-L2-Sim-Test-5G')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
failingStages += l2Sim5GStatus
}
}
}
}
stage ("LTE-B200-FDD-LTEBOX-Container") { stage ("LTE-B200-FDD-LTEBOX-Container") {
when { expression {do4Gtest} } when { expression {do4Gtest} }
steps { steps {
......
...@@ -56,6 +56,39 @@ adb_ue_2: ...@@ -56,6 +56,39 @@ adb_ue_2:
MTU: 1500 MTU: 1500
LogStore: /media/usb-drive/ci_adb_2-logs LogStore: /media/usb-drive/ci_adb_2-logs
oc-cn5g:
Host: avra
NetworkScript: echo "inet 172.21.6.102"
RunIperf3Server: False
porcepix-cn4g:
Host: porcepix
NetworkScript: docker exec prod-trf-gen ip a show dev eth0
CmdPrefix: docker exec prod-trf-gen
porcepix-cn5g:
Host: porcepix
NetworkScript: docker exec prod-trf-gen ip a show dev eth0
CmdPrefix: docker exec prod-trf-gen
RunIperf3Server: False
nano-cn4g:
Host: nano
NetworkScript: docker exec prod-trf-gen ip a show dev eth0
CmdPrefix: docker exec prod-trf-gen
ltebox-nano:
Host: nano
NetworkScript: ip a show dev tun1
sabox-nepes:
Host: nepes
NetworkScript: ip a show dev tun1
ltebox-nepes:
Host: nepes
NetworkScript: ip a show dev tun1
amarisoft_ue: amarisoft_ue:
Host: amariue Host: amariue
InitScript: /root/lteue-linux-2023-10-27/ue/lteue /root/oaicicd/ran_sa_aw2s_asue_2x2/aw2s-multi-20897-2x2.cfg & InitScript: /root/lteue-linux-2023-10-27/ue/lteue /root/oaicicd/ran_sa_aw2s_asue_2x2/aw2s-multi-20897-2x2.cfg &
...@@ -306,6 +339,18 @@ rfsim4g_enb_nos1: ...@@ -306,6 +339,18 @@ rfsim4g_enb_nos1:
CmdPrefix: docker exec rfsim4g-oai-enb CmdPrefix: docker exec rfsim4g-oai-enb
IF: oaitun_enb1 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: l2sim5g_ue:
Host: localhost Host: localhost
AttachScript: docker start l2sim-oai-nr-ue0 AttachScript: docker start l2sim-oai-nr-ue0
......
...@@ -31,7 +31,8 @@ import subprocess as sp ...@@ -31,7 +31,8 @@ import subprocess as sp
import os import os
import paramiko import paramiko
import uuid import uuid
import sys import sys
import time
SSHTIMEOUT=7 SSHTIMEOUT=7
...@@ -106,6 +107,7 @@ class LocalCmd(Cmd): ...@@ -106,6 +107,7 @@ class LocalCmd(Cmd):
# if we wait for stdout, subprocess does not return before the end of the command # if we wait for stdout, subprocess does not return before the end of the command
# however, we don't want to wait for commands with &, so just return fake command # however, we don't want to wait for commands with &, so just return fake command
ret = sp.run(line, shell=True, cwd=self.cwd, timeout=5) ret = sp.run(line, shell=True, cwd=self.cwd, timeout=5)
time.sleep(0.1)
else: else:
ret = sp.run(line, shell=True, cwd=self.cwd, stdout=sp.PIPE, stderr=sp.STDOUT, timeout=timeout) ret = sp.run(line, shell=True, cwd=self.cwd, stdout=sp.PIPE, stderr=sp.STDOUT, timeout=timeout)
except Exception as e: except Exception as e:
...@@ -210,6 +212,7 @@ class RemoteCmd(Cmd): ...@@ -210,6 +212,7 @@ class RemoteCmd(Cmd):
# however, we don't want to wait for commands with &, so just return fake command # however, we don't want to wait for commands with &, so just return fake command
self.client.exec_command(line, timeout = 5) self.client.exec_command(line, timeout = 5)
ret = sp.CompletedProcess(args=line, returncode=0, stdout=b'') ret = sp.CompletedProcess(args=line, returncode=0, stdout=b'')
time.sleep(0.1)
else: else:
stdin, stdout, stderr = self.client.exec_command(line, timeout=timeout) stdin, stdout, stderr = self.client.exec_command(line, timeout=timeout)
ret = sp.CompletedProcess(args=line, returncode=stdout.channel.recv_exit_status(), stdout=stdout.read(size=None) + stderr.read(size=None)) ret = sp.CompletedProcess(args=line, returncode=stdout.channel.recv_exit_status(), stdout=stdout.read(size=None) + stderr.read(size=None))
......
...@@ -169,97 +169,6 @@ def AnalyzeBuildLogs(buildRoot, images, globalStatus): ...@@ -169,97 +169,6 @@ def AnalyzeBuildLogs(buildRoot, images, globalStatus):
collectInfo[image] = files collectInfo[image] = files
return collectInfo return collectInfo
def AnalyzeIperf(cliOptions, clientReport, serverReport):
req_bw = 1.0 # default iperf throughput, in Mbps
result = re.search('-b *(?P<iperf_bandwidth>[0-9\.]+)(?P<magnitude>[kKMG])', cliOptions)
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
req_dur = 10 # default iperf send duration
result = re.search('-t *(?P<duration>[0-9]+)', cliOptions)
if result is not None:
req_dur = int(result.group('duration'))
reportLine = None
# find server report in client status
clientReportLines = clientReport.split('\n')
for l in range(len(clientReportLines)):
res = re.search('read failed: Connection refused', clientReportLines[l])
if res is not None:
message = 'iperf connection refused by server!'
logging.error(f'\u001B[1;37;41mIperf Test FAIL: {message}\u001B[0m')
return (False, message)
res = re.search('Server Report:', clientReportLines[l])
if res is not None and l + 1 < len(clientReportLines):
reportLine = clientReportLines[l+1]
logging.debug(f'found server report: "{reportLine}"')
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\.]+)%\))'
# if we do not find a server report in the client logs, check the server logs
# and use the last line which is typically close/identical to server report
if reportLine is None:
for l in serverReport.split('\n'):
res = re.search(statusTemplate, l)
if res is not None:
reportLine = l
if reportLine is None:
logging.warning('no report in server status found!')
return (False, 'could not parse iperf logs')
logging.debug(f'found client status: {reportLine}')
result = re.search(statusTemplate, reportLine)
if result is None:
logging.error('could not analyze report from statusTemplate')
return (False, 'could not parse iperf logs')
duration = float(result.group('duration'))
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'))
logging.debug('\u001B[1;37;44m iperf result \u001B[0m')
msg = f'Req Bitrate: {req_bw}'
logging.debug(f'\u001B[1;34m{msg}\u001B[0m')
br_loss = bitrate/req_bw
bmsg = f'Bitrate : {bitrate} (perf {br_loss})'
logging.debug(f'\u001B[1;34m{bmsg}\u001B[0m')
msg += '\n' + bmsg
if br_loss < 0.9:
msg += '\nBitrate performance too low (<90%)'
logging.debug(f'\u001B[1;37;41mBitrate performance too low (<90%)\u001B[0m')
return (False, msg)
plmsg = f'Packet Loss: {packetloss}%'
logging.debug(f'\u001B[1;34m{plmsg}\u001B[0m')
msg += '\n' + plmsg
if packetloss > 5.0:
msg += '\nPacket Loss too high!'
logging.debug(f'\u001B[1;37;41mPacket Loss too high \u001B[0m')
return (False, msg)
dmsg = f'Duration : {duration} (req {req_dur})'
logging.debug(f'\u001B[1;34m{dmsg}\u001B[0m')
msg += '\n' + dmsg
if duration < float(req_dur):
msg += '\nDuration of iperf too short!'
logging.debug(f'\u001B[1;37;41mDuration of iperf too short\u001B[0m')
return (False, msg)
jmsg = f'Jitter : {jitter}'
logging.debug(f'\u001B[1;34m{jmsg}\u001B[0m')
msg += '\n' + jmsg
return (True, msg)
#----------------------------------------------------------- #-----------------------------------------------------------
# Class Declaration # Class Declaration
#----------------------------------------------------------- #-----------------------------------------------------------
...@@ -1026,7 +935,6 @@ class Containerize(): ...@@ -1026,7 +935,6 @@ class Containerize():
cnt = 100 cnt = 100
status = True status = True
logging.info('\u001B[1m Deploying OAI object Pass\u001B[0m') logging.info('\u001B[1m Deploying OAI object Pass\u001B[0m')
time.sleep(10)
else: else:
# containers are unhealthy, so we won't start. However, logs are stored at the end # containers are unhealthy, so we won't start. However, logs are stored at the end
# in UndeployObject so we here store the logs of the unhealthy container to report it # in UndeployObject so we here store the logs of the unhealthy container to report it
...@@ -1467,76 +1375,6 @@ class Containerize(): ...@@ -1467,76 +1375,6 @@ class Containerize():
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', [message]) HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', [message])
def PingExit(self, HTML, RAN, UE, status, message):
if status:
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', [message])
else:
logging.error('\u001B[1;37;41m ping test FAIL -- ' + message + ' \u001B[0m')
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'KO', [message])
# Automatic undeployment
logging.warning('----------------------------------------')
logging.warning('\u001B[1m Starting Automatic undeployment \u001B[0m')
logging.warning('----------------------------------------')
HTML.testCase_id = 'AUTO-UNDEPLOY'
HTML.desc = 'Automatic Un-Deployment'
self.UndeployGenObject(HTML, RAN, UE)
self.exitStatus = 1
def IperfFromContainer(self, HTML, RAN, UE):
myCmd = cls_cmd.LocalCmd()
self.exitStatus = 0
ymlPath = self.yamlPath[0].split('/')
logPath = '../cmake_targets/log/' + ymlPath[1]
cmd = f'mkdir -p {logPath}'
myCmd.run(cmd, silent=True)
# Start the server process
cmd = f'docker exec -d {self.svrContName} /bin/bash -c "nohup iperf {self.svrOptions} > /tmp/iperf_server.log 2>&1"'
myCmd.run(cmd)
time.sleep(3)
# Start the client process
cmd = f'docker exec {self.cliContName} /bin/bash -c "iperf {self.cliOptions}" 2>&1 | tee {logPath}/iperf_client_{HTML.testCase_id}.log'
clientStatus = myCmd.run(cmd, timeout=100)
# Stop the server process
cmd = f'docker exec {self.svrContName} /bin/bash -c "pkill iperf"'
myCmd.run(cmd)
time.sleep(3)
serverStatusFilename = f'{logPath}/iperf_server_{HTML.testCase_id}.log'
cmd = f'docker cp {self.svrContName}:/tmp/iperf_server.log {serverStatusFilename}'
myCmd.run(cmd, timeout=60)
myCmd.close()
# clientStatus was retrieved above. The serverStatus was
# written in the background, then copied to the local machine
with open(serverStatusFilename, 'r') as f:
serverStatus = f.read()
(iperfStatus, msg) = AnalyzeIperf(self.cliOptions, clientStatus.stdout, serverStatus)
if iperfStatus:
logging.info('\u001B[1m Iperf Test PASS\u001B[0m')
else:
logging.error('\u001B[1;37;41m Iperf Test FAIL\u001B[0m')
self.IperfExit(HTML, RAN, UE, iperfStatus, msg)
def IperfExit(self, HTML, RAN, UE, status, message):
html_cell = f'UE\n{message}'
if status:
HTML.CreateHtmlTestRowQueue(self.cliOptions, 'OK', [html_cell])
else:
logging.error('\u001B[1m Iperf Test FAIL -- ' + message + ' \u001B[0m')
HTML.CreateHtmlTestRowQueue(self.cliOptions, 'KO', [html_cell])
# Automatic undeployment
logging.warning('----------------------------------------')
logging.warning('\u001B[1m Starting Automatic undeployment \u001B[0m')
logging.warning('----------------------------------------')
HTML.testCase_id = 'AUTO-UNDEPLOY'
HTML.desc = 'Automatic Un-Deployment'
self.UndeployGenObject(HTML, RAN, UE)
self.exitStatus = 1
def CheckAndAddRoute(self, svrName, ipAddr, userName, password): def CheckAndAddRoute(self, svrName, ipAddr, userName, password):
logging.debug('Checking IP routing on ' + svrName) logging.debug('Checking IP routing on ' + svrName)
mySSH = SSH.SSHConnection() mySSH = SSH.SSHConnection()
......
...@@ -41,7 +41,7 @@ import cls_cmd ...@@ -41,7 +41,7 @@ import cls_cmd
class Module_UE: class Module_UE:
def __init__(self, module_name, filename="ci_ueinfra.yaml"): def __init__(self, module_name, filename="ci_infra.yaml"):
with open(filename, 'r') as f: with open(filename, 'r') as f:
all_ues = yaml.load(f, Loader=yaml.FullLoader) all_ues = yaml.load(f, Loader=yaml.FullLoader)
m = all_ues.get(module_name) m = all_ues.get(module_name)
...@@ -64,7 +64,8 @@ class Module_UE: ...@@ -64,7 +64,8 @@ class Module_UE:
self.trace = m.get('trace') == True self.trace = m.get('trace') == True
self.logStore = m.get('LogStore') self.logStore = m.get('LogStore')
self.cmd_prefix = m.get('CmdPrefix') self.cmd_prefix = m.get('CmdPrefix')
logging.info(f'initialized UE {self.module_name}@{self.host} from {filename}') self.runIperf3Server = m.get('RunIperf3Server', True)
logging.info(f'initialized {self.module_name}@{self.host} from {filename}')
def __str__(self): def __str__(self):
return f"{self.module_name}@{self.host} [IP: {self.getIP()}]" return f"{self.module_name}@{self.host} [IP: {self.getIP()}]"
...@@ -189,6 +190,9 @@ class Module_UE: ...@@ -189,6 +190,9 @@ class Module_UE:
def getHost(self): def getHost(self):
return self.host return self.host
def getRunIperf3Server(self):
return self.runIperf3Server
def getCmdPrefix(self): def getCmdPrefix(self):
return self.cmd_prefix if self.cmd_prefix else "" return self.cmd_prefix if self.cmd_prefix else ""
......
This diff is collapsed.
...@@ -186,7 +186,7 @@ L1s = ( ...@@ -186,7 +186,7 @@ L1s = (
num_cc = 1; num_cc = 1;
tr_n_preference = "local_mac"; tr_n_preference = "local_mac";
prach_dtx_threshold = 200; prach_dtx_threshold = 200;
pucch0_dtx_threshold = 150; pucch0_dtx_threshold = 100;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0 ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
} }
); );
......
...@@ -268,10 +268,11 @@ def GetParametersFromXML(action): ...@@ -268,10 +268,11 @@ def GetParametersFromXML(action):
elif action == 'Iperf': elif action == 'Iperf':
CiTestObj.iperf_args = test.findtext('iperf_args') CiTestObj.iperf_args = test.findtext('iperf_args')
CiTestObj.ue_ids = test.findtext('id').split(' ') CiTestObj.ue_ids = test.findtext('id').split(' ')
CiTestObj.iperf_direction = test.findtext('direction') CiTestObj.svr_id = test.findtext('svr_id') or None
CiTestObj.iperf_packetloss_threshold = test.findtext('iperf_packetloss_threshold') CiTestObj.iperf_packetloss_threshold = test.findtext('iperf_packetloss_threshold')
CiTestObj.iperf_bitrate_threshold = test.findtext('iperf_bitrate_threshold') or '90' CiTestObj.iperf_bitrate_threshold = test.findtext('iperf_bitrate_threshold') or '90'
CiTestObj.iperf_profile = test.findtext('iperf_profile') or 'balanced' CiTestObj.iperf_profile = test.findtext('iperf_profile') or 'balanced'
CiTestObj.iperf_tcp_rate_target = test.findtext('iperf_tcp_rate_target') or None
if CiTestObj.iperf_profile != 'balanced' and CiTestObj.iperf_profile != 'unbalanced' and CiTestObj.iperf_profile != 'single-ue': if CiTestObj.iperf_profile != 'balanced' and CiTestObj.iperf_profile != 'unbalanced' and CiTestObj.iperf_profile != 'single-ue':
logging.error(f'test-case has wrong profile {CiTestObj.iperf_profile}, forcing balanced') logging.error(f'test-case has wrong profile {CiTestObj.iperf_profile}, forcing balanced')
CiTestObj.iperf_profile = 'balanced' CiTestObj.iperf_profile = 'balanced'
...@@ -375,20 +376,6 @@ def GetParametersFromXML(action): ...@@ -375,20 +376,6 @@ def GetParametersFromXML(action):
if (string_field is not None): if (string_field is not None):
CONTAINERS.ran_checkers['u_retx_th'] = [float(x) for x in string_field.split(',')] CONTAINERS.ran_checkers['u_retx_th'] = [float(x) for x in string_field.split(',')]
elif action == 'IperfFromContainer':
string_field = test.findtext('server_container_name')
if (string_field is not None):
CONTAINERS.svrContName = string_field
string_field = test.findtext('server_options')
if (string_field is not None):
CONTAINERS.svrOptions = string_field
string_field = test.findtext('client_container_name')
if (string_field is not None):
CONTAINERS.cliContName = string_field
string_field = test.findtext('client_options')
if (string_field is not None):
CONTAINERS.cliOptions = string_field
elif action == 'Run_LDPCTest' or action == 'Run_NRulsimTest' or action == 'Run_LDPCt1Test': elif action == 'Run_LDPCTest' or action == 'Run_NRulsimTest' or action == 'Run_LDPCt1Test':
ldpc.runargs = test.findtext('physim_run_args') ldpc.runargs = test.findtext('physim_run_args')
......
...@@ -41,7 +41,6 @@ ...@@ -41,7 +41,6 @@
- Deploy_Run_PhySim - Deploy_Run_PhySim
- DeployGenObject - DeployGenObject
- UndeployGenObject - UndeployGenObject
- IperfFromContainer
- StatsFromGenObject - StatsFromGenObject
- LicenceAndFormattingCheck - LicenceAndFormattingCheck
- Push_Local_Registry - Push_Local_Registry
......
...@@ -105,21 +105,23 @@ ...@@ -105,21 +105,23 @@
</testCase> </testCase>
<testCase id="030011"> <testCase id="030011">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Downlink</desc> <desc>Iperf UDP Downlink</desc>
<server_container_name>l2sim4g-oai-lte-ue1</server_container_name> <id>l2sim4g_ue</id>
<client_container_name>l2sim4g-trf-gen</client_container_name> <svr_id>l2sim4g_ext_dn</svr_id>
<server_options>-B 12.0.0.2 -u -i 1 -s</server_options> <iperf_args>-u -t 30 -b 1M -R</iperf_args>
<client_options>-c 12.0.0.2 -u -i 1 -t 30 -b 1M</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="030012"> <testCase id="030012">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Uplink</desc> <desc>Iperf UDP Uplink</desc>
<server_container_name>l2sim4g-trf-gen</server_container_name> <id>l2sim4g_ue</id>
<client_container_name>l2sim4g-oai-lte-ue1</client_container_name> <svr_id>l2sim4g_ext_dn</svr_id>
<server_options>-u -i 1 -s</server_options> <iperf_args>-u -t 30 -b 3M</iperf_args>
<client_options>-B 12.0.0.2 -c 192.168.61.11 -u -i 1 -t 30 -b 3M</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100001"> <testCase id="100001">
......
...@@ -110,22 +110,24 @@ ...@@ -110,22 +110,24 @@
<ping_packetloss_threshold>5</ping_packetloss_threshold> <ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase> </testCase>
<testCase id="030011"> <testCase id="030012">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Downlink</desc> <desc>Iperf UDP DL</desc>
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name> <id>rfsim4g_ue</id>
<client_container_name>rfsim4g-trf-gen</client_container_name> <svr_id>rfsim4g_ext_dn</svr_id>
<server_options>-B 12.0.0.2 -u -i 1 -s</server_options> <iperf_args>-u -t 30 -b 2M -R</iperf_args>
<client_options>-c 12.0.0.2 -u -i 1 -t 30 -b 2M</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="030012"> <testCase id="030011">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Uplink</desc> <desc>Iperf UDP UL</desc>
<server_container_name>rfsim4g-trf-gen</server_container_name> <id>rfsim4g_ue</id>
<client_container_name>rfsim4g-oai-lte-ue0</client_container_name> <svr_id>rfsim4g_ext_dn</svr_id>
<server_options>-u -i 1 -s</server_options> <iperf_args>-u -t 30 -b 1M</iperf_args>
<client_options>-B 12.0.0.2 -c 192.168.61.11 -u -i 1 -t 30 -b 1M</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100011"> <testCase id="100011">
......
...@@ -91,21 +91,23 @@ ...@@ -91,21 +91,23 @@
</testCase> </testCase>
<testCase id="030011"> <testCase id="030011">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Downlink</desc> <desc>Iperf UDP DL</desc>
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name> <id>rfsim4g_ue</id>
<client_container_name>rfsim4g-oai-enb</client_container_name> <svr_id>rfsim4g_enb_nos1</svr_id>
<server_options>-B 10.0.1.2 -u -i 1 -s</server_options> <iperf_args>-u -t 30 -b 2M -R</iperf_args>
<client_options>-B 10.0.1.1 -c 10.0.1.2 -u -i 1 -t 30 -b 2M</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="030012"> <testCase id="030012">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Uplink</desc> <desc>Iperf UDP UL</desc>
<server_container_name>rfsim4g-oai-enb</server_container_name> <id>rfsim4g_ue</id>
<client_container_name>rfsim4g-oai-lte-ue0</client_container_name> <svr_id>rfsim4g_enb_nos1</svr_id>
<server_options>-B 10.0.1.1 -u -i 1 -s</server_options> <iperf_args>-u -t 30 -b 1M</iperf_args>
<client_options>-B 10.0.1.2 -c 10.0.1.1 -u -i 1 -t 30 -b 1M</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100011"> <testCase id="100011">
......
...@@ -111,21 +111,23 @@ ...@@ -111,21 +111,23 @@
</testCase> </testCase>
<testCase id="030011"> <testCase id="030011">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Downlink</desc> <desc>Iperf UDP DL</desc>
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name> <id>rfsim4g_ue</id>
<client_container_name>rfsim4g-trf-gen</client_container_name> <svr_id>rfsim4g_ext_dn</svr_id>
<server_options>-B 12.0.0.2 -u -i 1 -s</server_options> <iperf_args>-u -t 30 -b 2M -R</iperf_args>
<client_options>-c 12.0.0.2 -u -i 1 -t 30 -b 2M</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="030012"> <testCase id="030012">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Uplink</desc> <desc>Iperf UDP UL</desc>
<server_container_name>rfsim4g-trf-gen</server_container_name> <id>rfsim4g_ue</id>
<client_container_name>rfsim4g-oai-lte-ue0</client_container_name> <svr_id>rfsim4g_ext_dn</svr_id>
<server_options>-u -i 1 -s</server_options> <iperf_args>-u -t 30 -b 1M</iperf_args>
<client_options>-B 12.0.0.2 -c 192.168.61.11 -u -i 1 -t 30 -b 1M</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100011"> <testCase id="100011">
......
...@@ -111,21 +111,23 @@ ...@@ -111,21 +111,23 @@
</testCase> </testCase>
<testCase id="030011"> <testCase id="030011">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Downlink</desc> <desc>Iperf UDP DL</desc>
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name> <id>rfsim4g_ue</id>
<client_container_name>rfsim4g-trf-gen</client_container_name> <svr_id>rfsim4g_ext_dn</svr_id>
<server_options>-B 12.0.0.2 -u -i 1 -s</server_options> <iperf_args>-u -t 30 -b 2M -R</iperf_args>
<client_options>-c 12.0.0.2 -u -i 1 -t 30 -b 2M</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="030012"> <testCase id="030012">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Uplink</desc> <desc>Iperf UDP UL</desc>
<server_container_name>rfsim4g-trf-gen</server_container_name> <id>rfsim4g_ue</id>
<client_container_name>rfsim4g-oai-lte-ue0</client_container_name> <svr_id>rfsim4g_ext_dn</svr_id>
<server_options>-u -i 1 -s</server_options> <iperf_args>-u -t 30 -b 1M</iperf_args>
<client_options>-B 12.0.0.2 -c 192.168.61.11 -u -i 1 -t 30 -b 1M</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100011"> <testCase id="100011">
......
...@@ -72,12 +72,13 @@ ...@@ -72,12 +72,13 @@
</testCase> </testCase>
<testCase id="030011"> <testCase id="030011">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Push MBMS traffic</desc> <desc>Iperf UDP DL</desc>
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name> <id>rfsim4g_ue_fembms</id>
<client_container_name>rfsim4g-oai-enb</client_container_name> <svr_id>rfsim4g_enb_fembms</svr_id>
<server_options>-sui1 -B 10.0.2.2</server_options> <iperf_args>-u -t 30 -b 2M</iperf_args>
<client_options>-uc 10.0.2.2 -i1 -t10 -b2M -B10.0.2.1</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100011"> <testCase id="100011">
......
...@@ -72,12 +72,13 @@ ...@@ -72,12 +72,13 @@
</testCase> </testCase>
<testCase id="030011"> <testCase id="030011">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Push MBMS traffic</desc> <desc>Iperf UDP DL</desc>
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name> <id>rfsim4g_ue</id>
<client_container_name>rfsim4g-oai-enb</client_container_name> <svr_id>rfsim4g_enb_nos1</svr_id>
<server_options>-sui1 -B 10.0.2.2</server_options> <iperf_args>-u -t 30 -b 2M -R</iperf_args>
<client_options>-uc 10.0.2.2 -i1 -t10 -b2M -B10.0.2.1</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100011"> <testCase id="100011">
......
...@@ -112,21 +112,23 @@ ...@@ -112,21 +112,23 @@
</testCase> </testCase>
<testCase id="030011"> <testCase id="030011">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Downlink</desc> <desc>Iperf UDP DL</desc>
<server_container_name>rfsim4g-oai-lte-ue0</server_container_name> <id>rfsim4g_ue</id>
<client_container_name>rfsim4g-trf-gen</client_container_name> <svr_id>rfsim4g_ext_dn</svr_id>
<server_options>-B 12.0.0.2 -u -i 1 -s</server_options> <iperf_args>-u -t 30 -b 2M -R</iperf_args>
<client_options>-c 12.0.0.2 -u -i 1 -t 30 -b 2M</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="030012"> <testCase id="030012">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Uplink</desc> <desc>Iperf UDP UL</desc>
<server_container_name>rfsim4g-trf-gen</server_container_name> <id>rfsim4g_ue</id>
<client_container_name>rfsim4g-oai-lte-ue0</client_container_name> <svr_id>rfsim4g_ext_dn</svr_id>
<server_options>-u -i 1 -s</server_options> <iperf_args>-u -t 30 -b 1M</iperf_args>
<client_options>-B 12.0.0.2 -c 192.168.61.11 -u -i 1 -t 30 -b 1M</client_options> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100011"> <testCase id="100011">
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<test_svr_id>0</test_svr_id> <test_svr_id>0</test_svr_id>
<images_to_pull>oai-gnb-asan oai-nr-cuup-asan oai-nr-ue-asan</images_to_pull> <images_to_pull>oai-gnb oai-nr-cuup oai-nr-ue</images_to_pull>
</testCase> </testCase>
<testCase id="000021"> <testCase id="000021">
......
...@@ -75,21 +75,23 @@ ...@@ -75,21 +75,23 @@
</testCase> </testCase>
<testCase id="030021"> <testCase id="030021">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Downlink</desc> <desc>Iperf (DL/20Mbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-nr-ue</server_container_name> <iperf_args>-u -b 20M -t 30 -R</iperf_args>
<client_container_name>rfsim5g-oai-ext-dn</client_container_name> <id>rfsim5g_ue</id>
<server_options>-B 12.1.1.2 -u -i 1 -s</server_options> <svr_id>rfsim5g_ext_dn</svr_id>
<client_options>-c 12.1.1.2 -u -i 1 -t 10 -b 20M</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="030022"> <testCase id="030022">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Uplink</desc> <desc>Iperf (UL/5Mbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-ext-dn</server_container_name> <iperf_args>-u -b 5M -t 30</iperf_args>
<client_container_name>rfsim5g-oai-nr-ue</client_container_name> <id>rfsim5g_ue</id>
<server_options>-u -i 1 -s</server_options> <svr_id>rfsim5g_ext_dn</svr_id>
<client_options>-B 12.1.1.2 -c 192.168.72.135 -u -i 1 -t 10 -b 5M</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100021"> <testCase id="100021">
......
...@@ -85,21 +85,23 @@ ...@@ -85,21 +85,23 @@
</testCase> </testCase>
<testCase id="030011"> <testCase id="030011">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Downlink</desc> <desc>Iperf (DL/3Mbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-nr-ue</server_container_name> <iperf_args>-u -b 3M -t 30 -R</iperf_args>
<client_container_name>rfsim5g-oai-ext-dn</client_container_name> <id>rfsim5g_ue</id>
<server_options>-B 12.1.1.2 -u -i 1 -s</server_options> <svr_id>rfsim5g_ext_dn</svr_id>
<client_options>-c 12.1.1.2 -u -i 1 -t 30 -b 3M</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="030012"> <testCase id="030012">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Uplink</desc> <desc>Iperf (UL/3Mbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-ext-dn</server_container_name> <iperf_args>-u -b 3M -t 30</iperf_args>
<client_container_name>rfsim5g-oai-nr-ue</client_container_name> <id>rfsim5g_ue</id>
<server_options>-u -i 1 -s</server_options> <svr_id>rfsim5g_ext_dn</svr_id>
<client_options>-B 12.1.1.2 -c 192.168.72.135 -u -i 1 -t 30 -b 3M</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100011"> <testCase id="100011">
......
...@@ -180,21 +180,23 @@ ...@@ -180,21 +180,23 @@
</testCase> </testCase>
<testCase id="030001"> <testCase id="030001">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Downlink</desc> <desc>Iperf (DL/3Mbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-nr-ue</server_container_name> <iperf_args>-u -b 3M -t 30 -R</iperf_args>
<client_container_name>rfsim5g-oai-ext-dn</client_container_name> <id>rfsim5g_ue</id>
<server_options>-B 12.1.1.2 -u -i 1 -s</server_options> <svr_id>rfsim5g_ext_dn</svr_id>
<client_options>-c 12.1.1.2 -u -i 1 -t 30 -b 3M</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="030002"> <testCase id="030002">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Uplink</desc> <desc>Iperf (UL/1Mbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-ext-dn</server_container_name> <iperf_args>-u -b 1M -t 30</iperf_args>
<client_container_name>rfsim5g-oai-nr-ue</client_container_name> <id>rfsim5g_ue</id>
<server_options>-u -i 1 -s</server_options> <svr_id>rfsim5g_ext_dn</svr_id>
<client_options>-B 12.1.1.2 -c 192.168.72.135 -u -i 1 -t 30 -b 1M</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="333333"> <testCase id="333333">
......
...@@ -85,21 +85,23 @@ ...@@ -85,21 +85,23 @@
</testCase> </testCase>
<testCase id="030001"> <testCase id="030001">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Downlink</desc> <desc>Iperf (DL/3Mbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-nr-ue</server_container_name> <iperf_args>-u -b 3M -t 30 -R</iperf_args>
<client_container_name>rfsim5g-oai-ext-dn</client_container_name> <id>rfsim5g_ue</id>
<server_options>-B 12.1.1.2 -u -i 1 -s</server_options> <svr_id>rfsim5g_ext_dn</svr_id>
<client_options>-c 12.1.1.2 -u -i 1 -t 5 -b 3M</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="030002"> <testCase id="030002">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Uplink</desc> <desc>Iperf (UL/1Mbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-ext-dn</server_container_name> <iperf_args>-u -b 1M -t 30</iperf_args>
<client_container_name>rfsim5g-oai-nr-ue</client_container_name> <id>rfsim5g_ue</id>
<server_options>-u -i 1 -s</server_options> <svr_id>rfsim5g_ext_dn</svr_id>
<client_options>-B 12.1.1.2 -c 192.168.72.135 -u -i 1 -t 5 -b 1M</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100001"> <testCase id="100001">
......
...@@ -85,21 +85,23 @@ ...@@ -85,21 +85,23 @@
</testCase> </testCase>
<testCase id="030001"> <testCase id="030001">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Downlink</desc> <desc>Iperf (DL/3Mbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-nr-ue</server_container_name> <iperf_args>-u -b 3M -t 30 -R</iperf_args>
<client_container_name>rfsim5g-oai-ext-dn</client_container_name> <id>rfsim5g_ue</id>
<server_options>-B 12.1.1.2 -u -i 1 -s</server_options> <svr_id>rfsim5g_ext_dn</svr_id>
<client_options>-c 12.1.1.2 -u -i 1 -t 10 -b 3M</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="030002"> <testCase id="030002">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Uplink</desc> <desc>Iperf (UL/1Mbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-ext-dn</server_container_name> <iperf_args>-u -b 1M -t 30</iperf_args>
<client_container_name>rfsim5g-oai-nr-ue</client_container_name> <id>rfsim5g_ue</id>
<server_options>-u -i 1 -s</server_options> <svr_id>rfsim5g_ext_dn</svr_id>
<client_options>-B 12.1.1.2 -c 192.168.72.135 -u -i 1 -t 10 -b 1M</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100001"> <testCase id="100001">
......
...@@ -86,21 +86,23 @@ ...@@ -86,21 +86,23 @@
</testCase> </testCase>
<testCase id="030011"> <testCase id="030011">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Downlink</desc> <desc>Iperf (DL/30kbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-nr-ue</server_container_name> <iperf_args>-u -b 0.03M -t 30 -R -c 10.0.1.1</iperf_args>
<client_container_name>rfsim5g-oai-gnb</client_container_name> <id>rfsim5g_ue</id>
<server_options>-sui1 -B10.0.1.2</server_options> <svr_id>rfsim5g_gnb_nos1</svr_id>
<client_options>-uc10.0.1.2 -i1 -t10 -b30k -B10.0.1.1</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="030012"> <testCase id="030012">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Uplink</desc> <desc>Iperf (UL/30kbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-gnb</server_container_name> <iperf_args>-u -b 0.03M -t 30 -c 10.0.1.1</iperf_args>
<client_container_name>rfsim5g-oai-nr-ue</client_container_name> <id>rfsim5g_ue</id>
<server_options>-sui1 -B10.0.1.1</server_options> <svr_id>rfsim5g_gnb_nos1</svr_id>
<client_options>-uc10.0.1.1 -i1 -t10 -b30k -B10.0.1.2</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100011"> <testCase id="100011">
......
...@@ -85,21 +85,23 @@ ...@@ -85,21 +85,23 @@
</testCase> </testCase>
<testCase id="030001"> <testCase id="030001">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Downlink</desc> <desc>Iperf (DL/3Mbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-nr-ue</server_container_name> <iperf_args>-u -b 3M -t 30 -R</iperf_args>
<client_container_name>rfsim5g-oai-ext-dn</client_container_name> <id>rfsim5g_ue</id>
<server_options>-B 12.1.1.2 -u -i 1 -s</server_options> <svr_id>rfsim5g_ext_dn</svr_id>
<client_options>-c 12.1.1.2 -u -i 1 -t 10 -b 3M</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="030002"> <testCase id="030002">
<class>IperfFromContainer</class> <class>Iperf</class>
<desc>Iperf UDP Uplink</desc> <desc>Iperf (UL/1Mbps/UDP)(30 sec)</desc>
<server_container_name>rfsim5g-oai-ext-dn</server_container_name> <iperf_args>-u -b 1M -t 30</iperf_args>
<client_container_name>rfsim5g-oai-nr-ue</client_container_name> <id>rfsim5g_ue</id>
<server_options>-u -i 1 -s</server_options> <svr_id>rfsim5g_ext_dn</svr_id>
<client_options>-B 12.1.1.2 -c 192.168.72.135 -u -i 1 -t 10 -b 1M</client_options> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold>
</testCase> </testCase>
<testCase id="100001"> <testCase id="100001">
......
...@@ -118,91 +118,82 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml ...@@ -118,91 +118,82 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
<testCase id="040603"> <testCase id="040603">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(balanced profile)</desc> <desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args> <iperf_args>-u -b 15M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040604"> <testCase id="040604">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args> <iperf_args>-u -b 15M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040605"> <testCase id="040605">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(unbalanced profile)</desc> <desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(unbalanced profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args> <iperf_args>-u -b 15M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile> <iperf_profile>unbalanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040606"> <testCase id="040606">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc> <desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_2</id> <id>adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040607"> <testCase id="040607">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)(balanced profile)</desc> <desc>iperf (5MHz - DL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040641"> <testCase id="040641">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(balanced profile)</desc> <desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 9M -t 30 -i 1</iperf_args> <iperf_args>-u -b 9M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040642"> <testCase id="040642">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 9M -t 30 -i 1</iperf_args> <iperf_args>-u -b 9M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040643"> <testCase id="040643">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue profile)</desc> <desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040644"> <testCase id="040644">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)(balanced profile)</desc> <desc>iperf (5MHz - UL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
</testCaseList> </testCaseList>
......
...@@ -126,62 +126,57 @@ ...@@ -126,62 +126,57 @@
<testCase id="040633"> <testCase id="040633">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(balanced profile)</desc> <desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args> <iperf_args>-u -b 15M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040634"> <testCase id="040634">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args> <iperf_args>-u -b 15M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040636"> <testCase id="040636">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc> <desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_2</id> <id>adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040671"> <testCase id="040671">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(balanced profile)</desc> <desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 9M -t 30 -i 1</iperf_args> <iperf_args>-u -b 9M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040672"> <testCase id="040672">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 9M -t 30 -i 1</iperf_args> <iperf_args>-u -b 9M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040673"> <testCase id="040673">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue profile)</desc> <desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
</testCaseList> </testCaseList>
...@@ -112,92 +112,83 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml ...@@ -112,92 +112,83 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<testCase id="040613"> <testCase id="040613">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(balanced profile)</desc> <desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args> <iperf_args>-u -b 30M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040614"> <testCase id="040614">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args> <iperf_args>-u -b 30M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040615"> <testCase id="040615">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(unbalanced profile)</desc> <desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(unbalanced profile)</desc>
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args> <iperf_args>-u -b 30M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile> <iperf_profile>unbalanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040616"> <testCase id="040616">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - DL/TCP)(30 sec)(single-ue profile)</desc> <desc>iperf (10MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040617"> <testCase id="040617">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - DL/TCP)(30 sec)(balanced profile)</desc> <desc>iperf (10MHz - DL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040651"> <testCase id="040651">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - UL/18Mbps/UDP)(30 sec)(balanced profile)</desc> <desc>iperf (10MHz - UL/18Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 18M -t 30 -i 1</iperf_args> <iperf_args>-u -b 18M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040652"> <testCase id="040652">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - UL/18Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (10MHz - UL/18Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 18M -t 30 -i 1</iperf_args> <iperf_args>-u -b 18M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040653"> <testCase id="040653">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - UL/TCP)(30 sec)(single-ue profile)</desc> <desc>iperf (10MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040654"> <testCase id="040654">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - UL/TCP)(30 sec)(balanced profile)</desc> <desc>iperf (10MHz - UL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
</testCaseList> </testCaseList>
......
...@@ -105,22 +105,22 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml ...@@ -105,22 +105,22 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<testCase id="040612"> <testCase id="040612">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(balanced profile)</desc> <desc>iperf (10MHz - DL/30Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args> <iperf_args>-u -b 30M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040650"> <testCase id="040650">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - UL/20Mbps/UDP)(30 sec)(balanced profile)</desc> <desc>iperf (10MHz - UL/20Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 20M -t 30 -i 1</iperf_args> <iperf_args>-u -b 20M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
</testCaseList> </testCaseList>
......
...@@ -134,41 +134,38 @@ ...@@ -134,41 +134,38 @@
<testCase id="040613"> <testCase id="040613">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - DL/10Mbps/UDP)(30 sec)(balanced profile)</desc> <desc>iperf (10MHz - DL/10Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 10M -t 30 -i 1</iperf_args> <iperf_args>-u -b 10M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>lte_oai_ue_carabe</id> <id>lte_oai_ue_carabe</id>
<svr_id>nano-cn4g</svr_id>
</testCase> </testCase>
<testCase id="040616"> <testCase id="040616">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - DL/TCP)(30 sec)(single-ue profile)</desc> <desc>iperf (10MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>lte_oai_ue_carabe</id> <id>lte_oai_ue_carabe</id>
<svr_id>nano-cn4g</svr_id>
</testCase> </testCase>
<testCase id="040651"> <testCase id="040651">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - UL/10Mbps/UDP)(30 sec)(balanced profile)</desc> <desc>iperf (10MHz - UL/10Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 10M -t 30 -i 1</iperf_args> <iperf_args>-u -b 10M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>lte_oai_ue_carabe</id> <id>lte_oai_ue_carabe</id>
<svr_id>nano-cn4g</svr_id>
</testCase> </testCase>
<testCase id="040654"> <testCase id="040654">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - UL/TCP)(30 sec)(balanced profile)</desc> <desc>iperf (10MHz - UL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>lte_oai_ue_carabe</id> <id>lte_oai_ue_carabe</id>
<svr_id>nano-cn4g</svr_id>
</testCase> </testCase>
</testCaseList> </testCaseList>
...@@ -25,11 +25,29 @@ ...@@ -25,11 +25,29 @@
<htmlTabName>Images Clean-Up</htmlTabName> <htmlTabName>Images Clean-Up</htmlTabName>
<htmlTabIcon>trash</htmlTabIcon> <htmlTabIcon>trash</htmlTabIcon>
<TestCaseRequestedList> <TestCaseRequestedList>
000000
111111
222222 222222
333333 333333
</TestCaseRequestedList> </TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList> <TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000000">
<class>Undeploy_Object</class>
<desc>Undeploy eNB</desc>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_tm1_magma</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="111111">
<class>Undeploy_Object</class>
<desc>Undeploy LTE-UE</desc>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_oai_ue_magma</yaml_path>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<desc>Clean Test Images on eNB Test Server</desc> <desc>Clean Test Images on eNB Test Server</desc>
......
...@@ -111,92 +111,84 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml ...@@ -111,92 +111,84 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<testCase id="040623"> <testCase id="040623">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(balanced profile)</desc> <desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args> <iperf_args>-u -b 70M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040624"> <testCase id="040624">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args> <iperf_args>-u -b 70M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040625"> <testCase id="040625">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(unbalanced profile)</desc> <desc>iperf (20MHz - DL/70Mbps/UDP)(30 sec)(unbalanced profile)</desc>
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args> <iperf_args>-u -b 70M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile> <iperf_profile>unbalanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040626"> <testCase id="040626">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)(single-ue profile)</desc> <desc>iperf (20MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040627"> <testCase id="040627">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)(balanced profile)</desc> <desc>iperf (20MHz - DL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040661"> <testCase id="040661">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/12Mbps/UDP)(30 sec)(balanced profile)</desc> <desc>iperf (20MHz - UL/12Mbps/UDP)(30 sec)(balanced profile)</desc>
<iperf_args>-u -b 12M -t 30 -i 1</iperf_args> <iperf_args>-u -b 12M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040662"> <testCase id="040662">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/17Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (20MHz - UL/17Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 17M -t 30 -i 1</iperf_args> <iperf_args>-u -b 17M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040663"> <testCase id="040663">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue profile)</desc> <desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040664"> <testCase id="040664">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)(balanced profile)</desc> <desc>iperf (20MHz - UL/TCP)(30 sec)(balanced profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
</testCaseList> </testCaseList>
......
...@@ -119,100 +119,93 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml ...@@ -119,100 +119,93 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
<testCase id="040601"> <testCase id="040601">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(balanced)</desc> <desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 6.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040602"> <testCase id="040602">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(single-ue)</desc> <desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 6.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040603"> <testCase id="040603">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(unbalanced)</desc> <desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 6.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile> <iperf_profile>unbalanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040604"> <testCase id="040604">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc> <desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040605"> <testCase id="040605">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)</desc> <desc>iperf (5MHz - DL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040641"> <testCase id="040641">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc> <desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040642"> <testCase id="040642">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc> <desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040643"> <testCase id="040643">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc> <desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile> <iperf_profile>unbalanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040644"> <testCase id="040644">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue)</desc> <desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040645"> <testCase id="040645">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)</desc> <desc>iperf (5MHz - UL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
</testCaseList> </testCaseList>
...@@ -127,80 +127,72 @@ ...@@ -127,80 +127,72 @@
<testCase id="040631"> <testCase id="040631">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(balanced)</desc> <desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 6.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040632"> <testCase id="040632">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(single-ue)</desc> <desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 6.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040634"> <testCase id="040634">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc> <desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040635"> <testCase id="040635">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)</desc> <desc>iperf (5MHz - DL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040681"> <testCase id="040681">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc> <desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040682"> <testCase id="040682">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc> <desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040684"> <testCase id="040684">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue)</desc> <desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040685"> <testCase id="040685">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)</desc> <desc>iperf (5MHz - UL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
</testCaseList> </testCaseList>
...@@ -109,99 +109,86 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml ...@@ -109,99 +109,86 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml
<testCase id="040601"> <testCase id="040601">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(balanced)</desc> <desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 6.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
</testCase> </testCase>
<testCase id="040606"> <testCase id="040606">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(single-ue)</desc> <desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 6.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
</testCase> </testCase>
<testCase id="040603"> <testCase id="040603">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(unbalanced)</desc> <desc>iperf (5MHz - DL/6.5Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 6.5M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile> <iperf_profile>unbalanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
</testCase> </testCase>
<testCase id="040608"> <testCase id="040608">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc> <desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
</testCase> </testCase>
<testCase id="040605"> <testCase id="040605">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - DL/TCP)(30 sec)</desc> <desc>iperf (5MHz - DL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
</testCase> </testCase>
<testCase id="040641"> <testCase id="040641">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc> <desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040646"> <testCase id="040646">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc> <desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040643"> <testCase id="040643">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc> <desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile> <iperf_profile>unbalanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040648"> <testCase id="040648">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue)</desc> <desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040645"> <testCase id="040645">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (5MHz - UL/TCP)(30 sec)</desc> <desc>iperf (5MHz - UL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
</testCaseList> </testCaseList>
...@@ -109,100 +109,93 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml ...@@ -109,100 +109,93 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
<testCase id="040611"> <testCase id="040611">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(balanced)</desc> <desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 13.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040612"> <testCase id="040612">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc> <desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 13.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040613"> <testCase id="040613">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(unbalanced)</desc> <desc>iperf (10MHz - DL/13.5Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 13.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile> <iperf_profile>unbalanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040614"> <testCase id="040614">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - DL/TCP)(30 sec)(single-ue)</desc> <desc>iperf (10MHz - DL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040615"> <testCase id="040615">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - DL/TCP)(30 sec)</desc> <desc>iperf (10MHz - DL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040651"> <testCase id="040651">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc> <desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040652"> <testCase id="040652">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc> <desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040653"> <testCase id="040653">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc> <desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile> <iperf_profile>unbalanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040654"> <testCase id="040654">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - UL/TCP)(30 sec)(single-ue)</desc> <desc>iperf (10MHz - UL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040655"> <testCase id="040655">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (10MHz - UL/TCP)(30 sec)</desc> <desc>iperf (10MHz - UL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
</testCaseList> </testCaseList>
...@@ -109,99 +109,91 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml ...@@ -109,99 +109,91 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
<testCase id="040621"> <testCase id="040621">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(balanced)</desc> <desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 13.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040622"> <testCase id="040622">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc> <desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 13.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040623"> <testCase id="040623">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(unbalanced)</desc> <desc>iperf (20MHz - DL/13.5Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 13.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile> <iperf_profile>unbalanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040624"> <testCase id="040624">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)(single-ue)</desc> <desc>iperf (20MHz - DL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040625"> <testCase id="040625">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)</desc> <desc>iperf (20MHz - DL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040661"> <testCase id="040661">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc> <desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040662"> <testCase id="040662">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc> <desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040663"> <testCase id="040663">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc> <desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args> <iperf_args>-u -b 2M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile> <iperf_profile>unbalanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040664"> <testCase id="040664">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue)</desc> <desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040665"> <testCase id="040665">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)</desc> <desc>iperf (20MHz - UL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
</testCaseList> </testCaseList>
...@@ -111,102 +111,95 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml ...@@ -111,102 +111,95 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
<testCase id="040626"> <testCase id="040626">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/27.5Mbps/UDP)(30 sec)(balanced)</desc> <desc>iperf (20MHz - DL/27.5Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 27.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 27.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040627"> <testCase id="040627">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/27.5Mbps/UDP)(30 sec)(single-ue)</desc> <desc>iperf (20MHz - DL/27.5Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 27.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 27.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040628"> <testCase id="040628">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/27.5Mbps/UDP)(30 sec)(unbalanced)</desc> <desc>iperf (20MHz - DL/27.5Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 27.5M -t 30 -i 1</iperf_args> <iperf_args>-u -b 27.5M -t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>unbalanced</iperf_profile> <iperf_profile>unbalanced</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040629"> <testCase id="040629">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)(single-ue)</desc> <desc>iperf (20MHz - DL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>DL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040630"> <testCase id="040630">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - DL/TCP)(30 sec)</desc> <desc>iperf (20MHz - DL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30 -R</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>DL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040666"> <testCase id="040666">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(balanced)</desc> <desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(balanced)</desc>
<iperf_args>-u -b 7M -t 30 -i 1</iperf_args> <iperf_args>-u -b 7M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040667"> <testCase id="040667">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(single-ue)</desc> <desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(single-ue)</desc>
<iperf_args>-u -b 7M -t 30 -i 1</iperf_args> <iperf_args>-u -b 7M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040668"> <testCase id="040668">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(unbalanced)</desc> <desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(unbalanced)</desc>
<iperf_args>-u -b 7M -t 30 -i 1</iperf_args> <iperf_args>-u -b 7M -t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>unbalanced</iperf_profile> <iperf_profile>unbalanced</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040669"> <testCase id="040669">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue)</desc> <desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
<direction>UL</direction>
<id>adb_ue_1</id> <id>adb_ue_1</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
<testCase id="040670"> <testCase id="040670">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (20MHz - UL/TCP)(30 sec)</desc> <desc>iperf (20MHz - UL/TCP)(30 sec)</desc>
<iperf_args>-t 30 -i 1 -fm</iperf_args> <iperf_args>-t 30</iperf_args>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<direction>UL</direction>
<id>adb_ue_1 adb_ue_2</id> <id>adb_ue_1 adb_ue_2</id>
<svr_id>ltebox-nano</svr_id>
</testCase> </testCase>
</testCaseList> </testCaseList>
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>images-clean-up</htmlTabRef>
<htmlTabName>Images Clean-Up</htmlTabName>
<htmlTabIcon>trash</htmlTabIcon>
<TestCaseRequestedList>
111111
222222
333333
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="111111">
<class>Detach_UE</class>
<desc>Detach UE</desc>
<id>up2</id>
</testCase>
<testCase id="222222">
<class>Undeploy_Object</class>
<desc>Undeploy eNB</desc>
<yaml_path>ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="333333">
<class>Clean_Test_Server_Images</class>
<desc>Clean Test Images</desc>
<test_svr_id>0</test_svr_id>
</testCase>
</testCaseList>
...@@ -106,23 +106,21 @@ ...@@ -106,23 +106,21 @@
<testCase id="070000"> <testCase id="070000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/26Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (DL/26Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 26M -t 60</iperf_args> <iperf_args>-u -b 26M -t 60 -R</iperf_args>
<direction>DL</direction>
<id>up2</id> <id>up2</id>
<svr_id>porcepix-cn4g</svr_id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070001"> <testCase id="070001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 7M -t 60</iperf_args> <iperf_args>-u -b 7M -t 60</iperf_args>
<direction>UL</direction>
<id>up2</id> <id>up2</id>
<svr_id>porcepix-cn4g</svr_id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="010010"> <testCase id="010010">
......
...@@ -106,23 +106,21 @@ ...@@ -106,23 +106,21 @@
<testCase id="070000"> <testCase id="070000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/26Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (DL/26Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 1M -t 60</iperf_args> <iperf_args>-u -b 1M -t 60 -R</iperf_args>
<direction>DL</direction>
<id>up2</id> <id>up2</id>
<svr_id>porcepix-cn4g</svr_id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070001"> <testCase id="070001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 7M -t 60</iperf_args> <iperf_args>-u -b 7M -t 60</iperf_args>
<direction>UL</direction>
<id>up2</id> <id>up2</id>
<svr_id>porcepix-cn4g</svr_id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="010010"> <testCase id="010010">
......
...@@ -186,32 +186,29 @@ ...@@ -186,32 +186,29 @@
<testCase id="070000"> <testCase id="070000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/70Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (DL/70Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 70M -t 60 -i 1 -fm</iperf_args> <iperf_args>-u -b 70M -t 60 -R</iperf_args>
<direction>DL</direction>
<id>idefix</id> <id>idefix</id>
<svr_id>ltebox-nepes</svr_id>
<iperf_packetloss_threshold>25</iperf_packetloss_threshold> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold> <iperf_bitrate_threshold>80</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070001"> <testCase id="070001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/8Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (UL/8Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 8M -t 60 -i 1 -fm</iperf_args> <iperf_args>-u -b 8M -t 60</iperf_args>
<direction>UL</direction>
<id>idefix</id> <id>idefix</id>
<svr_id>ltebox-nepes</svr_id>
<iperf_packetloss_threshold>1</iperf_packetloss_threshold> <iperf_packetloss_threshold>1</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070002"> <testCase id="070002">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc> <desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc>
<iperf_args>-t 10 --bidir</iperf_args> <iperf_args>-t 10 --bidir</iperf_args>
<direction>BIDIR</direction>
<id>idefix</id> <id>idefix</id>
<iperf_profile>single-ue</iperf_profile> <svr_id>ltebox-nepes</svr_id>
</testCase> </testCase>
<testCase id="030201"> <testCase id="030201">
......
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/UDP/80M)(30 sec)(single-ue profile)</desc> <desc>iperf (DL/UDP/80M)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 80M -t 30 -R</iperf_args> <iperf_args>-u -b 80M -t 30 -R</iperf_args>
<direction>IPERF3</direction> <svr_id>porcepix-cn5g</svr_id>
<id>sphex_quectel</id> <id>sphex_quectel</id>
<iperf_packetloss_threshold>25</iperf_packetloss_threshold> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold> <iperf_bitrate_threshold>80</iperf_bitrate_threshold>
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/UDP/40M)(30 sec)(single-ue profile)</desc> <desc>iperf (UL/UDP/40M)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 40M -t 30</iperf_args> <iperf_args>-u -b 40M -t 30</iperf_args>
<direction>IPERF3</direction> <svr_id>porcepix-cn5g</svr_id>
<id>sphex_quectel</id> <id>sphex_quectel</id>
<iperf_packetloss_threshold>25</iperf_packetloss_threshold> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold> <iperf_bitrate_threshold>80</iperf_bitrate_threshold>
......
...@@ -25,12 +25,21 @@ ...@@ -25,12 +25,21 @@
<htmlTabName>CleanUp AERIAL</htmlTabName> <htmlTabName>CleanUp AERIAL</htmlTabName>
<htmlTabIcon>trash</htmlTabIcon> <htmlTabIcon>trash</htmlTabIcon>
<TestCaseRequestedList> <TestCaseRequestedList>
000000
111111 111111
222222 222222
333333 333333
</TestCaseRequestedList> </TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList> <TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000000">
<class>Undeploy_Object</class>
<desc>Undeploy gNB</desc>
<yaml_path>ci-scripts/yaml_files/sa_gnb_aerial</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="111111"> <testCase id="111111">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
......
...@@ -49,6 +49,8 @@ ...@@ -49,6 +49,8 @@
000010 000010
000020 000020
002016 002016
000030
000040
000200 000200
003000 003000
004000 004000
...@@ -171,23 +173,42 @@ ...@@ -171,23 +173,42 @@
<testCase id="000010"> <testCase id="000010">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/7Mbps/UDP)(30 sec)(multi-ue profile)</desc> <desc>iperf (DL/7Mbps/UDP)(30 sec)(multi-ue profile)</desc>
<iperf_args>-u -b 70M -t 30 -i 1 -R</iperf_args> <iperf_args>-u -b 70M -t 30 -R</iperf_args>
<direction>IPERF3</direction>
<id>amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3 amarisoft_ue_4 amarisoft_ue_5 amarisoft_ue_6 amarisoft_ue_7 amarisoft_ue_8 amarisoft_ue_9 amarisoft_ue_10 amarisoft_ue_11 amarisoft_ue_12 amarisoft_ue_13 amarisoft_ue_14 amarisoft_ue_15</id> <id>amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3 amarisoft_ue_4 amarisoft_ue_5 amarisoft_ue_6 amarisoft_ue_7 amarisoft_ue_8 amarisoft_ue_9 amarisoft_ue_10 amarisoft_ue_11 amarisoft_ue_12 amarisoft_ue_13 amarisoft_ue_14 amarisoft_ue_15</id>
<iperf_packetloss_threshold>25</iperf_packetloss_threshold> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold> <iperf_bitrate_threshold>80</iperf_bitrate_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<svr_id>oc-cn5g</svr_id>
</testCase>
<testCase id="000030">
<class>Iperf</class>
<desc>iperf (DL/TCP)(30 sec)(multi-ue profile)</desc>
<iperf_args>-t 30 -R</iperf_args>
<id>amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3 amarisoft_ue_4 amarisoft_ue_5 amarisoft_ue_6 amarisoft_ue_7 amarisoft_ue_8 amarisoft_ue_9 amarisoft_ue_10 amarisoft_ue_11 amarisoft_ue_12 amarisoft_ue_13 amarisoft_ue_14 amarisoft_ue_15</id>
<iperf_tcp_rate_target>4</iperf_tcp_rate_target>
<svr_id>oc-cn5g</svr_id>
</testCase> </testCase>
<testCase id="000020"> <testCase id="000020">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/3.6Mbps/UDP)(30 sec)(multi-ue profile)</desc> <desc>iperf (UL/3.6Mbps/UDP)(30 sec)(multi-ue profile)</desc>
<iperf_args>-u -b 36M -t 30 -i 1 </iperf_args> <iperf_args>-u -b 36M -t 30</iperf_args>
<direction>IPERF3</direction>
<id>amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3 amarisoft_ue_4 amarisoft_ue_5 amarisoft_ue_6 amarisoft_ue_7 amarisoft_ue_8 amarisoft_ue_9 amarisoft_ue_10 amarisoft_ue_11 amarisoft_ue_12 amarisoft_ue_13 amarisoft_ue_14 amarisoft_ue_15</id> <id>amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3 amarisoft_ue_4 amarisoft_ue_5 amarisoft_ue_6 amarisoft_ue_7 amarisoft_ue_8 amarisoft_ue_9 amarisoft_ue_10 amarisoft_ue_11 amarisoft_ue_12 amarisoft_ue_13 amarisoft_ue_14 amarisoft_ue_15</id>
<iperf_packetloss_threshold>25</iperf_packetloss_threshold> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold> <iperf_bitrate_threshold>80</iperf_bitrate_threshold>
<iperf_profile>balanced</iperf_profile> <iperf_profile>balanced</iperf_profile>
<svr_id>oc-cn5g</svr_id>
</testCase>
<testCase id="000040">
<class>Iperf</class>
<desc>iperf (UL/TCP)(30 sec)(multi-ue profile)</desc>
<iperf_args>-t 30</iperf_args>
<svr_id>oc-cn5g</svr_id>
<id>amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3 amarisoft_ue_4 amarisoft_ue_5 amarisoft_ue_6 amarisoft_ue_7 amarisoft_ue_8 amarisoft_ue_9 amarisoft_ue_10 amarisoft_ue_11 amarisoft_ue_12 amarisoft_ue_13 amarisoft_ue_14 amarisoft_ue_15</id>
<iperf_tcp_rate_target>1</iperf_tcp_rate_target>
<svr_id>oc-cn5g</svr_id>
</testCase> </testCase>
<testCase id="000100"> <testCase id="000100">
......
...@@ -27,20 +27,29 @@ ...@@ -27,20 +27,29 @@
<TestCaseRequestedList> <TestCaseRequestedList>
111111 111111
222222 222222
333333
</TestCaseRequestedList> </TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList> <TestCaseExclusionList></TestCaseExclusionList>
<testCase id="111111"> <testCase id="111111">
<class>Clean_Test_Server_Images</class>
<desc>Clean Test Images on Test Server</desc>
<test_svr_id>0</test_svr_id>
</testCase>
<testCase id="222222">
<class>Terminate_UE</class> <class>Terminate_UE</class>
<desc>Terminate UE</desc> <desc>Terminate UE</desc>
<id>amarisoft_ue</id> <id>amarisoft_ue</id>
</testCase> </testCase>
<testCase id="222222">
<class>Undeploy_Object</class>
<desc>Undeploy gNB</desc>
<yaml_path>ci-scripts/yaml_files/sa_aw2s_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="333333">
<class>Clean_Test_Server_Images</class>
<desc>Clean Test Images on Test Server</desc>
<test_svr_id>0</test_svr_id>
</testCase>
</testCaseList> </testCaseList>
...@@ -36,6 +36,8 @@ ...@@ -36,6 +36,8 @@
070000 070000
070001 070001
070002 070002
070003
070004
060001 060001
000002 000002
060002 060002
...@@ -136,32 +138,47 @@ ...@@ -136,32 +138,47 @@
<testCase id="070000"> <testCase id="070000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/30Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (DL/30Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 30M -t 30 -i 1 -fm</iperf_args> <iperf_args>-u -b 30M -t 30 -R</iperf_args>
<direction>DL</direction>
<id>idefix</id> <id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_packetloss_threshold>25</iperf_packetloss_threshold> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold> <iperf_bitrate_threshold>80</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070001"> <testCase id="070001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/3.5Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (UL/3.5Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 3.5M -t 30 -i 1 -fm</iperf_args> <iperf_args>-u -b 3.5M -t 30</iperf_args>
<direction>UL</direction>
<id>idefix</id> <id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_packetloss_threshold>1</iperf_packetloss_threshold> <iperf_packetloss_threshold>1</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070002"> <testCase id="070002">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc> <desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc>
<iperf_args>-t 10 --bidir</iperf_args> <iperf_args>-t 10 --bidir</iperf_args>
<direction>BIDIR</direction>
<id>idefix</id> <id>idefix</id>
<iperf_profile>single-ue</iperf_profile> <svr_id>sabox-nepes</svr_id>
</testCase>
<testCase id="070003">
<class>Iperf</class>
<desc>iperf (DL/TCP)(30 sec)(multi-ue profile)</desc>
<iperf_args>-t 30 -R</iperf_args>
<id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_tcp_rate_target>40</iperf_tcp_rate_target>
</testCase>
<testCase id="070004">
<class>Iperf</class>
<desc>iperf (UL/TCP)(30 sec)(multi-ue profile)</desc>
<iperf_args>-t 30</iperf_args>
<id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_tcp_rate_target>10</iperf_tcp_rate_target>
</testCase> </testCase>
<testCase id="060001"> <testCase id="060001">
......
...@@ -37,6 +37,8 @@ ...@@ -37,6 +37,8 @@
370001 370001
370000 370000
370002 370002
370003
370004
360001 360001
100002 100002
360002 360002
...@@ -128,32 +130,47 @@ ...@@ -128,32 +130,47 @@
<testCase id="370000"> <testCase id="370000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/80Mbps/UDP)(30 sec)</desc> <desc>iperf (DL/80Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 80M -t 30 -i 1 -fm</iperf_args> <iperf_args>-u -b 80M -t 30 -R</iperf_args>
<direction>DL</direction>
<id>idefix</id> <id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_packetloss_threshold>10</iperf_packetloss_threshold> <iperf_packetloss_threshold>10</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="370001"> <testCase id="370001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/8Mbps/UDP)(30 sec)</desc> <desc>iperf (UL/8Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 8M -t 30 -i 1 -fm</iperf_args> <iperf_args>-u -b 8M -t 30</iperf_args>
<direction>UL</direction>
<id>idefix</id> <id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_packetloss_threshold>1</iperf_packetloss_threshold> <iperf_packetloss_threshold>1</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="370002"> <testCase id="370002">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc> <desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc>
<iperf_args>-t 20 --bidir</iperf_args> <iperf_args>-t 20 --bidir</iperf_args>
<direction>BIDIR</direction>
<id>idefix</id> <id>idefix</id>
<iperf_profile>single-ue</iperf_profile> <svr_id>sabox-nepes</svr_id>
</testCase>
<testCase id="370003">
<class>Iperf</class>
<desc>iperf (DL/TCP)(30 sec)(multi-ue profile)</desc>
<iperf_args>-t 30 -R</iperf_args>
<id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_tcp_rate_target>30</iperf_tcp_rate_target>
</testCase>
<testCase id="370004">
<class>Iperf</class>
<desc>iperf (UL/TCP)(30 sec)(multi-ue profile)</desc>
<iperf_args>-t 30</iperf_args>
<id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_tcp_rate_target>15</iperf_tcp_rate_target>
</testCase> </testCase>
<testCase id="360001"> <testCase id="360001">
......
...@@ -49,6 +49,8 @@ ...@@ -49,6 +49,8 @@
170001 170001
170000 170000
170002 170002
170003
170004
110011 110011
110002 110002
100001 100001
...@@ -160,32 +162,47 @@ ...@@ -160,32 +162,47 @@
<testCase id="170000"> <testCase id="170000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/50Mbps/UDP)(30 sec)</desc> <desc>iperf (DL/50Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 50M -t 30 -i 1 -fm</iperf_args> <iperf_args>-u -b 50M -t 30 -R</iperf_args>
<direction>DL</direction>
<id>idefix</id> <id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_packetloss_threshold>10</iperf_packetloss_threshold> <iperf_packetloss_threshold>10</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="170001"> <testCase id="170001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/25Mbps/UDP)(30 sec)</desc> <desc>iperf (UL/25Mbps/UDP)(30 sec)</desc>
<iperf_args>-u -b 25M -t 30 -i 1 -fm</iperf_args> <iperf_args>-u -b 25M -t 30</iperf_args>
<direction>UL</direction>
<id>idefix</id> <id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_packetloss_threshold>1</iperf_packetloss_threshold> <iperf_packetloss_threshold>1</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="170002"> <testCase id="170002">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (BIDIR TCP)(60 sec)(single-ue profile)</desc> <desc>iperf (BIDIR TCP)(60 sec)(single-ue profile)</desc>
<iperf_args>-t 60 --bidir</iperf_args> <iperf_args>-t 60 --bidir</iperf_args>
<direction>BIDIR</direction>
<id>idefix</id> <id>idefix</id>
<iperf_profile>single-ue</iperf_profile> <svr_id>sabox-nepes</svr_id>
</testCase>
<testCase id="170003">
<class>Iperf</class>
<desc>iperf (DL/TCP)(30 sec)(multi-ue profile)</desc>
<iperf_args>-t 30 -R</iperf_args>
<id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_tcp_rate_target>45</iperf_tcp_rate_target>
</testCase>
<testCase id="170004">
<class>Iperf</class>
<desc>iperf (UL/TCP)(30 sec)(multi-ue profile)</desc>
<iperf_args>-t 30</iperf_args>
<id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_tcp_rate_target>25</iperf_tcp_rate_target>
</testCase> </testCase>
<testCase id="160001"> <testCase id="160001">
......
...@@ -91,8 +91,8 @@ ...@@ -91,8 +91,8 @@
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/20Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (DL/20Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 20M -t 30 -i 1 -R</iperf_args> <iperf_args>-u -b 20M -t 30 -i 1 -R</iperf_args>
<direction>IPERF3</direction>
<id>oai_ue_caracal</id> <id>oai_ue_caracal</id>
<svr_id>oc-cn5g</svr_id>
<iperf_packetloss_threshold>25</iperf_packetloss_threshold> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold> <iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
...@@ -101,8 +101,8 @@ ...@@ -101,8 +101,8 @@
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/5Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (UL/5Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 5M -t 30 -i 1 </iperf_args> <iperf_args>-u -b 5M -t 30 -i 1 </iperf_args>
<direction>IPERF3</direction>
<id>oai_ue_caracal</id> <id>oai_ue_caracal</id>
<svr_id>oc-cn5g</svr_id>
<iperf_packetloss_threshold>25</iperf_packetloss_threshold> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold> <iperf_bitrate_threshold>80</iperf_bitrate_threshold>
</testCase> </testCase>
......
...@@ -27,16 +27,34 @@ ...@@ -27,16 +27,34 @@
<TestCaseRequestedList> <TestCaseRequestedList>
111111 111111
222222 222222
333333
444444
</TestCaseRequestedList> </TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList> <TestCaseExclusionList></TestCaseExclusionList>
<testCase id="111111"> <testCase id="111111">
<class>Undeploy_Object</class>
<desc>Undeploy gNB</desc>
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="222222">
<class>Undeploy_Object</class>
<desc>Undeploy nr UE</desc>
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_nrue</yaml_path>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase>
<testCase id="333333">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<test_svr_id>0</test_svr_id> <test_svr_id>0</test_svr_id>
</testCase> </testCase>
<testCase id="222222"> <testCase id="444444">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<test_svr_id>1</test_svr_id> <test_svr_id>1</test_svr_id>
......
...@@ -36,6 +36,8 @@ ...@@ -36,6 +36,8 @@
270000 270000
270001 270001
270002 270002
270003
270004
260001 260001
200002 200002
260002 260002
...@@ -130,32 +132,47 @@ ...@@ -130,32 +132,47 @@
<testCase id="270000"> <testCase id="270000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/80Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (DL/80Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 80M -t 30 -i 1 -fm</iperf_args> <iperf_args>-u -b 80M -t 30 -R</iperf_args>
<direction>DL</direction>
<id>idefix</id> <id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="270001"> <testCase id="270001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/6Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (UL/6Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 6M -t 30 -i 1 -fm</iperf_args> <iperf_args>-u -b 6M -t 30</iperf_args>
<direction>UL</direction>
<id>idefix</id> <id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_packetloss_threshold>1</iperf_packetloss_threshold> <iperf_packetloss_threshold>1</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="270002"> <testCase id="270002">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc> <desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc>
<iperf_args>-t 10 --bidir</iperf_args> <iperf_args>-t 10 --bidir</iperf_args>
<direction>BIDIR</direction>
<id>idefix</id> <id>idefix</id>
<iperf_profile>single-ue</iperf_profile> <svr_id>sabox-nepes</svr_id>
</testCase>
<testCase id="270003">
<class>Iperf</class>
<desc>iperf (DL/TCP)(30 sec)(multi-ue profile)</desc>
<iperf_args>-t 30 -R</iperf_args>
<id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_tcp_rate_target>35</iperf_tcp_rate_target>
</testCase>
<testCase id="270004">
<class>Iperf</class>
<desc>iperf (UL/TCP)(30 sec)(multi-ue profile)</desc>
<iperf_args>-t 30</iperf_args>
<id>idefix</id>
<svr_id>sabox-nepes</svr_id>
<iperf_tcp_rate_target>5</iperf_tcp_rate_target>
</testCase> </testCase>
<testCase id="260001"> <testCase id="260001">
......
...@@ -159,31 +159,25 @@ ...@@ -159,31 +159,25 @@
<testCase id="070000"> <testCase id="070000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/125Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (DL/125Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 125M -t 60</iperf_args> <iperf_args>-u -b 125M -t 60 -R</iperf_args>
<direction>DL</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_packetloss_threshold>15</iperf_packetloss_threshold> <iperf_packetloss_threshold>15</iperf_packetloss_threshold>
<iperf_bitrate_threshold>85</iperf_bitrate_threshold> <iperf_bitrate_threshold>85</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070001"> <testCase id="070001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/1Mbps/UDP)(20 sec)(single-ue profile)</desc> <desc>iperf (UL/1Mbps/UDP)(20 sec)(single-ue profile)</desc>
<iperf_args>-u -b 3M -t 60</iperf_args> <iperf_args>-u -b 3M -t 60</iperf_args>
<direction>UL</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070002"> <testCase id="070002">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc> <desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc>
<iperf_args>-t 10 --bidir</iperf_args> <iperf_args>-t 10 --bidir</iperf_args>
<direction>BIDIR</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
......
...@@ -158,23 +158,19 @@ ...@@ -158,23 +158,19 @@
<testCase id="070000"> <testCase id="070000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/125Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (DL/125Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 125M -t 60</iperf_args> <iperf_args>-u -b 125M -t 60 -R</iperf_args>
<direction>DL</direction>
<id>idefix</id> <id>idefix</id>
<iperf_packetloss_threshold>25</iperf_packetloss_threshold> <iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold> <iperf_bitrate_threshold>80</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070001"> <testCase id="070001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/8Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (UL/8Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 8M -t 60</iperf_args> <iperf_args>-u -b 8M -t 60</iperf_args>
<direction>UL</direction>
<id>idefix</id> <id>idefix</id>
<iperf_packetloss_threshold>1</iperf_packetloss_threshold> <iperf_packetloss_threshold>1</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="080000"> <testCase id="080000">
......
...@@ -124,21 +124,17 @@ ...@@ -124,21 +124,17 @@
<testCase id="070000"> <testCase id="070000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/20Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (DL/20Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 20M -t 60</iperf_args> <iperf_args>-u -b 20M -t 60 -R</iperf_args>
<direction>DL</direction>
<id>idefix</id> <id>idefix</id>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070001"> <testCase id="070001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 3M -t 60</iperf_args> <iperf_args>-u -b 3M -t 60</iperf_args>
<direction>UL</direction>
<id>idefix</id> <id>idefix</id>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
......
...@@ -121,21 +121,17 @@ ...@@ -121,21 +121,17 @@
<testCase id="070000"> <testCase id="070000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/20Mbps/UDP)(600 sec)(single-ue profile)</desc> <desc>iperf (DL/20Mbps/UDP)(600 sec)(single-ue profile)</desc>
<iperf_args>-u -b 20M -t 600</iperf_args> <iperf_args>-u -b 20M -t 600 -R</iperf_args>
<direction>DL</direction>
<id>idefix</id> <id>idefix</id>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070001"> <testCase id="070001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/3Mbps/UDP)(600 sec)(single-ue profile)</desc> <desc>iperf (UL/3Mbps/UDP)(600 sec)(single-ue profile)</desc>
<iperf_args>-u -b 3M -t 600</iperf_args> <iperf_args>-u -b 3M -t 600</iperf_args>
<direction>UL</direction>
<id>idefix</id> <id>idefix</id>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
......
...@@ -94,21 +94,17 @@ ...@@ -94,21 +94,17 @@
<testCase id="070000"> <testCase id="070000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 60M -t 60</iperf_args> <iperf_args>-u -b 60M -t 60 -R</iperf_args>
<direction>DL</direction>
<id>oai_ue_obelix</id> <id>oai_ue_obelix</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070001"> <testCase id="070001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 3M -t 60</iperf_args> <iperf_args>-u -b 3M -t 60</iperf_args>
<direction>UL</direction>
<id>oai_ue_obelix</id> <id>oai_ue_obelix</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
......
...@@ -111,10 +111,8 @@ ...@@ -111,10 +111,8 @@
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc>
<id>oai_ue_obelix</id> <id>oai_ue_obelix</id>
<iperf_args>-u -b 60M -t 60</iperf_args> <iperf_args>-u -b 60M -t 60 -R</iperf_args>
<direction>DL</direction>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070001"> <testCase id="070001">
...@@ -122,9 +120,7 @@ ...@@ -122,9 +120,7 @@
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
<id>oai_ue_obelix</id> <id>oai_ue_obelix</id>
<iperf_args>-u -b 3M -t 60</iperf_args> <iperf_args>-u -b 3M -t 60</iperf_args>
<direction>UL</direction>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
......
...@@ -96,10 +96,8 @@ ...@@ -96,10 +96,8 @@
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc>
<id>oai_ue_obelix</id> <id>oai_ue_obelix</id>
<iperf_args>-u -b 60M -t 60</iperf_args> <iperf_args>-u -b 60M -t 60 -R</iperf_args>
<direction>DL</direction>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070001"> <testCase id="070001">
...@@ -107,9 +105,7 @@ ...@@ -107,9 +105,7 @@
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
<id>oai_ue_obelix</id> <id>oai_ue_obelix</id>
<iperf_args>-u -b 3M -t 60</iperf_args> <iperf_args>-u -b 3M -t 60</iperf_args>
<direction>UL</direction>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
......
...@@ -131,32 +131,26 @@ ...@@ -131,32 +131,26 @@
<testCase id="070000"> <testCase id="070000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 60M -t 60</iperf_args> <iperf_args>-u -b 60M -t 60 -R</iperf_args>
<direction>DL</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070001"> <testCase id="070001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 7M -t 60</iperf_args> <iperf_args>-u -b 7M -t 60</iperf_args>
<direction>UL</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="070002"> <testCase id="070002">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc> <desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc>
<iperf_args>-t 10 --bidir</iperf_args> <iperf_args>-t 10 --bidir</iperf_args>
<direction>BIDIR</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
......
...@@ -120,32 +120,26 @@ ...@@ -120,32 +120,26 @@
<testCase id="072000"> <testCase id="072000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/180Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (DL/180Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 180M -t 60</iperf_args> <iperf_args>-u -b 180M -t 60 -R</iperf_args>
<direction>DL</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="072001"> <testCase id="072001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc> <desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 3M -t 60</iperf_args> <iperf_args>-u -b 3M -t 60</iperf_args>
<direction>UL</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="072002"> <testCase id="072002">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc> <desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc>
<iperf_args>-t 10 --bidir</iperf_args> <iperf_args>-t 10 --bidir</iperf_args>
<direction>BIDIR</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
......
...@@ -128,62 +128,50 @@ ...@@ -128,62 +128,50 @@
<testCase id="071000"> <testCase id="071000">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/10Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (DL/10Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 10M -t 30</iperf_args> <iperf_args>-u -b 10M -t 30 -R</iperf_args>
<direction>DL</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="071001"> <testCase id="071001">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/20Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (DL/20Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 20M -t 30</iperf_args> <iperf_args>-u -b 20M -t 30 -R</iperf_args>
<direction>DL</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="071002"> <testCase id="071002">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/40Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (DL/40Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 40M -t 30</iperf_args> <iperf_args>-u -b 40M -t 30 -R</iperf_args>
<direction>DL</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="071003"> <testCase id="071003">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/60Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (DL/60Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 60M -t 30</iperf_args> <iperf_args>-u -b 60M -t 30 -R</iperf_args>
<direction>DL</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_packetloss_threshold>5</iperf_packetloss_threshold> <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold> <iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="071004"> <testCase id="071004">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/90Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (DL/90Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 90M -t 30</iperf_args> <iperf_args>-u -b 90M -t 30 -R</iperf_args>
<direction>DL</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_packetloss_threshold>10</iperf_packetloss_threshold> <iperf_packetloss_threshold>10</iperf_packetloss_threshold>
<iperf_bitrate_threshold>90</iperf_bitrate_threshold> <iperf_bitrate_threshold>90</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
<testCase id="071005"> <testCase id="071005">
<class>Iperf</class> <class>Iperf</class>
<desc>iperf (DL/130Mbps/UDP)(30 sec)(single-ue profile)</desc> <desc>iperf (DL/130Mbps/UDP)(30 sec)(single-ue profile)</desc>
<iperf_args>-u -b 130M -t 30</iperf_args> <iperf_args>-u -b 130M -t 30 -R</iperf_args>
<direction>DL</direction>
<id>nrmodule2_quectel</id> <id>nrmodule2_quectel</id>
<iperf_packetloss_threshold>50</iperf_packetloss_threshold> <iperf_packetloss_threshold>50</iperf_packetloss_threshold>
<iperf_bitrate_threshold>50</iperf_bitrate_threshold> <iperf_bitrate_threshold>50</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase> </testCase>
......
...@@ -175,7 +175,7 @@ upf: ...@@ -175,7 +175,7 @@ upf:
support_features: support_features:
enable_bpf_datapath: no # If "on": BPF is used as datapath else simpleswitch is used, DEFAULT= off enable_bpf_datapath: no # If "on": BPF is used as datapath else simpleswitch is used, DEFAULT= off
enable_snat: yes # If "on": Source natting is done for UE, DEFAULT= off enable_snat: yes # If "on": Source natting is done for UE, DEFAULT= off
remote_n6_gw: localhost # Dummy host since simple-switch does not use N6 GW remote_n6_gw: 127.0.0.1 # Dummy host since simple-switch does not use N6 GW
upf_info: upf_info:
sNssaiUpfInfoList: sNssaiUpfInfoList:
- sNssai: *embb_slice1 - sNssai: *embb_slice1
......
...@@ -193,7 +193,7 @@ upf: ...@@ -193,7 +193,7 @@ upf:
support_features: support_features:
enable_bpf_datapath: no # If "on": BPF is used as datapath else simpleswitch is used, DEFAULT= off enable_bpf_datapath: no # If "on": BPF is used as datapath else simpleswitch is used, DEFAULT= off
enable_snat: yes # If "on": Source natting is done for UE, DEFAULT= off enable_snat: yes # If "on": Source natting is done for UE, DEFAULT= off
remote_n6_gw: localhost # Dummy host since simple-switch does not use N6 GW remote_n6_gw: 127.0.0.1 # Dummy host since simple-switch does not use N6 GW
upf_info: upf_info:
sNssaiUpfInfoList: sNssaiUpfInfoList:
- sNssai: *embb_slice1 - sNssai: *embb_slice1
......
...@@ -54,7 +54,7 @@ services: ...@@ -54,7 +54,7 @@ services:
--continuous-tx -E --continuous-tx -E
--telnetsrv --telnetsrv.shrmod ci --telnetsrv --telnetsrv.shrmod ci
--gNBs.[0].min_rxtxtime 2 --gNBs.[0].do_CSIRS 1 --gNBs.[0].do_SRS 1 --gNBs.[0].min_rxtxtime 2 --gNBs.[0].do_CSIRS 1 --gNBs.[0].do_SRS 1
--RUs.[0].att_rx 18 --RUs.[0].att_tx 18 --RUs.[0].att_rx 14 --RUs.[0].att_tx 14
--log_config.global_log_options level,nocolor,time,line_num,function --log_config.global_log_options level,nocolor,time,line_num,function
volumes: volumes:
- ../../conf_files/gnb-du.sa.band78.106prb.usrpb200.conf:/opt/oai-gnb/etc/gnb.conf - ../../conf_files/gnb-du.sa.band78.106prb.usrpb200.conf:/opt/oai-gnb/etc/gnb.conf
......
...@@ -85,11 +85,9 @@ static const int tables_5_3_2[5][12] = { ...@@ -85,11 +85,9 @@ static const int tables_5_3_2[5][12] = {
{32, 66, 132, 264, -1, -1, -1, -1, -1, -1, -1, -1} // 120FR2 {32, 66, 132, 264, -1, -1, -1, -1, -1, -1, -1, -1} // 120FR2
}; };
int get_supported_band_index(int scs, int band, int n_rbs) int get_supported_band_index(int scs, frequency_range_t freq_range, int n_rbs)
{ {
int scs_index = scs; int scs_index = scs + freq_range;
if (band > 256)
scs_index++;
for (int i = 0; i < 12; i++) { for (int i = 0; i < 12; i++) {
if(n_rbs == tables_5_3_2[scs_index][i]) if(n_rbs == tables_5_3_2[scs_index][i])
return i; return i;
...@@ -224,7 +222,7 @@ bool compare_relative_ul_channel_bw(int nr_band, int scs, int nb_ul, frame_type_ ...@@ -224,7 +222,7 @@ bool compare_relative_ul_channel_bw(int nr_band, int scs, int nb_ul, frame_type_
// 38.101-1 section 6.2.2 // 38.101-1 section 6.2.2
// Relative channel bandwidth <= 4% for TDD bands and <= 3% for FDD bands // Relative channel bandwidth <= 4% for TDD bands and <= 3% for FDD bands
int index = get_nr_table_idx(nr_band, scs); int index = get_nr_table_idx(nr_band, scs);
int bw_index = get_supported_band_index(scs, nr_band, nb_ul); int bw_index = get_supported_band_index(scs, nr_band > 256 ? FR2 : FR1, nb_ul);
int band_size_khz = get_supported_bw_mhz(nr_band > 256 ? FR2 : FR1, bw_index) * 1000; int band_size_khz = get_supported_bw_mhz(nr_band > 256 ? FR2 : FR1, bw_index) * 1000;
float limit = frame_type == TDD ? 0.04 : 0.03; float limit = frame_type == TDD ? 0.04 : 0.03;
float rel_bw = (float) (2 * band_size_khz) / (float) (nr_bandtable[index].ul_max + nr_bandtable[index].ul_min); float rel_bw = (float) (2 * band_size_khz) / (float) (nr_bandtable[index].ul_max + nr_bandtable[index].ul_min);
...@@ -538,29 +536,36 @@ int32_t get_delta_duplex(int nr_bandP, uint8_t scs_index) ...@@ -538,29 +536,36 @@ int32_t get_delta_duplex(int nr_bandP, uint8_t scs_index)
} }
// Returns the corresponding row index of the NR table // Returns the corresponding row index of the NR table
int get_nr_table_idx(int nr_bandP, uint8_t scs_index) { int get_nr_table_idx(int nr_bandP, uint8_t scs_index)
{
int scs_khz = 15 << scs_index; int scs_khz = 15 << scs_index;
int supplementary_bands[] = {29,75,76,80,81,82,83,84,86,89,95}; int supplementary_bands[] = {29, 75, 76, 80, 81, 82, 83, 84, 86, 89, 95};
for(int j = 0; j < sizeofArray(supplementary_bands); j++){ for(int j = 0; j < sizeofArray(supplementary_bands); j++) {
if (nr_bandP == supplementary_bands[j]) AssertFatal(nr_bandP != supplementary_bands[j],
AssertFatal(0 == 1, "Band %d is a supplementary band (%d). This is not supported yet.\n", nr_bandP, supplementary_bands[j]); "Band %d is a supplementary band (%d). This is not supported yet.\n",
nr_bandP,
supplementary_bands[j]);
} }
int i; int i;
for (i = 0; i < sizeofArray(nr_bandtable); i++) { for (i = 0; i < sizeofArray(nr_bandtable); i++) {
if ( nr_bandtable[i].band == nr_bandP && nr_bandtable[i].deltaf_raster == scs_khz ) if (nr_bandtable[i].band == nr_bandP && nr_bandtable[i].deltaf_raster == scs_khz)
break; break;
} }
if (i == sizeofArray(nr_bandtable)) { if (i == sizeofArray(nr_bandtable)) {
LOG_I(PHY, "not found same deltaf_raster == scs_khz, use only band and last deltaf_raster \n"); LOG_D(PHY, "Not found same deltaf_raster == scs_khz, use only band and last deltaf_raster \n");
for(i=sizeofArray(nr_bandtable)-1; i >=0; i--) for(i = sizeofArray(nr_bandtable) - 1; i >= 0; i--)
if ( nr_bandtable[i].band == nr_bandP ) if (nr_bandtable[i].band == nr_bandP)
break; break;
} }
AssertFatal(i >= 0 && i < sizeofArray(nr_bandtable), "band is not existing: %d\n",nr_bandP); AssertFatal(i >= 0 && i < sizeofArray(nr_bandtable), "band is not existing: %d\n", nr_bandP);
LOG_D(PHY, "NR band table index %d (Band %d, dl_min %lu, ul_min %lu)\n", i, nr_bandtable[i].band, nr_bandtable[i].dl_min,nr_bandtable[i].ul_min); LOG_D(PHY,
"NR band table index %d (Band %d, dl_min %lu, ul_min %lu)\n",
i,
nr_bandtable[i].band,
nr_bandtable[i].dl_min,
nr_bandtable[i].ul_min);
return i; return i;
} }
...@@ -829,18 +834,6 @@ void get_samplerate_and_bw(int mu, ...@@ -829,18 +834,6 @@ void get_samplerate_and_bw(int mu,
} }
} }
void get_K1_K2(int N1, int N2, int *K1, int *K2)
{
// num of allowed k1 and k2 according to 5.2.2.2.1-3 and -4 in 38.214
if(N2 == N1 || N1 == 2)
*K1 = 2;
else if (N2 == 1)
*K1 = 5;
else
*K1 = 3;
*K2 = N2 > 1 ? 2 : 1;
}
// from start symbol index and nb or symbols to symbol occupation bitmap in a slot // from start symbol index and nb or symbols to symbol occupation bitmap in a slot
uint16_t SL_to_bitmap(int startSymbolIndex, int nrOfSymbols) { uint16_t SL_to_bitmap(int startSymbolIndex, int nrOfSymbols) {
return ((1<<nrOfSymbols)-1)<<startSymbolIndex; return ((1<<nrOfSymbols)-1)<<startSymbolIndex;
......
...@@ -194,11 +194,10 @@ void SLIV2SL(int SLIV,int *S,int *L); ...@@ -194,11 +194,10 @@ void SLIV2SL(int SLIV,int *S,int *L);
int get_dmrs_port(int nl, uint16_t dmrs_ports); int get_dmrs_port(int nl, uint16_t dmrs_ports);
uint16_t SL_to_bitmap(int startSymbolIndex, int nrOfSymbols); uint16_t SL_to_bitmap(int startSymbolIndex, int nrOfSymbols);
int get_nb_periods_per_frame(uint8_t tdd_period); int get_nb_periods_per_frame(uint8_t tdd_period);
int get_supported_band_index(int scs, int band, int n_rbs);
long rrc_get_max_nr_csrs(const int max_rbs, long b_SRS); long rrc_get_max_nr_csrs(const int max_rbs, long b_SRS);
void get_K1_K2(int N1, int N2, int *K1, int *K2);
bool compare_relative_ul_channel_bw(int nr_band, int scs, int nb_ul, frame_type_t frame_type); bool compare_relative_ul_channel_bw(int nr_band, int scs, int nb_ul, frame_type_t frame_type);
int get_supported_bw_mhz(frequency_range_t frequency_range, int bw_index); int get_supported_bw_mhz(frequency_range_t frequency_range, int bw_index);
int get_supported_band_index(int scs, frequency_range_t freq_range, int n_rbs);
void get_samplerate_and_bw(int mu, void get_samplerate_and_bw(int mu,
int n_rb, int n_rb,
int8_t threequarter_fs, int8_t threequarter_fs,
......
...@@ -60,7 +60,7 @@ Furthermore, the gNB and UE support ...@@ -60,7 +60,7 @@ Furthermore, the gNB and UE support
- Single and multiple DMRS symbols - Single and multiple DMRS symbols
- PTRS support - PTRS support
- Support for 1, 2 and 4 TX antennas - Support for 1, 2 and 4 TX antennas
- Support for up to 2 layers (currently limited to DMRS configuration type 2) - Support for up to 2 layers
- Support for 256 QAM - Support for 256 QAM
* NR-CSIRS Generation of sequence at PHY * NR-CSIRS Generation of sequence at PHY
* NR-PUSCH (including Segmentation, LDPC encoding, rate matching, scrambling, modulation, RB mapping, etc). * NR-PUSCH (including Segmentation, LDPC encoding, rate matching, scrambling, modulation, RB mapping, etc).
......
...@@ -35,4 +35,8 @@ COPY . . ...@@ -35,4 +35,8 @@ COPY . .
RUN /bin/sh oaienv && \ RUN /bin/sh oaienv && \
cd cmake_targets && \ cd cmake_targets && \
mkdir -p log && \ mkdir -p log && \
./build_oai --eNB --gNB --RU --UE --nrUE --ninja --build-lib "telnetsrv enbscope uescope nrscope" -w USRP -t Ethernet --noavx512 -c CXXFLAGS="-Werror -fstack-protector-strong" CFLAGS="-Werror -fstack-protector-strong" ./build_oai -c --ninja \
--eNB --gNB --RU --UE --nrUE \
--build-lib "telnetsrv enbscope uescope nrscope" \
-w USRP -t Ethernet \
--noavx512
...@@ -42,6 +42,6 @@ RUN /bin/sh oaienv && \ ...@@ -42,6 +42,6 @@ RUN /bin/sh oaienv && \
-w USRP -t Ethernet \ -w USRP -t Ethernet \
--build-e2 --cmake-opt -DXAPP_MULTILANGUAGE=OFF \ --build-e2 --cmake-opt -DXAPP_MULTILANGUAGE=OFF \
--noavx512 \ --noavx512 \
--cmake-opt -DCMAKE_C_FLAGS=-Werror --cmake-opt -DCMAKE_CXX_FLAGS=-Werror $BUILD_OPTION && \ --cmake-opt -DCMAKE_C_FLAGS="-Werror -fstack-protector-strong" --cmake-opt -DCMAKE_CXX_FLAGS="-Werror -fstack-protector-strong" $BUILD_OPTION && \
# Mainly to see if the sanitize option was perfectly executed # Mainly to see if the sanitize option was perfectly executed
ldd ran_build/build/nr-softmodem ldd ran_build/build/nr-softmodem
...@@ -49,9 +49,9 @@ RUN apt-get update && \ ...@@ -49,9 +49,9 @@ RUN apt-get update && \
openssl \ openssl \
net-tools \ net-tools \
iperf \ iperf \
iperf3 \
iputils-ping \ iputils-ping \
iproute2 \ iproute2 \
iperf \
gdb \ gdb \
python \ python \
python3 \ python3 \
......
...@@ -47,6 +47,7 @@ RUN dnf update -y && \ ...@@ -47,6 +47,7 @@ RUN dnf update -y && \
libXpm \ libXpm \
libX11 \ libX11 \
atlas \ atlas \
gdb \
lksctp-tools \ lksctp-tools \
tzdata \ tzdata \
net-tools \ net-tools \
......
...@@ -48,6 +48,7 @@ RUN dnf update -y && \ ...@@ -48,6 +48,7 @@ RUN dnf update -y && \
libXpm \ libXpm \
libX11 \ libX11 \
atlas \ atlas \
gdb \
lksctp-tools \ lksctp-tools \
tzdata \ tzdata \
net-tools \ net-tools \
......
...@@ -51,6 +51,7 @@ RUN apt-get update && \ ...@@ -51,6 +51,7 @@ RUN apt-get update && \
libblas3 \ libblas3 \
libatlas3-base \ libatlas3-base \
libconfig9 \ libconfig9 \
gdb \
openssl \ openssl \
net-tools \ net-tools \
iproute2 \ iproute2 \
......
...@@ -49,6 +49,7 @@ RUN apt-get update && \ ...@@ -49,6 +49,7 @@ RUN apt-get update && \
openssl \ openssl \
net-tools \ net-tools \
iperf \ iperf \
iperf3 \
iproute2 \ iproute2 \
iputils-ping \ iputils-ping \
gdb \ gdb \
......
...@@ -56,6 +56,7 @@ RUN apt-get update && \ ...@@ -56,6 +56,7 @@ RUN apt-get update && \
libusb-1.0-0 \ libusb-1.0-0 \
iputils-ping \ iputils-ping \
iproute2 \ iproute2 \
iperf3 \
iperf && \ iperf && \
# if the --sanitize option was used to build, additional packages are required # if the --sanitize option was used to build, additional packages are required
/bin/bash -c 'if [[ "$BUILD_OPTION" = "--sanitize" ]]; then DEBIAN_FRONTEND=noninteractive apt-get install --yes \ /bin/bash -c 'if [[ "$BUILD_OPTION" = "--sanitize" ]]; then DEBIAN_FRONTEND=noninteractive apt-get install --yes \
......
...@@ -56,6 +56,7 @@ RUN apt-get update && \ ...@@ -56,6 +56,7 @@ RUN apt-get update && \
libusb-1.0-0 \ libusb-1.0-0 \
iputils-ping \ iputils-ping \
iproute2 \ iproute2 \
iperf3 \
iperf && \ iperf && \
# if the --sanitize option was used to build, additional packages are required # if the --sanitize option was used to build, additional packages are required
/bin/bash -c 'if [[ "$BUILD_OPTION" = "--sanitize" ]]; then DEBIAN_FRONTEND=noninteractive apt-get install --yes \ /bin/bash -c 'if [[ "$BUILD_OPTION" = "--sanitize" ]]; then DEBIAN_FRONTEND=noninteractive apt-get install --yes \
......
...@@ -10,9 +10,10 @@ die() { ...@@ -10,9 +10,10 @@ die() {
exit 1 exit 1
} }
# for mounting into docker, need absolute path -> realpath
IMAGE=$1 IMAGE=$1
COREDUMP=$2 COREDUMP=$(realpath $2)
SOURCES=$3 SOURCES=$(realpath $3)
set -x set -x
...@@ -32,6 +33,9 @@ docker image inspect $IMAGE > /dev/null || exit 1 ...@@ -32,6 +33,9 @@ docker image inspect $IMAGE > /dev/null || exit 1
if [ $(grep "oai-gnb:" <<< $IMAGE) ] || [ $(grep "oai-gnb-aerial:" <<< $IMAGE) ]; then if [ $(grep "oai-gnb:" <<< $IMAGE) ] || [ $(grep "oai-gnb-aerial:" <<< $IMAGE) ]; then
EXEC=bin/nr-softmodem EXEC=bin/nr-softmodem
TYPEPATH=oai-gnb TYPEPATH=oai-gnb
elif [ $(grep "oai-gnb-aw2s:" <<< $IMAGE) ]; then
EXEC=bin/nr-softmodem
TYPEPATH=oai-gnb-aw2s
elif [ $(grep "oai-nr-ue:" <<< $IMAGE) ]; then elif [ $(grep "oai-nr-ue:" <<< $IMAGE) ]; then
EXEC=bin/nr-uesoftmodem EXEC=bin/nr-uesoftmodem
TYPEPATH=oai-nr-ue TYPEPATH=oai-nr-ue
......
...@@ -254,9 +254,10 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB) ...@@ -254,9 +254,10 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB)
gNB->nr_srs_info = (nr_srs_info_t **)malloc16_clear(gNB->max_nb_srs * sizeof(nr_srs_info_t*)); gNB->nr_srs_info = (nr_srs_info_t **)malloc16_clear(gNB->max_nb_srs * sizeof(nr_srs_info_t*));
for (int id = 0; id < gNB->max_nb_srs; id++) { for (int id = 0; id < gNB->max_nb_srs; id++) {
gNB->nr_srs_info[id] = (nr_srs_info_t *)malloc16_clear(sizeof(nr_srs_info_t)); gNB->nr_srs_info[id] = (nr_srs_info_t *)malloc16_clear(sizeof(nr_srs_info_t));
gNB->nr_srs_info[id]->srs_generated_signal = (int32_t**)malloc16_clear(MAX_NUM_NR_SRS_AP*sizeof(int32_t*)); gNB->nr_srs_info[id]->srs_generated_signal = malloc16_clear(MAX_NUM_NR_SRS_AP * sizeof(c16_t *));
for(int ap=0; ap<MAX_NUM_NR_SRS_AP; ap++) { for(int ap=0; ap<MAX_NUM_NR_SRS_AP; ap++) {
gNB->nr_srs_info[id]->srs_generated_signal[ap] = (int32_t*)malloc16_clear(fp->ofdm_symbol_size*MAX_NUM_NR_SRS_SYMBOLS*sizeof(int32_t)); gNB->nr_srs_info[id]->srs_generated_signal[ap] =
malloc16_clear(fp->ofdm_symbol_size * MAX_NUM_NR_SRS_SYMBOLS * sizeof(c16_t));
} }
} }
...@@ -513,7 +514,7 @@ void nr_phy_config_request_sim(PHY_VARS_gNB *gNB, ...@@ -513,7 +514,7 @@ void nr_phy_config_request_sim(PHY_VARS_gNB *gNB,
} }
fp->threequarter_fs = 0; fp->threequarter_fs = 0;
int bw_index = get_supported_band_index(mu, fp->nr_band, N_RB_DL); int bw_index = get_supported_band_index(mu, fp->nr_band > 256 ? FR2 : FR1, N_RB_DL);
gNB_config->carrier_config.dl_bandwidth.value = get_supported_bw_mhz(fp->nr_band > 256 ? FR2 : FR1, bw_index); gNB_config->carrier_config.dl_bandwidth.value = get_supported_bw_mhz(fp->nr_band > 256 ? FR2 : FR1, bw_index);
nr_init_frame_parms(gNB_config, fp); nr_init_frame_parms(gNB_config, fp);
......
...@@ -318,24 +318,19 @@ void nr_layer_mapping(int nbCodes, ...@@ -318,24 +318,19 @@ void nr_layer_mapping(int nbCodes,
} }
} }
void nr_ue_layer_mapping(int16_t *mod_symbs, void nr_ue_layer_mapping(const c16_t *mod_symbs, const int n_layers, const int n_symbs, int sz, c16_t tx_layers[][sz])
uint8_t n_layers, {
uint32_t n_symbs,
int16_t **tx_layers) {
for (int i=0; i<n_symbs/n_layers; i++) { for (int i=0; i<n_symbs/n_layers; i++) {
for (int l=0; l<n_layers; l++) { for (int l=0; l<n_layers; l++) {
tx_layers[l][i<<1] = (mod_symbs[(n_layers*i+l)<<1]*AMP)>>15; tx_layers[l][i] = c16mulRealShift(mod_symbs[n_layers * i + l], AMP, 15);
tx_layers[l][(i<<1)+1] = (mod_symbs[((n_layers*i+l)<<1)+1]*AMP)>>15;
} }
} }
} }
void nr_dft(c16_t *z, c16_t *d, uint32_t Msc_PUSCH)
void nr_dft(int32_t *z, int32_t *d, uint32_t Msc_PUSCH)
{ {
simde__m128i dft_in128[1][3240], dft_out128[1][3240]; simde__m128i dft_in128[3240], dft_out128[3240];
uint32_t *dft_in0 = (uint32_t*)dft_in128[0], *dft_out0 = (uint32_t*)dft_out128[0]; c16_t *dft_in0 = (c16_t *)dft_in128, *dft_out0 = (c16_t *)dft_out128;
uint32_t i, ip; uint32_t i, ip;
...@@ -659,36 +654,32 @@ void init_timeshift_rotation(NR_DL_FRAME_PARMS *fp) ...@@ -659,36 +654,32 @@ void init_timeshift_rotation(NR_DL_FRAME_PARMS *fp)
} }
} }
int nr_layer_precoder(int16_t **datatx_F_precoding, const char *prec_matrix, uint8_t n_layers, int32_t re_offset) c16_t nr_layer_precoder(int sz, c16_t datatx_F_precoding[][sz], const char *prec_matrix, uint8_t n_layers, int32_t re_offset)
{ {
int32_t precodatatx_F = 0; c16_t precodatatx_F = {0};
for (int al = 0; al<n_layers; al++) { for (int al = 0; al<n_layers; al++) {
int16_t antenna_re = datatx_F_precoding[al][re_offset<<1]; c16_t antenna = datatx_F_precoding[al][re_offset];
int16_t antenna_im = datatx_F_precoding[al][(re_offset<<1) +1];
switch (prec_matrix[al]) { switch (prec_matrix[al]) {
case '0': //multiply by zero case '0': //multiply by zero
break; break;
case '1': //multiply by 1 case '1': //multiply by 1
((int16_t *) &precodatatx_F)[0] += antenna_re; precodatatx_F = c16add(precodatatx_F, antenna);
((int16_t *) &precodatatx_F)[1] += antenna_im;
break; break;
case 'n': // multiply by -1 case 'n': // multiply by -1
((int16_t *) &precodatatx_F)[0] -= antenna_re; precodatatx_F = c16sub(precodatatx_F, antenna);
((int16_t *) &precodatatx_F)[1] -= antenna_im;
break; break;
case 'j': // case 'j': //
((int16_t *) &precodatatx_F)[0] -= antenna_im; precodatatx_F.r -= antenna.i;
((int16_t *) &precodatatx_F)[1] += antenna_re; precodatatx_F.i += antenna.r;
break; break;
case 'o': // -j case 'o': // -j
((int16_t *) &precodatatx_F)[0] += antenna_im; precodatatx_F.r += antenna.i;
((int16_t *) &precodatatx_F)[1] -= antenna_re; precodatatx_F.i -= antenna.r;
break; break;
} }
} }
......
...@@ -68,13 +68,7 @@ void nr_layer_mapping(int nbCodes, ...@@ -68,13 +68,7 @@ void nr_layer_mapping(int nbCodes,
@param[in] n_symbs, number of modulated symbols @param[in] n_symbs, number of modulated symbols
@param[out] tx_layers, modulated symbols for each layer @param[out] tx_layers, modulated symbols for each layer
*/ */
void nr_ue_layer_mapping(const c16_t *mod_symbs, const int n_layers, const int n_symbs, int sz, c16_t tx_layers[][sz]);
void nr_ue_layer_mapping(int16_t *mod_symbs,
uint8_t n_layers,
uint32_t n_symbs,
int16_t **tx_layers);
/*! /*!
\brief This function implements the OFDM front end processor on reception (FEP) \brief This function implements the OFDM front end processor on reception (FEP)
\param frame_parms Pointer to frame parameters \param frame_parms Pointer to frame parameters
...@@ -98,7 +92,7 @@ int nr_slot_fep_ul(NR_DL_FRAME_PARMS *frame_parms, ...@@ -98,7 +92,7 @@ int nr_slot_fep_ul(NR_DL_FRAME_PARMS *frame_parms,
\param d Pointer to input in time domain \param d Pointer to input in time domain
\param Msc_PUSCH number of allocated data subcarriers \param Msc_PUSCH number of allocated data subcarriers
*/ */
void nr_dft(int32_t *z,int32_t *d, uint32_t Msc_PUSCH); void nr_dft(c16_t *z, c16_t *d, uint32_t Msc_PUSCH);
int nr_beam_precoding(c16_t **txdataF, int nr_beam_precoding(c16_t **txdataF,
c16_t **txdataF_BF, c16_t **txdataF_BF,
...@@ -137,7 +131,7 @@ void apply_nr_rotation_RX(NR_DL_FRAME_PARMS *frame_parms, ...@@ -137,7 +131,7 @@ void apply_nr_rotation_RX(NR_DL_FRAME_PARMS *frame_parms,
@param[in] prec_matrix, Pointer to precoding matrix @param[in] prec_matrix, Pointer to precoding matrix
@param[in] n_layers, number of DLSCH layers @param[in] n_layers, number of DLSCH layers
*/ */
int nr_layer_precoder(int16_t **datatx_F_precoding, const char *prec_matrix, uint8_t n_layers, int32_t re_offset); c16_t nr_layer_precoder(int sz, c16_t datatx_F_precoding[][sz], const char *prec_matrix, uint8_t n_layers, int32_t re_offset);
c16_t nr_layer_precoder_cm(int n_layers, c16_t nr_layer_precoder_cm(int n_layers,
int n_symbols, int n_symbols,
......
...@@ -66,14 +66,15 @@ __attribute__((always_inline)) inline c16_t c32x16cumulVectVectWithSteps(c16_t * ...@@ -66,14 +66,15 @@ __attribute__((always_inline)) inline c16_t c32x16cumulVectVectWithSteps(c16_t *
int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB, int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
unsigned char Ns, unsigned char Ns,
int nl,
unsigned short p, unsigned short p,
unsigned char symbol, unsigned char symbol,
int ul_id, int ul_id,
unsigned short bwp_start_subcarrier, unsigned short bwp_start_subcarrier,
nfapi_nr_pusch_pdu_t *pusch_pdu, nfapi_nr_pusch_pdu_t *pusch_pdu,
int *max_ch, int *max_ch,
uint32_t *nvar) { uint32_t *nvar)
{
c16_t pilot[3280] __attribute__((aligned(32))); c16_t pilot[3280] __attribute__((aligned(32)));
const int chest_freq = gNB->chest_freq; const int chest_freq = gNB->chest_freq;
...@@ -81,20 +82,17 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB, ...@@ -81,20 +82,17 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
FILE *debug_ch_est; FILE *debug_ch_est;
debug_ch_est = fopen("debug_ch_est.txt","w"); debug_ch_est = fopen("debug_ch_est.txt","w");
#endif #endif
//uint16_t Nid_cell = (eNB_offset == 0) ? gNB->frame_parms.Nid_cell : gNB->measurements.adj_cell_id[eNB_offset-1];
NR_gNB_PUSCH *pusch_vars = &gNB->pusch_vars[ul_id]; NR_gNB_PUSCH *pusch_vars = &gNB->pusch_vars[ul_id];
c16_t **ul_ch_estimates = (c16_t **)pusch_vars->ul_ch_estimates; c16_t **ul_ch_estimates = (c16_t **)pusch_vars->ul_ch_estimates;
const int symbolSize = gNB->frame_parms.ofdm_symbol_size; const int symbolSize = gNB->frame_parms.ofdm_symbol_size;
const int soffset = (Ns&3)*gNB->frame_parms.symbols_per_slot*symbolSize; const int soffset = (Ns & 3) * gNB->frame_parms.symbols_per_slot*symbolSize;
const int nushift = (p >> 1) & 1; const int nushift = (p >> 1) & 1;
int ch_offset = symbolSize*symbol; int ch_offset = symbolSize*symbol;
const int symbol_offset = symbolSize*symbol; const int symbol_offset = symbolSize*symbol;
const int k0 = bwp_start_subcarrier; const int k0 = bwp_start_subcarrier;
const int nb_rb_pusch = pusch_pdu->rb_size; const int nb_rb_pusch = pusch_pdu->rb_size;
LOG_D(PHY, "In %s: ch_offset %d, soffset %d, symbol_offset %d, OFDM size %d, Ns = %d, k0 = %d, symbol %d\n", LOG_D(PHY, "ch_offset %d, soffset %d, symbol_offset %d, OFDM size %d, Ns = %d, k0 = %d, symbol %d\n",
__FUNCTION__,
ch_offset, soffset, ch_offset, soffset,
symbol_offset, symbol_offset,
symbolSize, symbolSize,
...@@ -114,7 +112,7 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB, ...@@ -114,7 +112,7 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
nr_pusch_dmrs_rx(gNB, nr_pusch_dmrs_rx(gNB,
Ns, Ns,
gNB->nr_gold_pusch_dmrs[pusch_pdu->scid][Ns][symbol], gNB->nr_gold_pusch_dmrs[pusch_pdu->scid][Ns][symbol],
(int32_t *)pilot, pilot,
(1000 + p), (1000 + p),
0, 0,
nb_rb_pusch, nb_rb_pusch,
...@@ -122,14 +120,14 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB, ...@@ -122,14 +120,14 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
pusch_pdu->dmrs_config_type); pusch_pdu->dmrs_config_type);
} else { // if transform precoding or SC-FDMA is enabled in Uplink } else { // if transform precoding or SC-FDMA is enabled in Uplink
// NR_SC_FDMA supports type1 DMRS so only 6 DMRS REs per RB possible // NR_SC_FDMA supports type1 DMRS so only 6 DMRS REs per RB possible
const uint16_t index = get_index_for_dmrs_lowpapr_seq(nb_rb_pusch * (NR_NB_SC_PER_RB/2)); const int index = get_index_for_dmrs_lowpapr_seq(nb_rb_pusch * (NR_NB_SC_PER_RB / 2));
const uint8_t u = pusch_pdu->dfts_ofdm.low_papr_group_number; const uint8_t u = pusch_pdu->dfts_ofdm.low_papr_group_number;
const uint8_t v = pusch_pdu->dfts_ofdm.low_papr_sequence_number; const uint8_t v = pusch_pdu->dfts_ofdm.low_papr_sequence_number;
int16_t *dmrs_seq = gNB_dmrs_lowpaprtype1_sequence[u][v][index]; c16_t *dmrs_seq = gNB_dmrs_lowpaprtype1_sequence[u][v][index];
LOG_D(PHY,"Transform Precoding params. u: %d, v: %d, index for dmrsseq: %d\n", u, v, index); LOG_D(PHY,"Transform Precoding params. u: %d, v: %d, index for dmrsseq: %d\n", u, v, index);
AssertFatal(index >= 0, "Num RBs not configured according to 3GPP 38.211 section 6.3.1.4. For PUSCH with transform precoding, num RBs cannot be multiple of any other primenumber other than 2,3,5\n"); AssertFatal(index >= 0, "Num RBs not configured according to 3GPP 38.211 section 6.3.1.4. For PUSCH with transform precoding, num RBs cannot be multiple of any other primenumber other than 2,3,5\n");
AssertFatal(dmrs_seq != NULL, "DMRS low PAPR seq not found, check if DMRS sequences are generated"); AssertFatal(dmrs_seq != NULL, "DMRS low PAPR seq not found, check if DMRS sequences are generated");
nr_pusch_lowpaprtype1_dmrs_rx(gNB, Ns, dmrs_seq, (int32_t *)pilot, 1000, 0, nb_rb_pusch, 0, pusch_pdu->dmrs_config_type); nr_pusch_lowpaprtype1_dmrs_rx(gNB, Ns, dmrs_seq, pilot, 1000, 0, nb_rb_pusch, 0, pusch_pdu->dmrs_config_type);
#ifdef DEBUG_PUSCH #ifdef DEBUG_PUSCH
printf ("NR_UL_CHANNEL_EST: index %d, u %d,v %d\n", index, u, v); printf ("NR_UL_CHANNEL_EST: index %d, u %d,v %d\n", index, u, v);
LOG_M("gNb_DMRS_SEQ.m","gNb_DMRS_SEQ", dmrs_seq,6*nb_rb_pusch,1,1); LOG_M("gNb_DMRS_SEQ.m","gNb_DMRS_SEQ", dmrs_seq,6*nb_rb_pusch,1,1);
...@@ -154,7 +152,7 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB, ...@@ -154,7 +152,7 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
for (int aarx=0; aarx<gNB->frame_parms.nb_antennas_rx; aarx++) { for (int aarx=0; aarx<gNB->frame_parms.nb_antennas_rx; aarx++) {
c16_t *rxdataF = (c16_t *)&gNB->common_vars.rxdataF[aarx][symbol_offset]; c16_t *rxdataF = (c16_t *)&gNB->common_vars.rxdataF[aarx][symbol_offset];
c16_t *ul_ch = &ul_ch_estimates[p*gNB->frame_parms.nb_antennas_rx+aarx][ch_offset]; c16_t *ul_ch = &ul_ch_estimates[nl * gNB->frame_parms.nb_antennas_rx + aarx][ch_offset];
memset(ul_ch,0,sizeof(*ul_ch)*symbolSize); memset(ul_ch,0,sizeof(*ul_ch)*symbolSize);
#ifdef DEBUG_PUSCH #ifdef DEBUG_PUSCH
...@@ -235,7 +233,7 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB, ...@@ -235,7 +233,7 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
// Revert delay // Revert delay
pilot_cnt = 0; pilot_cnt = 0;
ul_ch = &ul_ch_estimates[p * gNB->frame_parms.nb_antennas_rx + aarx][ch_offset]; ul_ch = &ul_ch_estimates[nl * gNB->frame_parms.nb_antennas_rx + aarx][ch_offset];
int inv_delay_idx = get_delay_idx(-delay->est_delay, MAX_DELAY_COMP); int inv_delay_idx = get_delay_idx(-delay->est_delay, MAX_DELAY_COMP);
c16_t *ul_inv_delay_table = gNB->frame_parms.delay_table[inv_delay_idx]; c16_t *ul_inv_delay_table = gNB->frame_parms.delay_table[inv_delay_idx];
for (int n = 0; n < 3 * nb_rb_pusch; n++) { for (int n = 0; n < 3 * nb_rb_pusch; n++) {
...@@ -450,7 +448,7 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB, ...@@ -450,7 +448,7 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
} }
#ifdef DEBUG_PUSCH #ifdef DEBUG_PUSCH
ul_ch = &ul_ch_estimates[p * gNB->frame_parms.nb_antennas_rx + aarx][ch_offset]; ul_ch = &ul_ch_estimates[nl * gNB->frame_parms.nb_antennas_rx + aarx][ch_offset];
for (int idxP = 0; idxP < ceil((float)nb_rb_pusch * 12 / 8); idxP++) { for (int idxP = 0; idxP < ceil((float)nb_rb_pusch * 12 / 8); idxP++) {
for (int idxI = 0; idxI < 8; idxI++) { for (int idxI = 0; idxI < 8; idxI++) {
printf("%d\t%d\t", ul_ch[idxP * 8 + idxI].r, ul_ch[idxP * 8 + idxI].i); printf("%d\t%d\t", ul_ch[idxP * 8 + idxI].r, ul_ch[idxP * 8 + idxI].i);
...@@ -611,19 +609,21 @@ uint32_t calc_power(const int16_t *x, const uint32_t size) { ...@@ -611,19 +609,21 @@ uint32_t calc_power(const int16_t *x, const uint32_t size) {
return sum_x2/size - (sum_x/size)*(sum_x/size); return sum_x2/size - (sum_x/size)*(sum_x/size);
} }
int nr_srs_channel_estimation(const PHY_VARS_gNB *gNB, int nr_srs_channel_estimation(
const int frame, const PHY_VARS_gNB *gNB,
const int slot, const int frame,
const nfapi_nr_srs_pdu_t *srs_pdu, const int slot,
const nr_srs_info_t *nr_srs_info, const nfapi_nr_srs_pdu_t *srs_pdu,
const int32_t **srs_generated_signal, const nr_srs_info_t *nr_srs_info,
int32_t srs_received_signal[][gNB->frame_parms.ofdm_symbol_size*(1<<srs_pdu->num_symbols)], const c16_t **srs_generated_signal,
int32_t srs_estimated_channel_freq[][1<<srs_pdu->num_ant_ports][gNB->frame_parms.ofdm_symbol_size*(1<<srs_pdu->num_symbols)], int32_t srs_received_signal[][gNB->frame_parms.ofdm_symbol_size * (1 << srs_pdu->num_symbols)],
int32_t srs_estimated_channel_time[][1<<srs_pdu->num_ant_ports][gNB->frame_parms.ofdm_symbol_size], int32_t srs_estimated_channel_freq[][1 << srs_pdu->num_ant_ports]
int32_t srs_estimated_channel_time_shifted[][1<<srs_pdu->num_ant_ports][gNB->frame_parms.ofdm_symbol_size], [gNB->frame_parms.ofdm_symbol_size * (1 << srs_pdu->num_symbols)],
int8_t *snr_per_rb, int32_t srs_estimated_channel_time[][1 << srs_pdu->num_ant_ports][gNB->frame_parms.ofdm_symbol_size],
int8_t *snr) { int32_t srs_estimated_channel_time_shifted[][1 << srs_pdu->num_ant_ports][gNB->frame_parms.ofdm_symbol_size],
int8_t *snr_per_rb,
int8_t *snr)
{
#ifdef SRS_DEBUG #ifdef SRS_DEBUG
LOG_I(NR_PHY,"Calling %s function\n", __FUNCTION__); LOG_I(NR_PHY,"Calling %s function\n", __FUNCTION__);
#endif #endif
...@@ -694,9 +694,8 @@ int nr_srs_channel_estimation(const PHY_VARS_gNB *gNB, ...@@ -694,9 +694,8 @@ int nr_srs_channel_estimation(const PHY_VARS_gNB *gNB,
uint16_t subcarrier_cdm = subcarrier; uint16_t subcarrier_cdm = subcarrier;
for (int cdm_idx = 0; cdm_idx < fd_cdm; cdm_idx++) { for (int cdm_idx = 0; cdm_idx < fd_cdm; cdm_idx++) {
int16_t generated_real = srs_generated_signal[p_index][subcarrier_cdm].r;
int16_t generated_real = ((c16_t*)srs_generated_signal[p_index])[subcarrier_cdm].r; int16_t generated_imag = srs_generated_signal[p_index][subcarrier_cdm].i;
int16_t generated_imag = ((c16_t*)srs_generated_signal[p_index])[subcarrier_cdm].i;
int16_t received_real = ((c16_t*)srs_received_signal[ant])[subcarrier_cdm].r; int16_t received_real = ((c16_t*)srs_received_signal[ant])[subcarrier_cdm].r;
int16_t received_imag = ((c16_t*)srs_received_signal[ant])[subcarrier_cdm].i; int16_t received_imag = ((c16_t*)srs_received_signal[ant])[subcarrier_cdm].i;
......
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB, int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
unsigned char Ns, unsigned char Ns,
int nl,
unsigned short p, unsigned short p,
unsigned char symbol, unsigned char symbol,
int ul_id, int ul_id,
...@@ -72,18 +73,20 @@ void nr_pusch_ptrs_processing(PHY_VARS_gNB *gNB, ...@@ -72,18 +73,20 @@ void nr_pusch_ptrs_processing(PHY_VARS_gNB *gNB,
unsigned char symbol, unsigned char symbol,
uint32_t nb_re_pusch); uint32_t nb_re_pusch);
int nr_srs_channel_estimation(const PHY_VARS_gNB *gNB, int nr_srs_channel_estimation(
const int frame, const PHY_VARS_gNB *gNB,
const int slot, const int frame,
const nfapi_nr_srs_pdu_t *srs_pdu, const int slot,
const nr_srs_info_t *nr_srs_info, const nfapi_nr_srs_pdu_t *srs_pdu,
const int32_t **srs_generated_signal, const nr_srs_info_t *nr_srs_info,
int32_t srs_received_signal[][gNB->frame_parms.ofdm_symbol_size*(1<<srs_pdu->num_symbols)], const c16_t **srs_generated_signal,
int32_t srs_estimated_channel_freq[][1<<srs_pdu->num_ant_ports][gNB->frame_parms.ofdm_symbol_size*(1<<srs_pdu->num_symbols)], int32_t srs_received_signal[][gNB->frame_parms.ofdm_symbol_size * (1 << srs_pdu->num_symbols)],
int32_t srs_estimated_channel_time[][1<<srs_pdu->num_ant_ports][gNB->frame_parms.ofdm_symbol_size], int32_t srs_estimated_channel_freq[][1 << srs_pdu->num_ant_ports]
int32_t srs_estimated_channel_time_shifted[][1<<srs_pdu->num_ant_ports][gNB->frame_parms.ofdm_symbol_size], [gNB->frame_parms.ofdm_symbol_size * (1 << srs_pdu->num_symbols)],
int8_t *snr_per_rb, int32_t srs_estimated_channel_time[][1 << srs_pdu->num_ant_ports][gNB->frame_parms.ofdm_symbol_size],
int8_t *snr); int32_t srs_estimated_channel_time_shifted[][1 << srs_pdu->num_ant_ports][gNB->frame_parms.ofdm_symbol_size],
int8_t *snr_per_rb,
int8_t *snr);
void nr_freq_equalization(NR_DL_FRAME_PARMS *frame_parms, void nr_freq_equalization(NR_DL_FRAME_PARMS *frame_parms,
int *rxdataF_comp, int *rxdataF_comp,
......
This diff is collapsed.
...@@ -54,7 +54,7 @@ int nr_pusch_dmrs_delta(uint8_t dmrs_config_type, unsigned short p); ...@@ -54,7 +54,7 @@ int nr_pusch_dmrs_delta(uint8_t dmrs_config_type, unsigned short p);
int nr_pusch_dmrs_rx(PHY_VARS_gNB *gNB, int nr_pusch_dmrs_rx(PHY_VARS_gNB *gNB,
unsigned int Ns, unsigned int Ns,
unsigned int *nr_gold_pusch, unsigned int *nr_gold_pusch,
int32_t *output, c16_t *output,
unsigned short p, unsigned short p,
unsigned char lp, unsigned char lp,
unsigned short nb_pusch_rb, unsigned short nb_pusch_rb,
...@@ -68,18 +68,14 @@ extern simde__m64 byte2m64_re[256]; ...@@ -68,18 +68,14 @@ extern simde__m64 byte2m64_re[256];
extern simde__m64 byte2m64_im[256]; extern simde__m64 byte2m64_im[256];
extern simde__m128i byte2m128i[256]; extern simde__m128i byte2m128i[256];
int nr_pusch_lowpaprtype1_dmrs_rx(PHY_VARS_gNB *gNB, int nr_pusch_lowpaprtype1_dmrs_rx(PHY_VARS_gNB *gNB,
unsigned int Ns, unsigned int Ns,
int16_t *dmrs_seq, c16_t *dmrs_seq,
int32_t *output, c16_t *output,
unsigned short p, unsigned short p,
unsigned char lp, unsigned char lp,
unsigned short nb_pusch_rb, unsigned short nb_pusch_rb,
uint32_t re_offset, uint32_t re_offset,
uint8_t dmrs_type); uint8_t dmrs_type);
#endif #endif
...@@ -27,13 +27,10 @@ ...@@ -27,13 +27,10 @@
#include "PHY/defs_nr_UE.h" #include "PHY/defs_nr_UE.h"
#include "PHY/LTE_REFSIG/lte_refsig.h" #include "PHY/LTE_REFSIG/lte_refsig.h"
/*!\brief This function generates the NR Gold sequence (38-211, Sec 5.2.1) for the PBCH DMRS. /*!\brief This function generates the NR Gold sequence (38-211, Sec 5.2.1) for the PBCH DMRS.
@param PHY_VARS_NR_UE* ue structure provides configuration, frame parameters and the pointers to the 32 bits sequence storage tables @param PHY_VARS_NR_UE* ue structure provides configuration, frame parameters and the pointers to the 32 bits sequence storage tables
*/ */
int nr_pbch_dmrs_rx(int dmrss, void nr_pbch_dmrs_rx(const int dmrss, const unsigned int *nr_gold_pbch, c16_t *output);
unsigned int *nr_gold_pbch,
int32_t *output);
/*!\brief This function generates the NR Gold sequence (38-211, Sec 5.2.1) for the PDCCH DMRS. /*!\brief This function generates the NR Gold sequence (38-211, Sec 5.2.1) for the PDCCH DMRS.
@param PHY_VARS_NR_UE* ue structure provides configuration, frame parameters and the pointers to the 32 bits sequence storage tables @param PHY_VARS_NR_UE* ue structure provides configuration, frame parameters and the pointers to the 32 bits sequence storage tables
...@@ -41,14 +38,14 @@ int nr_pbch_dmrs_rx(int dmrss, ...@@ -41,14 +38,14 @@ int nr_pbch_dmrs_rx(int dmrss,
int nr_pdcch_dmrs_rx(PHY_VARS_NR_UE *ue, int nr_pdcch_dmrs_rx(PHY_VARS_NR_UE *ue,
unsigned int Ns, unsigned int Ns,
unsigned int *nr_gold_pdcch, unsigned int *nr_gold_pdcch,
int32_t *output, c16_t *output,
unsigned short p, unsigned short p,
unsigned short nb_rb_corset); unsigned short nb_rb_corset);
int nr_pdsch_dmrs_rx(PHY_VARS_NR_UE *ue, int nr_pdsch_dmrs_rx(PHY_VARS_NR_UE *ue,
unsigned int Ns, unsigned int Ns,
unsigned int *nr_gold_pdsch, unsigned int *nr_gold_pdsch,
int32_t *output, c16_t *output,
unsigned short p, unsigned short p,
unsigned char lp, unsigned char lp,
unsigned short nb_pdsch_rb, unsigned short nb_pdsch_rb,
......
...@@ -52,53 +52,44 @@ ...@@ -52,53 +52,44 @@
* *
*********************************************************************/ *********************************************************************/
static int16_t *base_sequence_less_than_36(unsigned int M_ZC, unsigned int u, unsigned int scaling) static c16_t *base_sequence_less_than_36(unsigned int M_ZC, unsigned int u, unsigned int scaling)
{ {
char *phi_table; const char *phi_table;
int16_t *rv_overbar;
double x;
unsigned int n;
switch(M_ZC) { switch(M_ZC) {
case 6: case 6:
phi_table = (char *)phi_M_ZC_6; phi_table = phi_M_ZC_6;
break; break;
case 12: case 12:
phi_table = (char *)phi_M_ZC_12; phi_table = phi_M_ZC_12;
break; break;
case 18: case 18:
phi_table = (char *)phi_M_ZC_18; phi_table = phi_M_ZC_18;
break; break;
case 24: case 24:
phi_table = (char *)phi_M_ZC_24; phi_table = phi_M_ZC_24;
break; break;
case 30: case 30:
break; break;
default: default:
printf("function base_sequence_less_than 36_: unsupported base sequence size : %u \n", M_ZC); AssertFatal(false, "function base_sequence_less_than 36_: unsupported base sequence size : %u \n", M_ZC);
assert(0);
break; break;
} }
rv_overbar = malloc16(IQ_SIZE*M_ZC); c16_t *rv_overbar = malloc16(IQ_SIZE * M_ZC);
AssertFatal(rv_overbar, "Fatal memory allocation problem \n");
if (rv_overbar == NULL) {
msg("Fatal memory allocation problem \n");
assert(0);
}
if (M_ZC == 30) { if (M_ZC == 30) {
for (n=0; n<M_ZC; n++) { for (unsigned int n = 0; n < M_ZC; n++) {
x = -(M_PI * (u + 1) * (n + 1) * (n + 2))/(double)31; const double x = -(M_PI * (u + 1) * (n + 1) * (n + 2)) / (double)31;
rv_overbar[2*n] =(int16_t)(floor(scaling*cos(x))); rv_overbar[n].r = (int16_t)(floor(scaling * cos(x)));
rv_overbar[2*n+1] =(int16_t)(floor(scaling*sin(x))); rv_overbar[n].i = (int16_t)(floor(scaling * sin(x)));
} }
} }
else { else {
for (n=0; n<M_ZC; n++) { for (unsigned int n = 0; n < M_ZC; n++) {
x = (double)phi_table[n + u*M_ZC] * (M_PI/4); const double x = (double)phi_table[n + u * M_ZC] * (M_PI / 4);
rv_overbar[2*n] = (int16_t)(floor(scaling*cos(x))); rv_overbar[n].r = (int16_t)(floor(scaling * cos(x)));
rv_overbar[2*n+1] = (int16_t)(floor(scaling*sin(x))); rv_overbar[n].i = (int16_t)(floor(scaling * sin(x)));
} }
} }
return rv_overbar; return rv_overbar;
...@@ -117,9 +108,9 @@ static int16_t *base_sequence_less_than_36(unsigned int M_ZC, unsigned int u, un ...@@ -117,9 +108,9 @@ static int16_t *base_sequence_less_than_36(unsigned int M_ZC, unsigned int u, un
* *
*********************************************************************/ *********************************************************************/
int16_t get_index_for_dmrs_lowpapr_seq(int16_t num_dmrs_res) { int get_index_for_dmrs_lowpapr_seq(int num_dmrs_res)
{
int16_t index = num_dmrs_res/6 - 1; int index = num_dmrs_res / 6 - 1;
if (index >= MAX_INDEX_DMRS_UL_ALLOCATED_REs) if (index >= MAX_INDEX_DMRS_UL_ALLOCATED_REs)
index = MAX_INDEX_DMRS_UL_ALLOCATED_REs-1; index = MAX_INDEX_DMRS_UL_ALLOCATED_REs-1;
...@@ -149,79 +140,63 @@ int16_t get_index_for_dmrs_lowpapr_seq(int16_t num_dmrs_res) { ...@@ -149,79 +140,63 @@ int16_t get_index_for_dmrs_lowpapr_seq(int16_t num_dmrs_res) {
* *
*********************************************************************/ *********************************************************************/
static int16_t *base_sequence_36_or_larger(unsigned int Msc_RS, static c16_t *base_sequence_36_or_larger(unsigned int Msc_RS,
unsigned int u, unsigned int u,
unsigned int v, unsigned int v,
unsigned int scaling, unsigned int scaling,
unsigned int if_dmrs_seq) unsigned int if_dmrs_seq)
{ {
int16_t *rv_overbar; const unsigned int M_ZC = if_dmrs_seq ? dmrs_ul_allocated_res[Msc_RS] : ul_allocated_re[Msc_RS];
unsigned int N_ZC, M_ZC;
double q_overbar, x;
unsigned int q,m,n;
if (if_dmrs_seq) c16_t *rv_overbar = malloc16(IQ_SIZE * M_ZC);
M_ZC = dmrs_ul_allocated_res[Msc_RS]; AssertFatal(rv_overbar, "Fatal memory allocation problem \n");
else
M_ZC = ul_allocated_re[Msc_RS];
rv_overbar = malloc16(IQ_SIZE*M_ZC); /* The length N_ZC is given by the largest prime number such that N_ZC < M_ZC */
if (rv_overbar == NULL) { const unsigned int N_ZC = if_dmrs_seq ? dmrs_ref_ul_primes[Msc_RS] : ref_ul_primes[Msc_RS];
msg("Fatal memory allocation problem \n");
assert(0);
}
if (if_dmrs_seq) const double q_overbar = N_ZC * (u + 1) / (double)31;
N_ZC = dmrs_ref_ul_primes[Msc_RS];
else
N_ZC = ref_ul_primes[Msc_RS]; /* The length N_ZC is given by the largest prime number such that N_ZC < M_ZC */
q_overbar = N_ZC * (u+1)/(double)31;
/* q = (q_overbar + 1/2) + v.(-1)^(2q_overbar) */ /* q = (q_overbar + 1/2) + v.(-1)^(2q_overbar) */
double q;
if ((((int)floor(2*q_overbar))&1) == 0) if ((((int)floor(2*q_overbar))&1) == 0)
q = (int)(floor(q_overbar+.5)) - v; q = floor(q_overbar + .5) - v;
else else
q = (int)(floor(q_overbar+.5)) + v; q = floor(q_overbar + .5) + v;
for (n = 0; n < M_ZC; n++) { for (int n = 0; n < M_ZC; n++) {
m=n%N_ZC; const int m = n % N_ZC;
x = (double)q * m * (m+1)/N_ZC; const double x = q * m * (m + 1) / N_ZC;
rv_overbar[2*n] = (int16_t)(floor(scaling*cos(M_PI*x))); /* cos(-x) = cos(x) */ rv_overbar[n].r = (int16_t)(floor(scaling * cos(M_PI * x))); /* cos(-x) = cos(x) */
rv_overbar[2*n+1] = -(int16_t)(floor(scaling*sin(M_PI*x))); /* sin(-x) = -sin(x) */ rv_overbar[n].i = -(int16_t)(floor(scaling * sin(M_PI * x))); /* sin(-x) = -sin(x) */
} }
return rv_overbar; return rv_overbar;
} }
int16_t *rv_ul_ref_sig[U_GROUP_NUMBER][V_BASE_SEQUENCE_NUMBER][SRS_SB_CONF]; c16_t *rv_ul_ref_sig[U_GROUP_NUMBER][V_BASE_SEQUENCE_NUMBER][SRS_SB_CONF];
int16_t *gNB_dmrs_lowpaprtype1_sequence[U_GROUP_NUMBER][V_BASE_SEQUENCE_NUMBER][MAX_INDEX_DMRS_UL_ALLOCATED_REs]; c16_t *gNB_dmrs_lowpaprtype1_sequence[U_GROUP_NUMBER][V_BASE_SEQUENCE_NUMBER][MAX_INDEX_DMRS_UL_ALLOCATED_REs];
void generate_lowpapr_typ1_refsig_sequences(unsigned int scaling) void generate_lowpapr_typ1_refsig_sequences(unsigned int scaling)
{ {
/* prevent multiple calls, relevant when both UE & gNB initialize this */ /* prevent multiple calls, relevant when both UE & gNB initialize this */
static bool already_called = false; static bool already_called = false;
if (already_called) return; if (already_called)
return;
already_called = true; already_called = true;
unsigned int u,Msc_RS;
unsigned int v = 0; // sequence hopping and group hopping are not supported yet unsigned int v = 0; // sequence hopping and group hopping are not supported yet
for (Msc_RS=0; Msc_RS <= INDEX_SB_LESS_32; Msc_RS++) { for (unsigned int Msc_RS = 0; Msc_RS <= INDEX_SB_LESS_32; Msc_RS++) {
for (u=0; u < U_GROUP_NUMBER; u++) { for (unsigned int u = 0; u < U_GROUP_NUMBER; u++) {
gNB_dmrs_lowpaprtype1_sequence[u][v][Msc_RS] = base_sequence_less_than_36(ul_allocated_re[Msc_RS], u, scaling); gNB_dmrs_lowpaprtype1_sequence[u][v][Msc_RS] = base_sequence_less_than_36(ul_allocated_re[Msc_RS], u, scaling);
} }
} }
for (Msc_RS=INDEX_SB_LESS_32+1; Msc_RS < MAX_INDEX_DMRS_UL_ALLOCATED_REs; Msc_RS++) { for (unsigned int Msc_RS = INDEX_SB_LESS_32 + 1; Msc_RS < MAX_INDEX_DMRS_UL_ALLOCATED_REs; Msc_RS++) {
for (u=0; u < U_GROUP_NUMBER; u++) { for (unsigned int u = 0; u < U_GROUP_NUMBER; u++) {
gNB_dmrs_lowpaprtype1_sequence[u][v][Msc_RS] = base_sequence_36_or_larger(Msc_RS, u, v, scaling, 1); gNB_dmrs_lowpaprtype1_sequence[u][v][Msc_RS] = base_sequence_36_or_larger(Msc_RS, u, v, scaling, 1);
} }
} }
} }
int16_t *dmrs_lowpaprtype1_ul_ref_sig[U_GROUP_NUMBER][V_BASE_SEQUENCE_NUMBER][MAX_INDEX_DMRS_UL_ALLOCATED_REs]; c16_t *dmrs_lowpaprtype1_ul_ref_sig[U_GROUP_NUMBER][V_BASE_SEQUENCE_NUMBER][MAX_INDEX_DMRS_UL_ALLOCATED_REs];
void generate_ul_reference_signal_sequences(unsigned int scaling) void generate_ul_reference_signal_sequences(unsigned int scaling)
{ {
/* prevent multiple calls, relevant when both UE & gNB initialize this */ /* prevent multiple calls, relevant when both UE & gNB initialize this */
......
...@@ -228,7 +228,7 @@ static const uint16_t ref_ul_primes[SRS_SB_CONF] = { ...@@ -228,7 +228,7 @@ static const uint16_t ref_ul_primes[SRS_SB_CONF] = {
}; };
/* Low-PAPR base sequence; see TS 38.211 clause 5.2.2 */ /* Low-PAPR base sequence; see TS 38.211 clause 5.2.2 */
extern int16_t *rv_ul_ref_sig[U_GROUP_NUMBER][V_BASE_SEQUENCE_NUMBER][SRS_SB_CONF]; extern c16_t *rv_ul_ref_sig[U_GROUP_NUMBER][V_BASE_SEQUENCE_NUMBER][SRS_SB_CONF];
/* 38.211 table Table 5.2.2.2-1: Definition of phi(n) for M_ZC = 6 */ /* 38.211 table Table 5.2.2.2-1: Definition of phi(n) for M_ZC = 6 */
static const char phi_M_ZC_6[6 * U_GROUP_NUMBER] = { static const char phi_M_ZC_6[6 * U_GROUP_NUMBER] = {
...@@ -524,9 +524,9 @@ static const uint16_t dmrs_ref_ul_primes[MAX_INDEX_DMRS_UL_ALLOCATED_REs] = { ...@@ -524,9 +524,9 @@ static const uint16_t dmrs_ref_ul_primes[MAX_INDEX_DMRS_UL_ALLOCATED_REs] = {
}; };
/// PUSCH DMRS for transform precoding /// PUSCH DMRS for transform precoding
extern int16_t *gNB_dmrs_lowpaprtype1_sequence[U_GROUP_NUMBER][V_BASE_SEQUENCE_NUMBER][MAX_INDEX_DMRS_UL_ALLOCATED_REs]; extern c16_t *gNB_dmrs_lowpaprtype1_sequence[U_GROUP_NUMBER][V_BASE_SEQUENCE_NUMBER][MAX_INDEX_DMRS_UL_ALLOCATED_REs];
extern int16_t *dmrs_lowpaprtype1_ul_ref_sig[U_GROUP_NUMBER][V_BASE_SEQUENCE_NUMBER][MAX_INDEX_DMRS_UL_ALLOCATED_REs]; extern c16_t *dmrs_lowpaprtype1_ul_ref_sig[U_GROUP_NUMBER][V_BASE_SEQUENCE_NUMBER][MAX_INDEX_DMRS_UL_ALLOCATED_REs];
int16_t get_index_for_dmrs_lowpapr_seq(int16_t num_dmrs_res); int get_index_for_dmrs_lowpapr_seq(int num_dmrs_res);
void generate_lowpapr_typ1_refsig_sequences(unsigned int scaling); void generate_lowpapr_typ1_refsig_sequences(unsigned int scaling);
void free_gnb_lowpapr_sequences(void); void free_gnb_lowpapr_sequences(void);
......
...@@ -1450,16 +1450,13 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB, ...@@ -1450,16 +1450,13 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB,
uint8_t slot, uint8_t slot,
unsigned char harq_pid) unsigned char harq_pid)
{ {
uint8_t aarx;
uint32_t bwp_start_subcarrier;
NR_DL_FRAME_PARMS *frame_parms = &gNB->frame_parms; NR_DL_FRAME_PARMS *frame_parms = &gNB->frame_parms;
nfapi_nr_pusch_pdu_t *rel15_ul = &gNB->ulsch[ulsch_id].harq_process->ulsch_pdu; nfapi_nr_pusch_pdu_t *rel15_ul = &gNB->ulsch[ulsch_id].harq_process->ulsch_pdu;
NR_gNB_PUSCH *pusch_vars = &gNB->pusch_vars[ulsch_id]; NR_gNB_PUSCH *pusch_vars = &gNB->pusch_vars[ulsch_id];
pusch_vars->dmrs_symbol = INVALID_VALUE; pusch_vars->dmrs_symbol = INVALID_VALUE;
gNB->nbSymb = 0; gNB->nbSymb = 0;
bwp_start_subcarrier = ((rel15_ul->rb_start + rel15_ul->bwp_start)*NR_NB_SC_PER_RB + frame_parms->first_carrier_offset) % frame_parms->ofdm_symbol_size; uint32_t bwp_start_subcarrier = ((rel15_ul->rb_start + rel15_ul->bwp_start) * NR_NB_SC_PER_RB + frame_parms->first_carrier_offset) % frame_parms->ofdm_symbol_size;
LOG_D(PHY,"pusch %d.%d : bwp_start_subcarrier %d, rb_start %d, first_carrier_offset %d\n", frame,slot,bwp_start_subcarrier, rel15_ul->rb_start, frame_parms->first_carrier_offset); LOG_D(PHY,"pusch %d.%d : bwp_start_subcarrier %d, rb_start %d, first_carrier_offset %d\n", frame,slot,bwp_start_subcarrier, rel15_ul->rb_start, frame_parms->first_carrier_offset);
LOG_D(PHY,"pusch %d.%d : ul_dmrs_symb_pos %x\n",frame,slot,rel15_ul->ul_dmrs_symb_pos); LOG_D(PHY,"pusch %d.%d : ul_dmrs_symb_pos %x\n",frame,slot,rel15_ul->ul_dmrs_symb_pos);
...@@ -1477,11 +1474,12 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB, ...@@ -1477,11 +1474,12 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB,
if (pusch_vars->dmrs_symbol == INVALID_VALUE) if (pusch_vars->dmrs_symbol == INVALID_VALUE)
pusch_vars->dmrs_symbol = symbol; pusch_vars->dmrs_symbol = symbol;
for (int nl=0; nl<rel15_ul->nrOfLayers; nl++) { for (int nl = 0; nl < rel15_ul->nrOfLayers; nl++) {
uint32_t nvar_tmp = 0; uint32_t nvar_tmp = 0;
nr_pusch_channel_estimation(gNB, nr_pusch_channel_estimation(gNB,
slot, slot,
get_dmrs_port(nl,rel15_ul->dmrs_ports), nl,
get_dmrs_port(nl, rel15_ul->dmrs_ports),
symbol, symbol,
ulsch_id, ulsch_id,
bwp_start_subcarrier, bwp_start_subcarrier,
...@@ -1502,10 +1500,8 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB, ...@@ -1502,10 +1500,8 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB,
frame_parms->nb_antennas_rx, frame_parms->nb_antennas_rx,
frame_parms->N_RB_UL, frame_parms->N_RB_UL,
false); false);
for (aarx = 0; aarx < frame_parms->nb_antennas_rx; aarx++) for (int aarx = 0; aarx < frame_parms->nb_antennas_rx; aarx++) {
{ if (symbol == rel15_ul->start_symbol_index) {
if (symbol == rel15_ul->start_symbol_index)
{
pusch_vars->ulsch_power[aarx] = 0; pusch_vars->ulsch_power[aarx] = 0;
pusch_vars->ulsch_noise_power[aarx] = 0; pusch_vars->ulsch_noise_power[aarx] = 0;
} }
......
...@@ -1015,7 +1015,8 @@ void nr_decode_pucch2(PHY_VARS_gNB *gNB, ...@@ -1015,7 +1015,8 @@ void nr_decode_pucch2(PHY_VARS_gNB *gNB,
int frame, int frame,
int slot, int slot,
nfapi_nr_uci_pucch_pdu_format_2_3_4_t* uci_pdu, nfapi_nr_uci_pucch_pdu_format_2_3_4_t* uci_pdu,
nfapi_nr_pucch_pdu_t* pucch_pdu) { nfapi_nr_pucch_pdu_t* pucch_pdu)
{
c16_t **rxdataF = gNB->common_vars.rxdataF; c16_t **rxdataF = gNB->common_vars.rxdataF;
NR_DL_FRAME_PARMS *frame_parms = &gNB->frame_parms; NR_DL_FRAME_PARMS *frame_parms = &gNB->frame_parms;
...@@ -1607,14 +1608,15 @@ void nr_decode_pucch2(PHY_VARS_gNB *gNB, ...@@ -1607,14 +1608,15 @@ void nr_decode_pucch2(PHY_VARS_gNB *gNB,
// estimate CQI for MAC (from antenna port 0 only) // estimate CQI for MAC (from antenna port 0 only)
// TODO this computation is wrong -> to be ignored at MAC for now // TODO this computation is wrong -> to be ignored at MAC for now
int SNRtimes10 = int cqi = 0xff;
/*int SNRtimes10 =
dB_fixed_times10(signal_energy_nodc((int32_t *)&rxdataF[0][soffset + (l2 * frame_parms->ofdm_symbol_size) + re_offset[0]], dB_fixed_times10(signal_energy_nodc((int32_t *)&rxdataF[0][soffset + (l2 * frame_parms->ofdm_symbol_size) + re_offset[0]],
12 * pucch_pdu->prb_size)) 12 * pucch_pdu->prb_size))
- (10 * gNB->measurements.n0_power_tot_dB); - (10 * gNB->measurements.n0_power_tot_dB);
int cqi,bit_left; int cqi,bit_left;
if (SNRtimes10 < -640) cqi=0; if (SNRtimes10 < -640) cqi=0;
else if (SNRtimes10 > 635) cqi=255; else if (SNRtimes10 > 635) cqi=255;
else cqi=(640+SNRtimes10)/5; else cqi=(640+SNRtimes10)/5;*/
uci_pdu->harq.harq_bit_len = pucch_pdu->bit_len_harq; uci_pdu->harq.harq_bit_len = pucch_pdu->bit_len_harq;
uci_pdu->pduBitmap=0; uci_pdu->pduBitmap=0;
...@@ -1638,8 +1640,8 @@ void nr_decode_pucch2(PHY_VARS_gNB *gNB, ...@@ -1638,8 +1640,8 @@ void nr_decode_pucch2(PHY_VARS_gNB *gNB,
LOG_D(PHY, "[DLSCH/PDSCH/PUCCH2] %d.%d HARQ payload (%d) = %d\n", frame, slot, i, uci_pdu->harq.harq_payload[i]); LOG_D(PHY, "[DLSCH/PDSCH/PUCCH2] %d.%d HARQ payload (%d) = %d\n", frame, slot, i, uci_pdu->harq.harq_payload[i]);
decodedPayload[0]>>=8; decodedPayload[0]>>=8;
} }
bit_left = pucch_pdu->bit_len_harq-((harq_bytes-1)<<3); int bit_left = pucch_pdu->bit_len_harq - ((harq_bytes - 1) << 3);
uci_pdu->harq.harq_payload[i] = decodedPayload[0] & ((1<<bit_left)-1); uci_pdu->harq.harq_payload[i] = decodedPayload[0] & ((1 << bit_left) - 1);
LOG_D(PHY, "[DLSCH/PDSCH/PUCCH2] %d.%d HARQ payload (%d) = %d\n", frame, slot, i, uci_pdu->harq.harq_payload[i]); LOG_D(PHY, "[DLSCH/PDSCH/PUCCH2] %d.%d HARQ payload (%d) = %d\n", frame, slot, i, uci_pdu->harq.harq_payload[i]);
decodedPayload[0] >>= pucch_pdu->bit_len_harq; decodedPayload[0] >>= pucch_pdu->bit_len_harq;
} }
...@@ -1664,8 +1666,8 @@ void nr_decode_pucch2(PHY_VARS_gNB *gNB, ...@@ -1664,8 +1666,8 @@ void nr_decode_pucch2(PHY_VARS_gNB *gNB,
uci_pdu->csi_part1.csi_part1_payload[i] = decodedPayload[0] & 255; uci_pdu->csi_part1.csi_part1_payload[i] = decodedPayload[0] & 255;
decodedPayload[0]>>=8; decodedPayload[0]>>=8;
} }
bit_left = pucch_pdu->bit_len_csi_part1-((csi_part1_bytes-1)<<3); int bit_left = pucch_pdu->bit_len_csi_part1-((csi_part1_bytes-1)<<3);
uci_pdu->csi_part1.csi_part1_payload[i] = decodedPayload[0] & ((1<<bit_left)-1); uci_pdu->csi_part1.csi_part1_payload[i] = decodedPayload[0] & ((1 << bit_left) - 1);
decodedPayload[0] = pucch_pdu->bit_len_csi_part1 < 64 ? decodedPayload[0] >> bit_left : 0; decodedPayload[0] = pucch_pdu->bit_len_csi_part1 < 64 ? decodedPayload[0] >> bit_left : 0;
} }
......
...@@ -20,15 +20,16 @@ ...@@ -20,15 +20,16 @@
*/ */
#ifndef __FILT16A_H__ #ifndef __FILT16A_H__
#define __FILT16A_H__ #define __FILT16A_H__
static const short filt16a_l0[16] = {16384, 12288, 8192, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; static const c16_t filt16a_l0[8] = {{16384, 12288}, {8192, 4096}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}};
static const short filt16a_mm0[16] = {0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0, 0, 0, 0}; static const short filt16a_mm0[16] = {0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0, 0, 0, 0};
static const short filt16a_r0[16] = {0, 0, 0, 0, 0, 4096, 8192, 12288, 16384, 20480, 24576, 28672, 0, 0, 0, 0}; static const c16_t filt16a_r0[8] = {{0, 0}, {0, 0}, {0, 4096}, {8192, 12288}, {16384, 20480}, {24576, 28672}, {0, 0}, {0, 0}};
static const short filt16a_m0[16] = {0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, -4096, -8192, -12288, 0, 0, 0, 0}; static const c16_t filt16a_m0[8] =
{{0, 4096}, {8192, 12288}, {16384, 12288}, {8192, 4096}, {0, -4096}, {-8192, -12288}, {0, 0}, {0, 0}};
static const short filt16a_l1[16] = {20480, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; static const c16_t filt16a_l1[8] = {{20480, 16384}, {12288, 8192}, {4096, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}};
static const short filt16a_mm1[16] = {0, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0, 0, 0}; static const short filt16a_mm1[16] = {0, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0, 0, 0};
...@@ -36,11 +37,12 @@ static const short filt16a_ml1[16] = {-4096, 0, 4096, 8192, 12288, 16384, 12288, ...@@ -36,11 +37,12 @@ static const short filt16a_ml1[16] = {-4096, 0, 4096, 8192, 12288, 16384, 12288,
static const short filt16a_mr1[16] = {0, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, -4096, -8192, 0, 0, 0, 0}; static const short filt16a_mr1[16] = {0, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, -4096, -8192, 0, 0, 0, 0};
static const short filt16a_r1[16] = {0, 0, 0, 0, 0, 0, 4096, 8192, 12288, 16384, 20480, 24576, 0, 0, 0, 0}; static const c16_t filt16a_r1[8] = {{0, 0}, {0, 0}, {0, 0}, {4096, 8192}, {12288, 16384}, {20480, 24576}, {0, 0}, {0, 0}};
static const short filt16a_m1[16] = {-4096, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, -4096, -8192, 0, 0, 0, 0}; static const c16_t filt16a_m1[8] =
{{-4096, 0}, {4096, 8192}, {12288, 16384}, {12288, 8192}, {4096, 0}, {-4096, -8192}, {0, 0}, {0, 0}};
static const short filt16a_l2[16] = {24576, 20480, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; static const c16_t filt16a_l2[8] = {{24576, 20480}, {16384, 12288}, {8192, 4096}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}};
static const short filt16a_mm2[16] = {0, 0, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0, 0}; static const short filt16a_mm2[16] = {0, 0, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0, 0};
...@@ -48,19 +50,21 @@ static const short filt16a_ml2[16] = {-8192, -4096, 0, 4096, 8192, 12288, 16384, ...@@ -48,19 +50,21 @@ static const short filt16a_ml2[16] = {-8192, -4096, 0, 4096, 8192, 12288, 16384,
static const short filt16a_mr2[16] = {0, 0, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, -4096, 0, 0, 0, 0}; static const short filt16a_mr2[16] = {0, 0, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, -4096, 0, 0, 0, 0};
static const short filt16a_r2[16] = {0, 0, 0, 0, 0, 0, 0, 4096, 8192, 12288, 16384, 20480, 0, 0, 0, 0}; static const c16_t filt16a_r2[8] = {{0, 0}, {0, 0}, {0, 0}, {0, 4096}, {8192, 12288}, {16384, 20480}, {0, 0}, {0, 0}};
static const short filt16a_m2[16] = {-8192, -4096, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, -4096, 0, 0, 0, 0}; static const c16_t filt16a_m2[8] =
{{-8192, -4096}, {0, 4096}, {8192, 12288}, {16384, 12288}, {8192, 4096}, {0, -4096}, {0, 0}, {0, 0}};
static const short filt16a_l3[16] = {28672, 24576, 20480, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0}; static const c16_t filt16a_l3[8] = {{28672, 24576}, {20480, 16384}, {12288, 8192}, {4096, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}};
static const short filt16a_mm3[16] = {0, 0, 0, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0}; static const short filt16a_mm3[16] = {0, 0, 0, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0};
static const short filt16a_ml3[16] = {-12288, -8192, -4096, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0}; static const short filt16a_ml3[16] = {-12288, -8192, -4096, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0};
static const short filt16a_r3[16] = {0, 0, 0, 0, 0, 0, 0, 0, 4096, 8192, 12288, 16384, 0, 0, 0, 0}; static const c16_t filt16a_r3[8] = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {4096, 8192}, {12288, 16384}, {0, 0}, {0, 0}};
static const short filt16a_m3[16] = {-12288, -8192, -4096, 0, 4096, 8192, 12288, 16384, 12288, 8192, 4096, 0, 0, 0, 0, 0}; static const c16_t filt16a_m3[8] =
{{-12288, -8192}, {-4096, 0}, {4096, 8192}, {12288, 16384}, {12288, 8192}, {4096, 0}, {0, 0}, {0, 0}};
static const short filt16a_l0_dc[16] = {16384, 12288, 8192, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; static const short filt16a_l0_dc[16] = {16384, 12288, 8192, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
......
...@@ -57,12 +57,12 @@ void nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue, ...@@ -57,12 +57,12 @@ void nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
c16_t pdcch_dl_ch_estimates[][pdcch_est_size], c16_t pdcch_dl_ch_estimates[][pdcch_est_size],
c16_t rxdataF[][ue->frame_parms.samples_per_slot_wCP]); c16_t rxdataF[][ue->frame_parms.samples_per_slot_wCP]);
int nr_pbch_dmrs_correlation(PHY_VARS_NR_UE *ue, c32_t nr_pbch_dmrs_correlation(const PHY_VARS_NR_UE *ue,
const UE_nr_rxtx_proc_t *proc, const UE_nr_rxtx_proc_t *proc,
unsigned char symbol, const int symbol,
int dmrss, const int dmrss,
NR_UE_SSB *current_ssb, const uint32_t nr_gold_pbch[NR_PBCH_DMRS_LENGTH_DWORD],
c16_t rxdataF[][ue->frame_parms.samples_per_slot_wCP]); const c16_t rxdataF[][ue->frame_parms.samples_per_slot_wCP]);
int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue, int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
int estimateSz, int estimateSz,
...@@ -77,6 +77,7 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue, ...@@ -77,6 +77,7 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue, int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue,
const UE_nr_rxtx_proc_t *proc, const UE_nr_rxtx_proc_t *proc,
int nl,
unsigned short p, unsigned short p,
unsigned char symbol, unsigned char symbol,
unsigned char nscid, unsigned char nscid,
......
...@@ -92,15 +92,15 @@ void nr_ue_measurements(PHY_VARS_NR_UE *ue, ...@@ -92,15 +92,15 @@ void nr_ue_measurements(PHY_VARS_NR_UE *ue,
int, int,
ue->measurements.rx_spatial_power, ue->measurements.rx_spatial_power,
NUMBER_OF_CONNECTED_gNB_MAX, NUMBER_OF_CONNECTED_gNB_MAX,
frame_parms->nb_antenna_ports_gNB, cmax(frame_parms->nb_antenna_ports_gNB, 1),
frame_parms->nb_antennas_rx, cmax(frame_parms->nb_antennas_rx, 1),
false); false);
allocCast3D(rx_spatial_power_dB, allocCast3D(rx_spatial_power_dB,
unsigned short, unsigned short,
ue->measurements.rx_spatial_power_dB, ue->measurements.rx_spatial_power_dB,
NUMBER_OF_CONNECTED_gNB_MAX, NUMBER_OF_CONNECTED_gNB_MAX,
frame_parms->nb_antenna_ports_gNB, cmax(frame_parms->nb_antenna_ports_gNB, 1),
frame_parms->nb_antennas_rx, cmax(frame_parms->nb_antennas_rx, 1),
false); false);
// signal measurements // signal measurements
......
...@@ -181,24 +181,24 @@ static void nr_dlsch_channel_level_median(uint32_t rx_size_symbol, ...@@ -181,24 +181,24 @@ static void nr_dlsch_channel_level_median(uint32_t rx_size_symbol,
@param phy_measurements Pointer to UE PHY measurements @param phy_measurements Pointer to UE PHY measurements
*/ */
void nr_dlsch_channel_compensation(uint32_t rx_size_symbol, static void nr_dlsch_channel_compensation(uint32_t rx_size_symbol,
int nbRx, int nbRx,
c16_t rxdataF_ext[][rx_size_symbol], c16_t rxdataF_ext[][rx_size_symbol],
int32_t dl_ch_estimates_ext[][rx_size_symbol], int32_t dl_ch_estimates_ext[][rx_size_symbol],
int32_t dl_ch_mag[][nbRx][rx_size_symbol], int32_t dl_ch_mag[][nbRx][rx_size_symbol],
int32_t dl_ch_magb[][nbRx][rx_size_symbol], int32_t dl_ch_magb[][nbRx][rx_size_symbol],
int32_t dl_ch_magr[][nbRx][rx_size_symbol], int32_t dl_ch_magr[][nbRx][rx_size_symbol],
int32_t rxdataF_comp[][nbRx][rx_size_symbol * NR_SYMBOLS_PER_SLOT], int32_t rxdataF_comp[][nbRx][rx_size_symbol * NR_SYMBOLS_PER_SLOT],
int ***rho, int ***rho,
NR_DL_FRAME_PARMS *frame_parms, NR_DL_FRAME_PARMS *frame_parms,
uint8_t n_layers, uint8_t n_layers,
unsigned char symbol, unsigned char symbol,
int length, int length,
uint8_t first_symbol_flag, bool first_symbol_flag,
unsigned char mod_order, unsigned char mod_order,
unsigned short nb_rb, unsigned short nb_rb,
unsigned char output_shift, unsigned char output_shift,
PHY_NR_MEASUREMENTS *measurements); PHY_NR_MEASUREMENTS *measurements);
/** \brief This function computes the average channel level over all allocated RBs and antennas (TX/RX) in order to compute output shift for compensated signal /** \brief This function computes the average channel level over all allocated RBs and antennas (TX/RX) in order to compute output shift for compensated signal
@param dl_ch_estimates_ext Channel estimates in allocated RBs @param dl_ch_estimates_ext Channel estimates in allocated RBs
...@@ -242,7 +242,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue, ...@@ -242,7 +242,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
const UE_nr_rxtx_proc_t *proc, const UE_nr_rxtx_proc_t *proc,
NR_UE_DLSCH_t dlsch[2], NR_UE_DLSCH_t dlsch[2],
unsigned char symbol, unsigned char symbol,
unsigned char first_symbol_flag, bool first_symbol_flag,
unsigned char harq_pid, unsigned char harq_pid,
uint32_t pdsch_est_size, uint32_t pdsch_est_size,
int32_t dl_ch_estimates[][pdsch_est_size], int32_t dl_ch_estimates[][pdsch_est_size],
...@@ -434,7 +434,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue, ...@@ -434,7 +434,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
//---------------------------------------------------------- //----------------------------------------------------------
if (meas_enabled) if (meas_enabled)
start_meas(&meas); start_meas(&meas);
if (first_symbol_flag == 1) { if (first_symbol_flag) {
int32_t avg[MAX_ANT][MAX_ANT]; int32_t avg[MAX_ANT][MAX_ANT];
nr_dlsch_channel_level(rx_size_symbol, dl_ch_estimates_ext, frame_parms, nl, avg, symbol, nb_re_pdsch, nb_rb_pdsch); nr_dlsch_channel_level(rx_size_symbol, dl_ch_estimates_ext, frame_parms, nl, avg, symbol, nb_re_pdsch, nb_rb_pdsch);
int avgs = 0; int avgs = 0;
...@@ -734,24 +734,24 @@ void nr_dlsch_deinterleaving(uint8_t symbol, ...@@ -734,24 +734,24 @@ void nr_dlsch_deinterleaving(uint8_t symbol,
// Pre-processing for LLR computation // Pre-processing for LLR computation
//============================================================================================== //==============================================================================================
void nr_dlsch_channel_compensation(uint32_t rx_size_symbol, static void nr_dlsch_channel_compensation(uint32_t rx_size_symbol,
int nbRx, int nbRx,
c16_t rxdataF_ext[][rx_size_symbol], c16_t rxdataF_ext[][rx_size_symbol],
int32_t dl_ch_estimates_ext[][rx_size_symbol], int32_t dl_ch_estimates_ext[][rx_size_symbol],
int32_t dl_ch_mag[][nbRx][rx_size_symbol], int32_t dl_ch_mag[][nbRx][rx_size_symbol],
int32_t dl_ch_magb[][nbRx][rx_size_symbol], int32_t dl_ch_magb[][nbRx][rx_size_symbol],
int32_t dl_ch_magr[][nbRx][rx_size_symbol], int32_t dl_ch_magr[][nbRx][rx_size_symbol],
int32_t rxdataF_comp[][nbRx][rx_size_symbol * NR_SYMBOLS_PER_SLOT], int32_t rxdataF_comp[][nbRx][rx_size_symbol * NR_SYMBOLS_PER_SLOT],
int ***rho, int ***rho,
NR_DL_FRAME_PARMS *frame_parms, NR_DL_FRAME_PARMS *frame_parms,
uint8_t n_layers, uint8_t n_layers,
unsigned char symbol, unsigned char symbol,
int length, int length,
uint8_t first_symbol_flag, bool first_symbol_flag,
unsigned char mod_order, unsigned char mod_order,
unsigned short nb_rb, unsigned short nb_rb,
unsigned char output_shift, unsigned char output_shift,
PHY_NR_MEASUREMENTS *measurements) PHY_NR_MEASUREMENTS *measurements)
{ {
...@@ -1034,7 +1034,7 @@ void nr_dlsch_channel_compensation(uint32_t rx_size_symbol, ...@@ -1034,7 +1034,7 @@ void nr_dlsch_channel_compensation(uint32_t rx_size_symbol,
dl_ch128_2+=3; dl_ch128_2+=3;
rho128+=3; rho128+=3;
} }
if (first_symbol_flag==1) { if (first_symbol_flag) {
//rho_nm = H_arx_n.conj(H_arx_m) //rho_nm = H_arx_n.conj(H_arx_m)
//rho_rx_corr[arx][nm] = |H_arx_n|^2.|H_arx_m|^2 &rho[aarx][l*n_layers+atx][symbol*nb_rb*12] //rho_rx_corr[arx][nm] = |H_arx_n|^2.|H_arx_m|^2 &rho[aarx][l*n_layers+atx][symbol*nb_rb*12]
measurements->rx_correlation[0][aarx][l * n_layers + atx] = signal_energy(&rho[aarx][l * n_layers + atx][symbol * nb_rb * 12],length); measurements->rx_correlation[0][aarx][l * n_layers + atx] = signal_energy(&rho[aarx][l * n_layers + atx][symbol * nb_rb * 12],length);
......
...@@ -397,7 +397,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue, ...@@ -397,7 +397,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
const UE_nr_rxtx_proc_t *proc, const UE_nr_rxtx_proc_t *proc,
NR_UE_DLSCH_t dlsch[2], NR_UE_DLSCH_t dlsch[2],
unsigned char symbol, unsigned char symbol,
unsigned char first_symbol_flag, bool first_symbol_flag,
unsigned char harq_pid, unsigned char harq_pid,
uint32_t pdsch_est_size, uint32_t pdsch_est_size,
int32_t dl_ch_estimates[][pdsch_est_size], int32_t dl_ch_estimates[][pdsch_est_size],
......
This diff is collapsed.
This diff is collapsed.
...@@ -672,7 +672,15 @@ static int pss_search_time_nr(c16_t **rxdata, PHY_VARS_NR_UE *ue, int fo_flag, i ...@@ -672,7 +672,15 @@ static int pss_search_time_nr(c16_t **rxdata, PHY_VARS_NR_UE *ue, int fo_flag, i
*nid2 = pss_source; *nid2 = pss_source;
LOG_I(PHY,"[UE] nr_synchro_time: Sync source = %d, Peak found at pos %d, val = %llu (%d dB) avg %d dB, ffo %lf\n", pss_source, peak_position, (unsigned long long)peak_value, dB_fixed64(peak_value),dB_fixed64(avg[pss_source]),ffo_est); LOG_I(PHY,
"[UE] nr_synchro_time: Sync source (nid2) = %d, Peak found at pos %d, val = %ld (%d dB power over signal avg %d dB), ffo "
"%lf\n",
pss_source,
peak_position,
peak_value,
dB_fixed64(peak_value),
dB_fixed64(avg[pss_source]),
ffo_est);
if (peak_value < 5*avg[pss_source]) if (peak_value < 5*avg[pss_source])
return(-1); return(-1);
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment