* add a ulsch scheduler and preprocessor

* check for false msg3 detection at the MAC layer, and indicate PHY tp cancel the RA proc 
* fix few compilation errors for Rel10


git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5824 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
Navid Nikaein
2014-09-30 13:53:36 +00:00
parent b79bd77b44
commit 2f0646f3c5
28 changed files with 960 additions and 383 deletions
+4 -4
View File
@@ -146,7 +146,7 @@ void average_pkt_jitter(int src, int dst, int application){
otg_info->rx_jitter_avg[src][dst][application]/= otg_info->rx_jitter_sample[src][dst][application];
otg_info->rx_jitter_avg_e2e[src][dst][application]/= otg_info->rx_jitter_sample[src][dst][application];
} else {
LOG_W(OTG,"[src %d][dst %d][app %d]number of samples for jitter calculation is %d\n",src, dst, application, otg_info->rx_jitter_sample[src][dst][application]);
LOG_T(OTG,"[src %d][dst %d][app %d]number of samples for jitter calculation is %d\n",src, dst, application, otg_info->rx_jitter_sample[src][dst][application]);
}
if (otg_info->rx_jitter_avg[src][dst][application] > 0) {
@@ -239,7 +239,7 @@ void kpi_gen() {
int num_active_source=0;
int dl_ok=0,ul_ok;
int dl_ok=0,ul_ok=0;
char traffic_type[12];
char traffic[30];
@@ -849,9 +849,9 @@ if ((g_otg->background_stats==1)&&(otg_info->tx_num_bytes_background[i][j]>0)){
}
if ((dl_ok == 1 ) && (ul_ok ==1))
LOG_I(OTG,"************ DL and UL loss rate below 10% *************\n");
LOG_I(OTG,"************ DL and UL loss rate below 10 *************\n");
else
LOG_I(OTG,"************ DL and UL loss rate above 10% *************\n");
LOG_I(OTG,"************ DL and UL loss rate above 10 *************\n");
#endif
}
+15 -15
View File
@@ -407,15 +407,15 @@ int check_data_transmit(int src,int dst, int app, int ctime){
// do not generate packet for this pair of src, dst : no app type and/or no idt are defined
if (g_otg->flow_start[src][dst][app] > ctime ){
//g_ otg->flow_start_flag[src][dst][app]=1;
LOG_D(OTG,"Flow start time not reached : do not generate packet for this pair of src=%d, dst =%d, start %d < ctime %d \n",
LOG_T(OTG,"Flow start time not reached : do not generate packet for this pair of src=%d, dst =%d, start %d < ctime %d \n",
src, dst,g_otg->flow_start[src][dst][app], ctime);
size+=0;
}else if (g_otg->flow_duration[src][dst][app] + g_otg->flow_start[src][dst][app] < ctime ){
LOG_D(OTG,"Flow duration reached: do not generate packet for this pair of src=%d, dst =%d, duration %d < ctime %d + start %d\n",
LOG_T(OTG,"Flow duration reached: do not generate packet for this pair of src=%d, dst =%d, duration %d < ctime %d + start %d\n",
src, dst,g_otg->flow_duration[src][dst][app], ctime, g_otg->flow_start[src][dst][app]);
size+=0;
}else if ((g_otg->application_type[src][dst][app]==0)&&(g_otg->idt_dist[src][dst][app][PE_STATE]==0)){
LOG_D(OTG,"Do not generate packet for this pair of src=%d, dst =%d, IDT zero and app %d not specificed\n", src, dst, app);
LOG_T(OTG,"Do not generate packet for this pair of src=%d, dst =%d, IDT zero and app %d not specificed\n", src, dst, app);
size+=0;
}
@@ -835,11 +835,11 @@ int k;
g_otg->trans_proto[i][j][k] = UDP;
g_otg->ip_v[i][j][k] = IPV4;
g_otg->idt_dist[i][j][k][PE_STATE] = FIXED;
g_otg->idt_min[i][j][k][PE_STATE] = (int)round(uniform_dist((i+1)*30,(i+1)*100));// 500+(i+1)*10; //random idt among different UEs
g_otg->idt_max[i][j][k][PE_STATE] = 10;
g_otg->idt_min[i][j][k][PE_STATE] = 20;//(int)round(uniform_dist((i+1)*30,(i+1)*100));// 500+(i+1)*10; //random idt among different UEs
g_otg->idt_max[i][j][k][PE_STATE] = 20;
g_otg->size_dist[i][j][k][PE_STATE] = FIXED;
g_otg->size_min[i][j][k][PE_STATE] = 16;
g_otg->size_max[i][j][k][PE_STATE] = 50;
g_otg->size_min[i][j][k][PE_STATE] = 128;
g_otg->size_max[i][j][k][PE_STATE] = 128;
LOG_I(OTG,"OTG_CONFIG SCBR, src = %d, dst = %d, traffic id %d, idt %d dist type for size = %d\n", i, j, k,
g_otg->idt_min[i][j][k][PE_STATE], g_otg->size_min[i][j][k][PE_STATE]);
#ifdef STANDALONE
@@ -851,11 +851,11 @@ int k;
g_otg->trans_proto[i][j][k] = UDP;
g_otg->ip_v[i][j][k] = IPV4;
g_otg->idt_dist[i][j][k][PE_STATE] = FIXED;
g_otg->idt_min[i][j][k][PE_STATE] = (int)round(uniform_dist((i+1)*30, (i+1)*100));// 250+(i+1)*10;
g_otg->idt_max[i][j][k][PE_STATE] = 10;
g_otg->idt_min[i][j][k][PE_STATE] = 20;//(int)round(uniform_dist((i+1)*30, (i+1)*100));// 250+(i+1)*10;
g_otg->idt_max[i][j][k][PE_STATE] = 20;
g_otg->size_dist[i][j][k][PE_STATE] = FIXED;
g_otg->size_min[i][j][k][PE_STATE] = 32;
g_otg->size_max[i][j][k][PE_STATE] = 512;
g_otg->size_min[i][j][k][PE_STATE] = 768;
g_otg->size_max[i][j][k][PE_STATE] = 768;
LOG_I(OTG,"OTG_CONFIG MCBR, src = %d, dst = %d, traffic id %d, dist type for size = %d\n", i, j,k , g_otg->size_dist[i][j][k][PE_STATE]);
#ifdef STANDALONE
g_otg->dst_port[i][j] = 302;
@@ -866,11 +866,11 @@ int k;
g_otg->trans_proto[i][j][k] = UDP;
g_otg->ip_v[i][j][k] = IPV4;
g_otg->idt_dist[i][j][k][PE_STATE] = FIXED;// main param in this mode
g_otg->idt_min[i][j][k][PE_STATE] = (int)round(uniform_dist((i+1)*30,(i+1)*100)); //125+(i+1)*10;
g_otg->idt_max[i][j][k][PE_STATE] = 10;
g_otg->idt_min[i][j][k][PE_STATE] = 20;// (int)round(uniform_dist((i+1)*30,(i+1)*100)); //125+(i+1)*10;
g_otg->idt_max[i][j][k][PE_STATE] = 20;
g_otg->size_dist[i][j][k][PE_STATE] = FIXED; // main param in this mode
g_otg->size_min[i][j][k][PE_STATE] = 128;// main param in this mode
g_otg->size_max[i][j][k][PE_STATE] = 1024;
g_otg->size_min[i][j][k][PE_STATE] = 1400;// main param in this mode
g_otg->size_max[i][j][k][PE_STATE] = 1400;
LOG_I(OTG,"OTG_CONFIG BCBR, src = %d, dst = %d, dist type for size = %d\n", i, j, g_otg->size_dist[i][j][k][PE_STATE]);
#ifdef STANDALONE
g_otg->dst_port[i][j] = 302;