* Compile Rel10 with component carrier

* Add VCD timing for PDCP, RLC, and MAC
* Update MAC-PHY interface
* update eNB MAC DLSCH scheduler and preprocessor with component carrier
* Add test case for dlsim performance
  


git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5708 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
Navid Nikaein
2014-08-12 20:27:30 +00:00
parent 6b6154102f
commit 2f2fde581d
53 changed files with 1445 additions and 1265 deletions
+27 -27
View File
@@ -44,7 +44,7 @@ NUM_UE=2
NUM_eNB=1
NUM_TRIALS=3
def execute(oai, user, pw, logfile,logdir):
def execute(oai, user, pw, host, logfile,logdir,debug):
case = '02'
oai.send('cd $OPENAIR_TARGETS;')
@@ -55,15 +55,15 @@ def execute(oai, user, pw, logfile,logdir):
name = 'Run oai.rel8.sf'
conf = '-a -A AWGN -n 100'
diag = 'OAI is not running normally (Segmentation fault / Exiting / FATAL), debugging might be needed'
trace = logdir + '/log_' + case + test + '_1.txt;'
trace = logdir + '/log_' + host + case + test + '_1.txt;'
tee = ' 2>&1 | tee ' + trace
oai.send_expect_false('./oaisim.rel8 ' + conf + tee, 'Segmentation fault', 30)
trace = logdir + '/log_' + case + test + '_2.txt;'
oai.send_expect_false('./oaisim.rel8.' + host + ' ' + conf + tee, 'Segmentation fault', 30)
trace = logdir + '/log_' + host + case + test + '_2.txt;'
tee = ' 2>&1 | tee ' + trace
oai.send_expect_false('./oaisim.rel8 ' + conf + tee, 'Exiting', 30)
trace = logdir + '/log_' + case + test + '_3.txt;'
oai.send_expect_false('./oaisim.rel8.' + host + ' ' + conf + tee, 'Exiting', 30)
trace = logdir + '/log_' + host + case + test + '_3.txt;'
tee = ' 2>&1 | tee ' + trace
oai.send_expect_false('./oaisim.rel8 ' + conf + tee, 'FATAL', 30)
oai.send_expect_false('./oaisim.rel8.' + host + ' ' + conf + tee, 'FATAL', 30)
except log.err, e:
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
@@ -74,10 +74,10 @@ def execute(oai, user, pw, logfile,logdir):
test = '01'
name = 'Run oai.rel8.err'
conf = '-a -A AWGN -n 100 -l7'
trace = logdir + '/log_' + case + test + '_3.txt;'
trace = logdir + '/log_' + host + case + test + '_3.txt;'
tee = ' 2>&1 | tee ' + trace
diag = '[E] Error(s) found during the execution, check the execution logs'
oai.send_expect_false('./oaisim.rel8 ' + conf, '[E]', 30)
oai.send_expect_false('./oaisim.rel8.'+ host + ' ' + conf, '[E]', 30)
except log.err, e:
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
@@ -91,9 +91,9 @@ def execute(oai, user, pw, logfile,logdir):
for i in range(NUM_UE) :
for j in range(NUM_eNB) :
conf = '-a -A AWGN -l7 -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1)
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 | tee ' + trace
oai.send_expect('./oaisim.rel8 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 50)
oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 50)
except log.err, e:
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
else:
@@ -109,26 +109,26 @@ def execute(oai, user, pw, logfile,logdir):
for i in range(NUM_eNB) :
for j in range(NUM_UE) :
conf = '-a -A AWGN -l6 -u' + str(j+1) +' -b'+ str(i+1)
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 > ' + trace
if user == 'root' :
oai.send('./oaisim.rel8.nas ' + conf + ' &')
oai.send('./oaisim.rel8.nas.' + host + ' ' + conf + ' &')
else :
oai.send('echo '+pw+ ' | sudo -S -E ./oaisim.rel8.nas ' + conf + tee + ' &')
oai.send('echo '+pw+ ' | sudo -S -E ./oaisim.rel8.nas.'+ host + ' ' + conf + tee + ' &')
time.sleep(20)
for k in range(NUM_TRIALS) :
trace_ping = logdir + '/log_' + case + test + '_' + str(i) + str(j) + str(k) + '_ping.txt'
trace_ping = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + str(k) + '_ping.txt'
tee_ping = ' 2>&1 | tee ' + trace_ping
oai.send_expect('ping 10.0.'+str(j+1)+'.'+str(NUM_eNB+i+1) + ' -c ' + str(random.randint(2, 10))+ ' -s ' + str(random.randint(128, 1500)) + tee_ping, ' 0% packet loss', 20)
if user == 'root' :
oai.send('pkill oaisim.rel8.nas;')
oai.send('pkill oaisim.rel8.nas;')
oai.send('pkill oaisim.rel8.nas.'+host)
oai.send('pkill oaisim.rel8.nas.'+host)
else :
oai.send('echo '+pw+ ' | sudo -S pkill oaisim.rel8.nas;')
oai.send('echo '+pw+ ' | sudo -S pkill oaisim.rel8.nas.'+host)
time.sleep(1)
oai.send('echo '+pw+ ' | sudo -S pkill oaisim.rel8.nas;')
oai.send('echo '+pw+ ' | sudo -S pkill oaisim.rel8.nas.'+host)
oai.rm_driver(oai,user,pw)
@@ -144,9 +144,9 @@ def execute(oai, user, pw, logfile,logdir):
for i in range(NUM_UE) :
for j in range(NUM_eNB) :
conf = '-A AWGN -s 20 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -x1'
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 | tee ' + trace
oai.send_expect('./oaisim.rel8 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 200)
oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 200)
except log.err, e:
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
else:
@@ -159,9 +159,9 @@ def execute(oai, user, pw, logfile,logdir):
for i in range(NUM_UE) :
for j in range(NUM_eNB) :
conf = '-A AWGN -F -s 20 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -x1'
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 | tee ' + trace
oai.send_expect('./oaisim.rel8 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 200)
oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 200)
except log.err, e:
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
else:
@@ -173,12 +173,12 @@ def execute(oai, user, pw, logfile,logdir):
diag = 'RRC procedure is not finished completely, check the eNB config file (default is enb.sfr.sud.conf), in addition to the execution logs and trace BCCH, CCCH, and DCCH channels'
for i in range(NUM_UE) :
for j in range(NUM_eNB) :
log_name = logdir + '/log_' + case + test + '_' + str(i) + str(j)
log_name = logdir + '/log_' + host + case + test + '_' + str(i) + str(j)
itti_name = log_name + '.log'
trace_name = log_name + '.txt'
conf = '-a -l7 -A AWGN --enb-conf ../../PROJECTS/GENERIC-LTE-EPC/CONF/enb.sfr.sud.conf -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name
tee = ' 2>&1 | tee -a ' + trace_name
command = './oaisim.rel8.itti ' + conf
command = './oaisim.rel8.itti.' + host + ' ' + conf
oai.send('echo ' + command + ' > ' + trace_name + ';')
oai.send_expect(command + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 50)
except log.err, e:
@@ -192,9 +192,9 @@ def execute(oai, user, pw, logfile,logdir):
name = 'Run oai.rel8.abs.ocg.otg'
diag = 'Check the scenario if the tests 0202 and 0203 are passed.'
conf = '-a -c26'
trace = logdir + '/log_' + case + test + '.txt'
trace = logdir + '/log_' + host + case + test + '.txt'
tee = ' 2>&1 | tee ' + trace
oai.send_expect('./oaisim.rel8 ' + conf + tee, ' DL and UL loss rate below 10% ', 500)
oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' DL and UL loss rate below 10% ', 500)
except log.err, e:
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
else: