diff --git a/openair-cn/NAS/nas_ue_task.c b/openair-cn/NAS/nas_ue_task.c index 1253130f8800ae3b18bba03537cb203fcdefd918..81ea0636cf165c0d5d86aeb5a91d9e061279a7ac 100644 --- a/openair-cn/NAS/nas_ue_task.c +++ b/openair-cn/NAS/nas_ue_task.c @@ -39,7 +39,7 @@ # include "nas_parser.h" # include "nas_proc.h" -# define NAS_UE_AUTOSTART 0 +# define NAS_UE_AUTOSTART 1 extern unsigned char NB_eNB_INST; extern unsigned char NB_UE_INST; diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c index d6815d1a070b98c0fe299c0844d8839d1cce5954..917d4f129255f3813e163cc892cb962289755cc5 100644 --- a/openair1/SIMULATION/LTE_PHY/dlsim.c +++ b/openair1/SIMULATION/LTE_PHY/dlsim.c @@ -2665,7 +2665,8 @@ PHY_vars_UE->lte_ue_pdcch_vars[0]->num_pdcch_symbols, PHY_vars_UE->frame++; } //trials - + // round_trials[0]: number of code word : goodput the protocol + effective_rate = ((double)(round_trials[0]-dci_errors)/((double)round_trials[0] + round_trials[1] + round_trials[2] + round_trials[3])); printf("\n**********************SNR = %f dB (tx_lev %f, sigma2_dB %f)**************************\n", @@ -2673,7 +2674,7 @@ PHY_vars_UE->lte_ue_pdcch_vars[0]->num_pdcch_symbols, (double)tx_lev_dB+10*log10(PHY_vars_UE->lte_frame_parms.ofdm_symbol_size/(NB_RB*12)), sigma2_dB); - printf("Errors (%d/%d %d/%d %d/%d %d/%d), Pe = (%e,%e,%e,%e), dci_errors %d/%d, Pe = %e => effective rate %f (%2.1f%%,%f), normalized delay %f (%f)\n", + printf("Errors (%d/%d %d/%d %d/%d %d/%d), Pe = (%e,%e,%e,%e), dci_errors %d/%d, Pe = %e => effective rate %f (%2.1f%%,%f, %f), normalized delay %f (%f)\n", errs[0], round_trials[0], errs[1], @@ -2692,6 +2693,7 @@ PHY_vars_UE->lte_ue_pdcch_vars[0]->num_pdcch_symbols, rate*effective_rate, 100*effective_rate, rate, + rate*get_Qm(PHY_vars_UE->dlsch_ue[0][0]->harq_processes[PHY_vars_UE->dlsch_ue[0][0]->current_harq_pid]->mcs), (1.0*(round_trials[0]-errs[0])+2.0*(round_trials[1]-errs[1])+3.0*(round_trials[2]-errs[2])+4.0*(round_trials[3]-errs[3]))/((double)round_trials[0])/(double)PHY_vars_eNB->dlsch_eNB[0][0]->harq_processes[0]->TBS, (1.0*(round_trials[0]-errs[0])+2.0*(round_trials[1]-errs[1])+3.0*(round_trials[2]-errs[2])+4.0*(round_trials[3]-errs[3]))/((double)round_trials[0])); diff --git a/openair1/SIMULATION/LTE_PHY/ulsim.c b/openair1/SIMULATION/LTE_PHY/ulsim.c index ee970888a0c9bce05469263eeb189b4e83b394fc..732e625e956374e3294f059616dc86f4923f3f5e 100644 --- a/openair1/SIMULATION/LTE_PHY/ulsim.c +++ b/openair1/SIMULATION/LTE_PHY/ulsim.c @@ -1262,7 +1262,7 @@ int main(int argc, char **argv) { effective_rate = ((double)(round_trials[0])/((double)round_trials[0] + round_trials[1] + round_trials[2] + round_trials[3])); - printf("Errors (%d/%d %d/%d %d/%d %d/%d), Pe = (%e,%e,%e,%e) => effective rate %f (%3.1f%%,%f), normalized delay %f (%f)\n", + printf("Errors (%d/%d %d/%d %d/%d %d/%d), Pe = (%e,%e,%e,%e) => effective rate %f (%3.1f%%,%f,%f), normalized delay %f (%f)\n", errs[0], round_trials[0], errs[1], @@ -1278,6 +1278,7 @@ int main(int argc, char **argv) { rate*effective_rate, 100*effective_rate, rate, + rate*get_Qm(mcs), (1.0*(round_trials[0]-errs[0])+2.0*(round_trials[1]-errs[1])+3.0*(round_trials[2]-errs[2])+4.0*(round_trials[3]-errs[3]))/((double)round_trials[0])/(double)PHY_vars_eNB->ulsch_eNB[0]->harq_processes[harq_pid]->TBS, (1.0*(round_trials[0]-errs[0])+2.0*(round_trials[1]-errs[1])+3.0*(round_trials[2]-errs[2])+4.0*(round_trials[3]-errs[3]))/((double)round_trials[0])); diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c index 33a211ad9b30993577bf9ce664ae5b74909adc75..3c77bbdb1681616dc33a06adf5afa3dfb447ca87 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler.c +++ b/openair2/LAYER2/MAC/eNB_scheduler.c @@ -1589,7 +1589,11 @@ int schedule_MBMS(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP) header_len_mcch=1; else header_len_msi=1; // Calculate the padding - if ((TBS - header_len_mtch - header_len_mcch - header_len_msi - sdu_length_total) <= 2) { + if ((TBS - header_len_mtch - header_len_mcch - header_len_msi - sdu_length_total) < 0) { + LOG_E(MAC,"Error in building MAC PDU, TBS %d < PDU %d \n", + TBS, header_len_mtch + header_len_mcch + header_len_msi + sdu_length_total); + return; + }else if ((TBS - header_len_mtch - header_len_mcch - header_len_msi - sdu_length_total) <= 2) { padding = (TBS - header_len_mtch - header_len_mcch - header_len_msi - sdu_length_total); post_padding = 0; } @@ -4196,7 +4200,7 @@ void schedule_ue_spec(module_id_t module_idP, if (mac_xface->lte_frame_parms->frame_type == TDD) { eNB_mac_inst[module_idP].UE_template[next_ue].DAI++; // printf("DAI update: subframeP %d: UE %d, DAI %d\n",subframeP,next_ue,eNB_mac_inst[module_idP].UE_template[next_ue].DAI); - +#warning only for 5MHz channel update_ul_dci(module_idP,rnti,eNB_mac_inst[module_idP].UE_template[next_ue].DAI); } diff --git a/openair2/UTIL/MATH/oml.c b/openair2/UTIL/MATH/oml.c index 7840031e95b125e07b57ef346a621ffb5b3eff3c..593509fb0f3a40507cfdc2421bacb095de7295f8 100644 --- a/openair2/UTIL/MATH/oml.c +++ b/openair2/UTIL/MATH/oml.c @@ -58,7 +58,7 @@ void init_seeds(int seed){ double uniform_rng() { double random; - random = (double)taus(OTG)/((double)0xffffffff); + random = (double)(taus(OTG)%0xffffffff)/((double)0xffffffff); //LOG_D(OTG,"Uniform taus random number= %lf\n", random); return random; } diff --git a/openair2/UTIL/OCG/OCG.h b/openair2/UTIL/OCG/OCG.h index 4417d7f6bddfb01dd1bc04f21e0222b63c02b987..69e66d9934d09ee46462545d0cdd4cb04e154ae5 100644 --- a/openair2/UTIL/OCG/OCG.h +++ b/openair2/UTIL/OCG/OCG.h @@ -475,7 +475,8 @@ The following diagram is based on graphviz (http://www.graphviz.org/), you need char *destination_id[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; char *background[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; unsigned int aggregation_level[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - int duration[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + int flow_start[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + int flow_duration[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; } Predefined_Traffic; /* @}*/ @@ -529,23 +530,24 @@ The following diagram is based on graphviz (http://www.graphviz.org/), you need int stream[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; int destination_port[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; unsigned int aggregation_level[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - int duration[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - - char *m2m[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + int flow_start[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + int flow_duration[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + + char *m2m[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; //M2M_Traffic m2m_traffic; - double prob_off_pu[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - double prob_off_ed[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - double prob_off_pe[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - double prob_pu_ed[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - double prob_pu_pe[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - double prob_ed_pe[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - double prob_ed_pu[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - unsigned int holding_time_off_ed[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - unsigned int holding_time_off_pu[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - unsigned int holding_time_off_pe[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - unsigned int holding_time_pe_off[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - unsigned int pu_size_pkts[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; - unsigned int ed_size_pkts[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + double prob_off_pu[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + double prob_off_ed[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + double prob_off_pe[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + double prob_pu_ed[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + double prob_pu_pe[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + double prob_ed_pe[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + double prob_ed_pu[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + unsigned int holding_time_off_ed[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + unsigned int holding_time_off_pu[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + unsigned int holding_time_off_pe[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + unsigned int holding_time_pe_off[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + unsigned int pu_size_pkts[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; + unsigned int ed_size_pkts[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; } Customized_Traffic; /* @}*/ diff --git a/openair2/UTIL/OCG/OCG_parse_XML.c b/openair2/UTIL/OCG/OCG_parse_XML.c index 2d8747b53575fdb07321eb3ed45ac33f9eb846e4..d828a87a46d207fae2b6f41224b62d34dc816a04 100644 --- a/openair2/UTIL/OCG/OCG_parse_XML.c +++ b/openair2/UTIL/OCG/OCG_parse_XML.c @@ -158,7 +158,8 @@ static int traffic_; /*!< \brief indicating that the parsing position is now wi static int transport_protocol_; /*!< \brief indicating that the parsing position is now within Transport_Protocol_*/ static int ip_version_; static unsigned int aggregation_level_; -static int duration_; +static int flow_start_; +static int flow_duration_; static int idt_dist_; static int idt_min_ms_; static int idt_max_ms_; @@ -476,8 +477,10 @@ void start_element(void *user_data, const xmlChar *name, const xmlChar **attrs) ip_version_ = 1; } else if (!xmlStrcmp(name, (unsigned char*) "AGGREGATION_LEVEL")) { aggregation_level_ = 1; - } else if (!xmlStrcmp(name, (unsigned char*) "DURATION_ms")) { - duration_ = 1; + } else if (!xmlStrcmp(name, (unsigned char*) "FLOW_START_ms")) { + flow_start_ = 1; + } else if (!xmlStrcmp(name, (unsigned char*) "FLOW_DURATION_ms")) { + flow_duration_ = 1; } else if (!xmlStrcmp(name, (unsigned char*) "IDT_DIST")) { idt_dist_ = 1; } else if (!xmlStrcmp(name, (unsigned char*) "IDT_MIN_ms")) { @@ -806,8 +809,10 @@ void end_element(void *user_data, const xmlChar *name) { // called once at the e transport_protocol_ = 0; } else if (!xmlStrcmp(name, (unsigned char*) "AGGREGATION_LEVEL")) { aggregation_level_ = 0; - } else if (!xmlStrcmp(name, (unsigned char*) "DURATION_ms")) { - duration_ = 0; + } else if (!xmlStrcmp(name, (unsigned char*) "FLOW_START_ms")) { + flow_start_ = 0; + } else if (!xmlStrcmp(name, (unsigned char*) "FLOW_DURATION_ms")) { + flow_duration_ = 0; } else if (!xmlStrcmp(name, (unsigned char*) "IP_VERSION")) { ip_version_ = 0; } else if (!xmlStrcmp(name, (unsigned char*) "IDT_DIST")) { @@ -1132,8 +1137,11 @@ void characters(void *user_data, const xmlChar *xmlch, int xmllen) { // called o oai_emulation.application_config.predefined_traffic.background[oai_emulation.info.max_predefined_traffic_config_index] = strndup(ch, len); } else if (aggregation_level_) { oai_emulation.application_config.predefined_traffic.aggregation_level[oai_emulation.info.max_predefined_traffic_config_index] = atoi(ch); - } else if (duration_) { - oai_emulation.application_config.predefined_traffic.duration[oai_emulation.info.max_predefined_traffic_config_index] = atoi(ch);} + } else if (flow_start_) { + oai_emulation.application_config.predefined_traffic.flow_start[oai_emulation.info.max_predefined_traffic_config_index] = atoi(ch); + } else if (flow_duration_) { + oai_emulation.application_config.predefined_traffic.flow_duration[oai_emulation.info.max_predefined_traffic_config_index] = atoi(ch); + } } else if (customized_traffic_) { @@ -1188,8 +1196,10 @@ void characters(void *user_data, const xmlChar *xmlch, int xmllen) { // called o oai_emulation.application_config.customized_traffic.ip_version[oai_emulation.info.max_customized_traffic_config_index] = strndup(ch, len); } else if (aggregation_level_) { oai_emulation.application_config.customized_traffic.aggregation_level[oai_emulation.info.max_customized_traffic_config_index] = atoi(ch); - } else if (duration_) { - oai_emulation.application_config.customized_traffic.duration[oai_emulation.info.max_customized_traffic_config_index] = atoi(ch); + } else if (flow_start_) { + oai_emulation.application_config.customized_traffic.flow_start[oai_emulation.info.max_customized_traffic_config_index] = atoi(ch); + } else if (flow_duration_) { + oai_emulation.application_config.customized_traffic.flow_duration[oai_emulation.info.max_customized_traffic_config_index] = atoi(ch); } else if (idt_dist_) { oai_emulation.application_config.customized_traffic.idt_dist[oai_emulation.info.max_customized_traffic_config_index] = strndup(ch, len); } else if (idt_min_ms_) { diff --git a/openair2/UTIL/OTG/otg_defs.h b/openair2/UTIL/OTG/otg_defs.h index f2c9e29bb9964a3a99f1912d3509b91328f63513..08fc058f8a678aa6570bd8c60b444b42d8b9240f 100644 --- a/openair2/UTIL/OTG/otg_defs.h +++ b/openair2/UTIL/OTG/otg_defs.h @@ -323,7 +323,8 @@ typedef struct { int trans_proto[NUMBER_OF_eNB_MAX + NUMBER_OF_SERVICE_MAX][NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][MAX_NUM_APPLICATION]; int ip_v[NUMBER_OF_eNB_MAX + NUMBER_OF_SERVICE_MAX][NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][MAX_NUM_APPLICATION]; - int duration[NUMBER_OF_eNB_MAX + NUMBER_OF_SERVICE_MAX][NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][MAX_NUM_APPLICATION]; /*!\brief Duration of traffic generation or use the emuulation time instead */ + int flow_start[NUMBER_OF_eNB_MAX + NUMBER_OF_SERVICE_MAX][NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][MAX_NUM_APPLICATION]; /*!\brief Duration of traffic generation or use the emuulation time instead */ + int flow_duration[NUMBER_OF_eNB_MAX + NUMBER_OF_SERVICE_MAX][NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][MAX_NUM_APPLICATION]; /*!\brief Duration of traffic generation or use the emuulation time instead */ int idt_dist[NUMBER_OF_eNB_MAX + NUMBER_OF_SERVICE_MAX][NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][MAX_NUM_APPLICATION]; /*!\brief Inter Departure Time distribution */ int idt_min[NUMBER_OF_eNB_MAX + NUMBER_OF_SERVICE_MAX][NUMBER_OF_eNB_MAX + NUMBER_OF_SERVICE_MAX][MAX_NUM_APPLICATION]; /*!\brief Min Inter Departure Time, for uniform distrib */ @@ -380,7 +381,9 @@ typedef struct { // num stream for each src // int stream [NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; // this requires multi thread for parallel stream for a givcen src // emu info - int duration[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][MAX_NUM_APPLICATION]; /*!\brief Duration of traffic generation or use the emuulation time instead */ + int flow_start_flag[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][MAX_NUM_APPLICATION]; /*!\brief flow start time flag for traffic generation or use the emuulation time instead */ + int flow_start[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][MAX_NUM_APPLICATION]; /*!\brief flow start time of traffic generation or use the emuulation time instead */ + int flow_duration[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX][MAX_NUM_APPLICATION]; /*!\brief flow duration of traffic generation or use the emuulation time instead */ int seed; /*!\brief The seed used to generate the random positions*/ @@ -427,7 +430,7 @@ typedef struct{ unsigned char state; /*!< \brief state of node : on, off, or active */ unsigned char hdr_type; /*!< \brief Header type: tcp/udp vs ipv4/ipv6 */ unsigned short pkts_size; /*!< \brief the size of payload + header */ - unsigned short aggregation_level; /*!< \brief packet aggregation level */ + unsigned short aggregation_level; /*!< \brief packet aggregation level */ unsigned int traffic_type; /*!< \brief to specify if it corresponds to an m2m traffic */ //int payload_size; /*!< \brief the size of the payload to transmit */ //int header_size; /*!< \brief Header type: tcp/udp vs ipv4/ipv6 */ diff --git a/openair2/UTIL/OTG/otg_tx.c b/openair2/UTIL/OTG/otg_tx.c index 592e153be42a03fab415bcfd8d70acea8965088b..4291039a35f137028afbdbf2953be665ea172253 100644 --- a/openair2/UTIL/OTG/otg_tx.c +++ b/openair2/UTIL/OTG/otg_tx.c @@ -398,17 +398,21 @@ void check_ctime(int ctime){ int check_data_transmit(int src,int dst, int app, int ctime){ unsigned int size=0; - - + // for (application=0; application<g_otg->application_idx[src][dst]; application++){ otg_info->gen_pkts=0; LOG_T(OTG,"FLOW_INFO [src %d][dst %d] [IDX %d] [APPLICATION TYPE %d] MAX %d [M2M %d ]\n", src, dst, app, g_otg->application_type[src][dst][app],g_otg->application_idx[src][dst], g_otg->m2m[src][dst][app]); // do not generate packet for this pair of src, dst : no app type and/or no idt are defined - - if (g_otg->duration[src][dst][app] > ctime){ - LOG_T(OTG,"Do not generate packet for this pair of src=%d, dst =%d, duration %d < ctime %d \n", src, dst,g_otg->duration[src][dst][app], ctime); + 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", + 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", + 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); @@ -679,7 +683,7 @@ for (i=0; i<2; i++){ // src //maxServiceCount g_otg_multicast->size_max[i][j][k]= 256;//can not be greater than 1500 which is max_ip_packet_size in pdcp.c - g_otg_multicast->duration[i][j][k] = 1000; // the packet will be generated after duration + g_otg_multicast->flow_duration[i][j][k] = 1000; // the packet will be generated after duration header_size_gen_multicast(i,j,k); break; case MMCBR : @@ -696,7 +700,7 @@ for (i=0; i<2; i++){ // src //maxServiceCount g_otg_multicast->size_max[i][j][k]= 768 ;//can not be greater than 1500 which is max_ip_packet_size in pdcp.c - g_otg_multicast->duration[i][j][k] = 1000; // the packet will be generated after duration + g_otg_multicast->flow_duration[i][j][k] = 1000; // the packet will be generated after duration header_size_gen_multicast(i,j,k); break; case MBCBR : @@ -713,7 +717,7 @@ for (i=0; i<2; i++){ // src //maxServiceCount g_otg_multicast->size_max[i][j][k]= 1400 ;//can not be greater than 1500 which is max_ip_packet_size in pdcp.c - g_otg_multicast->duration[i][j][k] = 1000; // the packet will be generated after duration + g_otg_multicast->flow_duration[i][j][k] = 1000; // the packet will be generated after duration header_size_gen_multicast(i,j,k); break; @@ -731,7 +735,7 @@ for (i=0; i<2; i++){ // src //maxServiceCount g_otg_multicast->size_max[i][j][k]= 512 ;//can not be greater than 1500 which is max_ip_packet_size in pdcp.c - g_otg_multicast->duration[i][j][k] = 1000; // the packet will be generated after duration + g_otg_multicast->flow_duration[i][j][k] = 1000; // the packet will be generated after duration header_size_gen_multicast(i,j,k); break; @@ -749,7 +753,7 @@ for (i=0; i<2; i++){ // src //maxServiceCount g_otg_multicast->size_max[i][j][k]= 1024 ;//can not be greater than 1500 which is max_ip_packet_size in pdcp.c - g_otg_multicast->duration[i][j][k] = 1000; // the packet will be generated after duration + g_otg_multicast->flow_duration[i][j][k] = 1000; // the packet will be generated after duration header_size_gen_multicast(i,j,k); break; @@ -767,7 +771,7 @@ for (i=0; i<2; i++){ // src //maxServiceCount g_otg_multicast->size_max[i][j][k]= 1400 ;//can not be greater than 1500 which is max_ip_packet_size in pdcp.c - g_otg_multicast->duration[i][j][k] = 1000; // the packet will be generated after duration + g_otg_multicast->flow_duration[i][j][k] = 1000; // the packet will be generated after duration header_size_gen_multicast(i,j,k); break; @@ -823,7 +827,7 @@ int k; g_otg->size_max[i][j][k][PE_STATE] = 0; #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif break; @@ -840,7 +844,7 @@ int k; g_otg->idt_min[i][j][k][PE_STATE], g_otg->size_min[i][j][k][PE_STATE]); #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif break; case MCBR : @@ -855,7 +859,7 @@ int k; 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; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif break; case BCBR : @@ -870,7 +874,7 @@ int k; 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; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif break; case AUTO_PILOT : @@ -889,7 +893,7 @@ int k; g_otg->size_lambda[i][j][k][PE_STATE] = 0; #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif break; case BICYCLE_RACE : @@ -909,7 +913,7 @@ int k; #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif break; /* case OPENARENA : @@ -929,7 +933,7 @@ int k; #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif break; */ case TEAM_FORTRESS : @@ -949,7 +953,7 @@ int k; #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif break; @@ -979,7 +983,7 @@ int k; g_otg->m2m[i][j][k]=1; #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif case AUTO_PILOT_L : /* Measurements from: @@ -1017,9 +1021,9 @@ Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Marku g_otg->m2m[i][j][k]=1; #ifdef STANDALONE g_otg->dst_port[i][j]= 303; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - break; + break; case AUTO_PILOT_M : /* Measurements from: Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Markus Laner, Kajie Zhou, Philippe Svoboda, Dejan Drajic, Serjan Krco and Milica Popovic) @@ -1056,9 +1060,9 @@ Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Marku g_otg->m2m[i][j][k]=1; #ifdef STANDALONE g_otg->dst_port[i][j] = 303; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - break; + break; case AUTO_PILOT_H : /* Measurements from: Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Markus Laner, Kajie Zhou, Philippe Svoboda, Dejan Drajic, Serjan Krco and Milica Popovic) @@ -1095,9 +1099,9 @@ Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Marku g_otg->m2m[i][j][k]=1; #ifdef STANDALONE g_otg->dst_port[i][j] = 303; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - break; + break; case AUTO_PILOT_E : /* Measurements from: Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Markus Laner, Kajie Zhou, Philippe Svoboda, Dejan Drajic, Serjan Krco and Milica Popovic) @@ -1135,29 +1139,29 @@ Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Marku g_otg->m2m[i][j][k]=1; #ifdef STANDALONE g_otg->dst_port[i][j] = 303; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - break; -case VIRTUAL_GAME_L : + break; + case VIRTUAL_GAME_L : /* Measurements from: Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Markus Laner, Kajie Zhou, Philippe Svoboda, Dejan Drajic, Serjan Krco and Milica Popovic) */ LOG_I(OTG,"VIRTUAL GAME LOW SPEEDS, src = %d, dst = %d, application type = %d\n", i, j, g_otg->application_type[i][j][k]); g_otg->trans_proto[i][j][k] = TCP; g_otg->ip_v[i][j][k] = IPV4; - g_otg->pu_size_pkts[i][j][k]=1000; + g_otg->pu_size_pkts[i][j][k]=1000; g_otg->prob_off_pu[i][j][k]=1; - if (i<nb_enb_local)/*DL*/ - g_otg->holding_time_off_pu[i][j][k]=1000; - else /*UL*/ - g_otg->holding_time_off_pu[j][i][k]=500; - g_otg->m2m[i][j][k]=1; + if (i<nb_enb_local)/*DL*/ + g_otg->holding_time_off_pu[i][j][k]=1000; + else /*UL*/ + g_otg->holding_time_off_pu[j][i][k]=500; + g_otg->m2m[i][j][k]=1; #ifdef STANDALONE g_otg->dst_port[i][j][k] = 302; - g_otg->duration[i][j][k] = 1000; + g_otg->flow_duration[i][j][k] = 1000; #endif - break; -case VIRTUAL_GAME_M : + break; + case VIRTUAL_GAME_M : /* Measurements from: Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Markus Laner, Kajie Zhou, Philippe Svoboda, Dejan Drajic, Serjan Krco and Milica Popovic) */ @@ -1174,28 +1178,28 @@ Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Marku g_otg->m2m[i][j][k]=1; #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - break; -case VIRTUAL_GAME_H : -/* Measurements from: -Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Markus Laner, Kajie Zhou, Philippe Svoboda, Dejan Drajic, Serjan Krco and Milica Popovic) -*/ + break; + case VIRTUAL_GAME_H : + /* Measurements from: + Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Markus Laner, Kajie Zhou, Philippe Svoboda, Dejan Drajic, Serjan Krco and Milica Popovic) + */ LOG_I(OTG,"VIRTUAL GAME HIGH SPEEDS, src = %d, dst = %d, application type = %d\n", i, j, g_otg->application_type[i][j][k]); g_otg->trans_proto[i][j][k] = TCP; g_otg->ip_v[i][j][k] = IPV4; - g_otg->pu_size_pkts[i][j][k]=1000; - if (i<nb_enb_local)/*DL*/ - g_otg->holding_time_off_pu[i][j][k]=1000; - else /*UL*/ - g_otg->holding_time_off_pu[j][i][k]=100; - g_otg->m2m[i][j][k]=1; + g_otg->pu_size_pkts[i][j][k]=1000; + if (i<nb_enb_local)/*DL*/ + g_otg->holding_time_off_pu[i][j][k]=1000; + else /*UL*/ + g_otg->holding_time_off_pu[j][i][k]=100; + g_otg->m2m[i][j][k]=1; #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - break; -case VIRTUAL_GAME_F : + break; + case VIRTUAL_GAME_F : /* Measurements from: Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Markus Laner, Kajie Zhou, Philippe Svoboda, Dejan Drajic, Serjan Krco and Milica Popovic) */ @@ -1212,30 +1216,30 @@ Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Marku g_otg->m2m[i][j][k]=1; #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - break; -case ALARM_HUMIDITY : -/* Measurements from: -Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Markus Laner, Kajie Zhou, Philippe Svoboda, Dejan Drajic, Serjan Krco and Milica Popovic) -*/ + break; + case ALARM_HUMIDITY : + /* Measurements from: + * Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Markus Laner, Kajie Zhou, Philippe Svoboda, Dejan Drajic, Serjan Krco and Milica Popovic) + */ LOG_I(OTG,"ALARM HUMIDITY, src = %d, dst = %d, application type = %d\n", i, j, g_otg->application_type[i][j][k]); g_otg->trans_proto[i][j][k] = TCP; g_otg->ip_v[i][j][k] = IPV4; - g_otg->pu_size_pkts[i][j][k]=1000; - g_otg->ed_size_pkts[i][j][k]=2000; + g_otg->pu_size_pkts[i][j][k]=1000; + g_otg->ed_size_pkts[i][j][k]=2000; g_otg->prob_off_pu[i][j][k]=0.5; g_otg->prob_off_ed[i][j][k]=0.5; g_otg->prob_pu_ed[i][j][k]=0.5; g_otg->holding_time_off_pu[i][j][k]=1680000; /* 28 minutes*/ g_otg->holding_time_off_ed[i][j][k]=32400000; /* 9 hours*/ - g_otg->m2m[i][j][k]=1; + g_otg->m2m[i][j][k]=1; #ifdef STANDALONE g_otg->dst_port[i][j] = 303; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - break; -case ALARM_SMOKE : + break; + case ALARM_SMOKE : /* Measurements from: Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Markus Laner, Kajie Zhou, Philippe Svoboda, Dejan Drajic, Serjan Krco and Milica Popovic) */ @@ -1252,29 +1256,29 @@ Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Marku g_otg->m2m[i][j][k]=1; #ifdef STANDALONE g_otg->dst_port[i][j] = 303; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - break; -case ALARM_TEMPERATURE : -/* Measurements from: -Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Markus Laner, Kajie Zhou, Philippe Svoboda, Dejan Drajic, Serjan Krco and Milica Popovic) -*/ + break; + case ALARM_TEMPERATURE : + /* Measurements from: + * Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Markus Laner, Kajie Zhou, Philippe Svoboda, Dejan Drajic, Serjan Krco and Milica Popovic) + */ LOG_I(OTG,"ALARM TEMPERATURE, src = %d, dst = %d, application type = %d\n", i, j, g_otg->application_type[i][j][k]); g_otg->trans_proto[i][j][k] = TCP; g_otg->ip_v[i][j][k] = IPV4; - g_otg->pu_size_pkts[i][j][k]=1000; - g_otg->ed_size_pkts[i][j][k]=4000; + g_otg->pu_size_pkts[i][j][k]=1000; + g_otg->ed_size_pkts[i][j][k]=4000; g_otg->prob_off_pu[i][j][k]=0.5; g_otg->prob_off_ed[i][j][k]=0.5; g_otg->prob_pu_ed[i][j][k]=0.5; g_otg->holding_time_off_pu[i][j][k]=1680000; /* 28 minute*/ g_otg->holding_time_off_ed[i][j][k]=18000000; /* 5 hours*/ - g_otg->m2m[i][j][k]=1; + g_otg->m2m[i][j][k]=1; #ifdef STANDALONE g_otg->dst_port[i][j]= 303; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - break; + break; case OPENARENA_DL : case OPENARENA_UL : g_otg->trans_proto[i][j][k] = TCP; @@ -1297,155 +1301,155 @@ Traffic Modeling Framework for Machine Type Communincation (Navid NiKaein, Marku } #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif break; - - case OPENARENA_DL_TARMA : - g_otg->trans_proto[i][j][k] = TCP; - g_otg->ip_v[i][j][k] = IPV4; - g_otg->m2m[i][j][k]=1; - g_otg->idt_dist[i][j][k][PE_STATE] = FIXED; - g_otg->idt_min[i][j][k][PE_STATE] = 40; - g_otg->idt_max[i][j][k][PE_STATE] = 40; - g_otg->size_dist[i][j][k][PE_STATE] = TARMA; - /*the tarma initialization*/ - otg_info->tarma_stream[i][j][k]=tarmaInitStream (0); - tarmaSetupOpenarenaDownlink(otg_info->tarma_stream[i][j][k]); - LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); - break; - - - case VIDEO_VBR_10MBPS : - g_otg->trans_proto[i][j][k] = TCP; - 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] = 40; - g_otg->idt_max[i][j][k][PE_STATE] = 40; - g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; - /*the tarma initialization*/ - otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); - tarmaSetupVideoGop12(otg_info->tarma_video[i][j][k],1); - LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); - break; - - case VIDEO_VBR_4MBPS : - g_otg->trans_proto[i][j][k] = TCP; - 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] = 40; - g_otg->idt_max[i][j][k][PE_STATE] = 40; - g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; - /*the tarma initialization*/ - otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); - tarmaSetupVideoGop12(otg_info->tarma_video[i][j][k],2.5); - LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); - break; - - case VIDEO_VBR_2MBPS : - g_otg->trans_proto[i][j][k] = TCP; - 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] = 40; - g_otg->idt_max[i][j][k][PE_STATE] = 40; - g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; - /*the tarma initialization*/ - otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); - tarmaSetupVideoGop12(otg_info->tarma_video[i][j][k],5); - LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); - break; - - case VIDEO_VBR_768KBPS : - g_otg->trans_proto[i][j][k] = TCP; - 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] = 40; - g_otg->idt_max[i][j][k][PE_STATE] = 40; - g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; - /*the tarma initialization*/ - otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); - tarmaSetupVideoGop12(otg_info->tarma_video[i][j][k],13); - LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); - break; - + + case OPENARENA_DL_TARMA : + g_otg->trans_proto[i][j][k] = TCP; + g_otg->ip_v[i][j][k] = IPV4; + g_otg->m2m[i][j][k]=1; + g_otg->idt_dist[i][j][k][PE_STATE] = FIXED; + g_otg->idt_min[i][j][k][PE_STATE] = 40; + g_otg->idt_max[i][j][k][PE_STATE] = 40; + g_otg->size_dist[i][j][k][PE_STATE] = TARMA; + /*the tarma initialization*/ + otg_info->tarma_stream[i][j][k]=tarmaInitStream (0); + tarmaSetupOpenarenaDownlink(otg_info->tarma_stream[i][j][k]); + LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); + break; + + + case VIDEO_VBR_10MBPS : + g_otg->trans_proto[i][j][k] = TCP; + 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] = 40; + g_otg->idt_max[i][j][k][PE_STATE] = 40; + g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; + /*the tarma initialization*/ + otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); + tarmaSetupVideoGop12(otg_info->tarma_video[i][j][k],1); + LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); + break; + + case VIDEO_VBR_4MBPS : + g_otg->trans_proto[i][j][k] = TCP; + 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] = 40; + g_otg->idt_max[i][j][k][PE_STATE] = 40; + g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; + /*the tarma initialization*/ + otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); + tarmaSetupVideoGop12(otg_info->tarma_video[i][j][k],2.5); + LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); + break; + + case VIDEO_VBR_2MBPS : + g_otg->trans_proto[i][j][k] = TCP; + 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] = 40; + g_otg->idt_max[i][j][k][PE_STATE] = 40; + g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; + /*the tarma initialization*/ + otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); + tarmaSetupVideoGop12(otg_info->tarma_video[i][j][k],5); + LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); + break; + + case VIDEO_VBR_768KBPS : + g_otg->trans_proto[i][j][k] = TCP; + 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] = 40; + g_otg->idt_max[i][j][k][PE_STATE] = 40; + g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; + /*the tarma initialization*/ + otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); + tarmaSetupVideoGop12(otg_info->tarma_video[i][j][k],13); + LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); + break; + case VIDEO_VBR_384KBPS : - g_otg->trans_proto[i][j][k] = TCP; - 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] = 40; - g_otg->idt_max[i][j][k][PE_STATE] = 40; - g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; - /*the tarma initialization*/ - otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); - tarmaSetupVideoGop12(otg_info->tarma_video[i][j][k],26); - LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); - break; - - case VIDEO_VBR_192KBPS : - g_otg->trans_proto[i][j][k] = TCP; - 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] = 40; - g_otg->idt_max[i][j][k][PE_STATE] = 40; - g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; - /*the tarma initialization*/ - otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); - tarmaSetupVideoGop12(otg_info->tarma_video[i][j][k],52); - LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); - break; - - case BACKGROUND_USERS: g_otg->trans_proto[i][j][k] = TCP; - g_otg->ip_v[i][j][k] = IPV4; - g_otg->idt_dist[i][j][k][PE_STATE] = UNIFORM; - g_otg->idt_lambda[i][j][k][PE_STATE] = 1/40; - g_otg->idt_min[i][j][k][PE_STATE] = 40; - g_otg->idt_max[i][j][k][PE_STATE] = 80; - g_otg->size_dist[i][j][k][PE_STATE] = BACKGROUND_DIST; - /*the background initialization*/ - // otg_info->background_stream[i][j][k]=backgroundStreamInit(0,2); + 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] = 40; + g_otg->idt_max[i][j][k][PE_STATE] = 40; + g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; + /*the tarma initialization*/ + otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); + tarmaSetupVideoGop12(otg_info->tarma_video[i][j][k],26); + LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); break; + + case VIDEO_VBR_192KBPS : + g_otg->trans_proto[i][j][k] = TCP; + 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] = 40; + g_otg->idt_max[i][j][k][PE_STATE] = 40; + g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; + /*the tarma initialization*/ + otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); + tarmaSetupVideoGop12(otg_info->tarma_video[i][j][k],52); + LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); + break; + + case BACKGROUND_USERS: + g_otg->trans_proto[i][j][k] = TCP; + g_otg->ip_v[i][j][k] = IPV4; + g_otg->idt_dist[i][j][k][PE_STATE] = UNIFORM; + g_otg->idt_lambda[i][j][k][PE_STATE] = 1/40; + g_otg->idt_min[i][j][k][PE_STATE] = 40; + g_otg->idt_max[i][j][k][PE_STATE] = 80; + g_otg->size_dist[i][j][k][PE_STATE] = BACKGROUND_DIST; + /*the background initialization*/ + // otg_info->background_stream[i][j][k]=backgroundStreamInit(0,2); + break; - case DUMMY : - g_otg->trans_proto[i][j][k] = TCP; - g_otg->ip_v[i][j][k] = IPV4; - /*the tarma initialization*/ - otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); - g_otg->idt_dist[i][j][k][PE_STATE] = VIDEO; - g_otg->idt_min[i][j][k][PE_STATE] = 40; - g_otg->idt_max[i][j][k][PE_STATE] = 40; - g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; - otg_info->tarma_video[i][j][k]->tarma_size.inputWeight[0]=1; - otg_info->tarma_video[i][j][k]->tarma_size.maWeight[0]=0.6; - otg_info->tarma_video[i][j][k]->tarma_size.maWeight[1]=-1.04; - otg_info->tarma_video[i][j][k]->tarma_size.maWeight[2]=0.44; - otg_info->tarma_video[i][j][k]->tarma_size.arWeight[0]=1; - otg_info->tarma_video[i][j][k]->tarma_size.arWeight[1]=-1.971; - otg_info->tarma_video[i][j][k]->tarma_size.arWeight[2]=0.971; - otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[0]=0; - otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[1]=2; - otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[2]=2; - otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[3]=1; - otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[4]=2; - otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[5]=2; - otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[6]=1; - otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[7]=2; - otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[8]=2; - otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[9]=1; - otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[10]=2; - otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[11]=2; - otg_info->tarma_video[i][j][k]->polyWeightFrame[0][0]=300; - otg_info->tarma_video[i][j][k]->polyWeightFrame[0][1]=30; - otg_info->tarma_video[i][j][k]->polyWeightFrame[1][0]=200; - otg_info->tarma_video[i][j][k]->polyWeightFrame[1][1]=20; - otg_info->tarma_video[i][j][k]->polyWeightFrame[2][0]=100; - otg_info->tarma_video[i][j][k]->polyWeightFrame[2][1]=10; - tarmaPrintVideoInit(otg_info->tarma_video[i][j][k]); - LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); - break; + case DUMMY : + g_otg->trans_proto[i][j][k] = TCP; + g_otg->ip_v[i][j][k] = IPV4; + /*the tarma initialization*/ + otg_info->tarma_video[i][j][k]=tarmaInitVideo(0); + g_otg->idt_dist[i][j][k][PE_STATE] = VIDEO; + g_otg->idt_min[i][j][k][PE_STATE] = 40; + g_otg->idt_max[i][j][k][PE_STATE] = 40; + g_otg->size_dist[i][j][k][PE_STATE] = VIDEO; + otg_info->tarma_video[i][j][k]->tarma_size.inputWeight[0]=1; + otg_info->tarma_video[i][j][k]->tarma_size.maWeight[0]=0.6; + otg_info->tarma_video[i][j][k]->tarma_size.maWeight[1]=-1.04; + otg_info->tarma_video[i][j][k]->tarma_size.maWeight[2]=0.44; + otg_info->tarma_video[i][j][k]->tarma_size.arWeight[0]=1; + otg_info->tarma_video[i][j][k]->tarma_size.arWeight[1]=-1.971; + otg_info->tarma_video[i][j][k]->tarma_size.arWeight[2]=0.971; + otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[0]=0; + otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[1]=2; + otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[2]=2; + otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[3]=1; + otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[4]=2; + otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[5]=2; + otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[6]=1; + otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[7]=2; + otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[8]=2; + otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[9]=1; + otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[10]=2; + otg_info->tarma_video[i][j][k]->tarmaVideoGopStructure[11]=2; + otg_info->tarma_video[i][j][k]->polyWeightFrame[0][0]=300; + otg_info->tarma_video[i][j][k]->polyWeightFrame[0][1]=30; + otg_info->tarma_video[i][j][k]->polyWeightFrame[1][0]=200; + otg_info->tarma_video[i][j][k]->polyWeightFrame[1][1]=20; + otg_info->tarma_video[i][j][k]->polyWeightFrame[2][0]=100; + otg_info->tarma_video[i][j][k]->polyWeightFrame[2][1]=10; + tarmaPrintVideoInit(otg_info->tarma_video[i][j][k]); + LOG_I(OTG,"OTG_CONFIG OPENARENA_DL_TARMA, src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); + break; case VOIP_G711 : /*http://www.computerweekly.com/feature/VoIP-bandwidth-fundamentals */ - /* Voice bit rate= 64 Kbps | Sample time= 20 msec | Voice payload=160 bytes */ + /* Voice bit rate= 64 Kbps | Sample time= 20 msec | Voice payload=160 bytes */ g_otg->trans_proto[i][j][k] = UDP; g_otg->ip_v[i][j][k] = IPV4; g_otg->idt_dist[i][j][k][SIMPLE_TALK] = FIXED; @@ -1455,14 +1459,14 @@ break; g_otg->size_dist[i][j][k][SIMPLE_TALK] = FIXED; g_otg->size_min[i][j][k][SIMPLE_TALK] = 160; g_otg->size_max[i][j][k][SIMPLE_TALK] = 160; - + #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - break; + break; case VOIP_G729 : /*http://www.computerweekly.com/feature/VoIP-bandwidth-fundamentals */ - /* Voice bit rate= 8 Kbps | Sample time= 30 msec | Voice payload=30 bytes */ + /* Voice bit rate= 8 Kbps | Sample time= 30 msec | Voice payload=30 bytes */ g_otg->trans_proto[i][j][k] = UDP; g_otg->ip_v[i][j][k] = IPV4; g_otg->idt_dist[i][j][k][SIMPLE_TALK] = FIXED; @@ -1475,9 +1479,9 @@ break; #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - break; + break; case IQSIM_MANGO : /*Realistic measurements: Eurecom with iQsim Gateway*/ g_otg->trans_proto[i][j][k] = TCP; g_otg->ip_v[i][j][k] = IPV4; @@ -1485,24 +1489,24 @@ break; g_otg->idt_min[i][j][k][PE_STATE] = 5000; g_otg->idt_max[i][j][k][PE_STATE] = 10000; g_otg->size_dist[i][j][k][PE_STATE] = FIXED; - if (i<nb_enb_local){ - LOG_I(OTG,"IQSIM_MANGO [DL], src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); - g_otg->size_min[i][j][k][PE_STATE] = 141; - g_otg->size_max[i][j][k][PE_STATE] = 141; - } - else { - LOG_I(OTG,"IQSIM_MANGO [UL], src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); - g_otg->size_min[i][j][k][PE_STATE] = 144; - g_otg->size_max[i][j][k][PE_STATE] = 144; - } - g_otg->m2m[i][j][k]=1; - + if (i<nb_enb_local){ + LOG_I(OTG,"IQSIM_MANGO [DL], src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); + g_otg->size_min[i][j][k][PE_STATE] = 141; + g_otg->size_max[i][j][k][PE_STATE] = 141; + } + else { + LOG_I(OTG,"IQSIM_MANGO [UL], src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); + g_otg->size_min[i][j][k][PE_STATE] = 144; + g_otg->size_max[i][j][k][PE_STATE] = 144; + } + g_otg->m2m[i][j][k]=1; + #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - break; + break; case IQSIM_NEWSTEO : /*Realistic measurements: Eurecom with iQsim Gateway*/ g_otg->trans_proto[i][j][k] = TCP; g_otg->ip_v[i][j][k] = IPV4; @@ -1510,30 +1514,30 @@ break; g_otg->idt_min[i][j][k][PE_STATE] = 5000; g_otg->idt_max[i][j][k][PE_STATE] = 10000; g_otg->size_dist[i][j][k][PE_STATE] = FIXED; - if (i<nb_enb_local){ /*DL*/ - LOG_I(OTG,"IQSIM_NEWSTEO [DL], src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); - g_otg->size_min[i][j][k][PE_STATE] = 467; - g_otg->size_max[i][j][k][PE_STATE] = 467; - }else { /*UL*/ - LOG_I(OTG,"IQSIM_NEWSTEO [UL], src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); - g_otg->size_min[i][j][k][PE_STATE] = 251; - g_otg->size_max[i][j][k][PE_STATE] = 251; - } - g_otg->m2m[i][j][k]=1; + if (i<nb_enb_local){ /*DL*/ + LOG_I(OTG,"IQSIM_NEWSTEO [DL], src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); + g_otg->size_min[i][j][k][PE_STATE] = 467; + g_otg->size_max[i][j][k][PE_STATE] = 467; + }else { /*UL*/ + LOG_I(OTG,"IQSIM_NEWSTEO [UL], src = %d, dst = %d, dist IDT = %d\n", i, j, g_otg->idt_dist[i][j][k][PE_STATE]); + g_otg->size_min[i][j][k][PE_STATE] = 251; + g_otg->size_max[i][j][k][PE_STATE] = 251; + } + g_otg->m2m[i][j][k]=1; #ifdef STANDALONE g_otg->dst_port[i][j] = 302; - g_otg->duration[i][j] = 1000; + g_otg->flow_duration[i][j] = 1000; #endif - - break; + + break; default: LOG_D(OTG, "[SRC %d][DST %d] Unknown traffic type\n", i, j); - /* TO ADD: 3GPP TSG-RAN WG1 Meeting #71: Low-cost MTC Traffic Models and Characteristics */ - - + /* TO ADD: 3GPP TSG-RAN WG1 Meeting #71: Low-cost MTC Traffic Models and Characteristics */ + + + } } - } } } } diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_0.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_0.xml index 0daa74a38260f0547aae05b369128fb70c9ee681..5732019393330efc394066d61aa3be69d9631bd8 100644 --- a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_0.xml +++ b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_0.xml @@ -10,7 +10,7 @@ </FADING> <WALL_PENETRATION_LOSS_dB>5</WALL_PENETRATION_LOSS_dB> <SYSTEM_BANDWIDTH_MB>7.68</SYSTEM_BANDWIDTH_MB> - <UE_FREQUENCY_GHz>1.9</UE_FREQUENCY_GHz> + <SYSTEM_FREQUENCY_GHz>1.9</SYSTEM_FREQUENCY_GHz> <ANTENNA> <eNB_ANTENNA> <RX_NOISE_LEVEL_dB>5</RX_NOISE_LEVEL_dB> @@ -76,6 +76,9 @@ <SOURCE_ID>0</SOURCE_ID> <APPLICATION_TYPE>gaming_OA</APPLICATION_TYPE> <!-- OPTIONS: scbr, mcbr, bcbr, m2m_AP, m2m_BR, gaming_OA, gaming_TF, full_buffer --> <DESTINATION_ID>1</DESTINATION_ID> + <FLOW_START_ms>400</FLOW_START_ms> <!-- not less than 310 --> + <FLOW_DURATION_ms>2000</FLOW_DURATION_ms> <!-- less than simu time - FLOW_START_ms --> + </PREDEFINED_TRAFFIC> <CUSTOMIZED_TRAFFIC> @@ -96,7 +99,9 @@ <TRANSPORT_PROTOCOL>udp</TRANSPORT_PROTOCOL> <!-- OPTIONS: tcp (default), udp --> <IP_VERSION>ipv6</IP_VERSION> <!-- OPTIONS: ipv4 (default), ipv6 --> <DESTINATION_ID>0</DESTINATION_ID> - + <FLOW_START_ms>400</FLOW_START_ms> <!-- not less than 310 --> + <FLOW_DURATION_ms>2000</FLOW_DURATION_ms> <!-- less than simu time - FLOW_START_ms --> + <IDT_DIST>uniform</IDT_DIST> <!-- OPTIONS: no_customized_traffic (default), uniform, poission, gaussian, exponential, fixed, weibull, pareto, gamma, cauchy --> <IDT_MIN_ms>100</IDT_MIN_ms> <IDT_MAX_ms>1000</IDT_MAX_ms> @@ -121,9 +126,10 @@ <PERFORMANCE> <METRICS> <THROUGHPUT>1</THROUGHPUT> - <LATENCY></LATENCY> - <SIGNALLING_OVERHEAD></SIGNALLING_OVERHEAD> - </METRICS> + <LATENCY>1</LATENCY> + <JITTER>1</JITTER> + <SIGNALLING_OVERHEAD>1</SIGNALLING_OVERHEAD> + </METRICS> <LAYER> <MAC>1</MAC> diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_11.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_11.xml index b049eb9b981cc83a7c3ca2f879deaee80a80b1e1..f19fc68c0bca6bf9c8d6b38a1e10750219707e1f 100644 --- a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_11.xml +++ b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_11.xml @@ -10,7 +10,7 @@ </FADING> <WALL_PENETRATION_LOSS_dB>5</WALL_PENETRATION_LOSS_dB> <SYSTEM_BANDWIDTH_MB>7.68</SYSTEM_BANDWIDTH_MB> - <UE_FREQUENCY_GHz>1.9</UE_FREQUENCY_GHz> + <SYSTEM_FREQUENCY_GHz>1.9</SYSTEM_FREQUENCY_GHz> <ANTENNA> <eNB_ANTENNA> <RX_NOISE_LEVEL_dB>5</RX_NOISE_LEVEL_dB> diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_20.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_20.xml index 16cb2d86cdcc0c6e191b6293471bcf5306cb82c8..b8f35407c1e78fc0920dab755d6259029426dc77 100644 --- a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_20.xml +++ b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_20.xml @@ -6,7 +6,7 @@ </FREE_SPACE_MODEL_PARAMETERS> <SMALL_SCALE>AWGN</SMALL_SCALE> </FADING> - <UE_FREQUENCY_GHz>1.9</UE_FREQUENCY_GHz> + <SYSTEM_FREQUENCY_GHz>1.9</SYSTEM_FREQUENCY_GHz> </ENVIRONMENT_SYSTEM_CONFIG> <TOPOLOGY_CONFIG> @@ -52,7 +52,8 @@ <TRANSPORT_PROTOCOL>udp</TRANSPORT_PROTOCOL> <!-- OPTIONS: tcp (default), udp --> <IP_VERSION>ipv6</IP_VERSION> <!-- OPTIONS: ipv4 (default), ipv6 --> <DESTINATION_ID>0</DESTINATION_ID> - <DURATION_ms>7000</DURATION_ms> <!-- indicates the start time of the app or the actual duration of the traffic--> + <FLOW_START_ms>200</FLOW_START_ms> <!-- indicates the start time of the app or the actual duration of the traffic--> + <FLOW_DURATION_ms>7000</FLOW_DURATION_ms> <!-- indicates the duration of the app or the actual duration of the traffic--> <BACKGROUND_TRAFFIC>disable</BACKGROUND_TRAFFIC> <!-- options: enable, disable. If enable, it generates a background traffic corresponding to the traffic direction--> <IDT_DIST>fixed</IDT_DIST> <!-- available distributions: none (default), uniform, poission, gaussian, exponential,pareto, cauchy,fixed, weibull, gammav--> <IDT_MIN_ms>40</IDT_MIN_ms> <!--Minimum IDT values in milliseconds--> diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_22.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_22.xml index 12fdc47100aa9037ee99dff53e446bd83653935a..d22104ae1c08604362ff50b4470b05377c339f36 100644 --- a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_22.xml +++ b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_22.xml @@ -10,7 +10,7 @@ </FADING> <WALL_PENETRATION_LOSS_dB>5</WALL_PENETRATION_LOSS_dB> <SYSTEM_BANDWIDTH_MB>7.68</SYSTEM_BANDWIDTH_MB> - <UE_FREQUENCY_GHz>1.9</UE_FREQUENCY_GHz> + <SYSTEM_FREQUENCY_GHz>1.9</SYSTEM_FREQUENCY_GHz> <ANTENNA> <eNB_ANTENNA> <RX_NOISE_LEVEL_dB>5</RX_NOISE_LEVEL_dB> @@ -61,7 +61,8 @@ <!-- UL --> <PREDEFINED_TRAFFIC> <SOURCE_ID>1:9</SOURCE_ID> <!-- valid formats are "n:m" and "n,m" and "n" --> - <DURATION_ms>5000</DURATION_ms> + <FLOW_START_ms>200</FLOW_START_ms> <!-- indicates the start time of the app or the actual duration of the traffic--> + <FLOW_DURATION_ms>5000</FLOW_DURATION_ms> <APPLICATION_TYPE>scbr</APPLICATION_TYPE> <DESTINATION_ID>0</DESTINATION_ID> <!-- valid formats are "n:m" and "n,m" and "n" --> </PREDEFINED_TRAFFIC> diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_3.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_3.xml index b317a161aaf1785fa2d1d039f373f04dbf9efa45..85bc55d4bcb6c13667e7da5f2209d27bbdb1efe0 100644 --- a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_3.xml +++ b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_3.xml @@ -13,7 +13,7 @@ <WALL_PENETRATION_LOSS_dB>5</WALL_PENETRATION_LOSS_dB> <SYSTEM_BANDWIDTH_MB>7.68</SYSTEM_BANDWIDTH_MB> - <UE_FREQUENCY_GHz>1.9</UE_FREQUENCY_GHz> + <SYSTEM_FREQUENCY_GHz>1.9</SYSTEM_FREQUENCY_GHz> <ANTENNA> <eNB_ANTENNA> diff --git a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_5.xml b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_5.xml index 920db876b15464eaf89ae468d3549b8504702355..bf5d14653b2255b4e5f4c9fe209a2aab4fe0a7a5 100644 --- a/targets/SIMU/EXAMPLES/OSD/WEBXML/template_5.xml +++ b/targets/SIMU/EXAMPLES/OSD/WEBXML/template_5.xml @@ -10,7 +10,7 @@ </FADING> <WALL_PENETRATION_LOSS_dB>5</WALL_PENETRATION_LOSS_dB> <SYSTEM_BANDWIDTH_MB>7.68</SYSTEM_BANDWIDTH_MB> - <UE_FREQUENCY_GHz>1.9</UE_FREQUENCY_GHz> + <SYSTEM_FREQUENCY_GHz>1.9</SYSTEM_FREQUENCY_GHz> <ANTENNA> <eNB_ANTENNA> <RX_NOISE_LEVEL_dB>5</RX_NOISE_LEVEL_dB> diff --git a/targets/SIMU/USER/oaisim_config.c b/targets/SIMU/USER/oaisim_config.c index 274de50f02ea9405f85a9d4e221dceaefea82a5b..32d5f106e5187a8fe86944650013fca7c08bcc35 100644 --- a/targets/SIMU/USER/oaisim_config.c +++ b/targets/SIMU/USER/oaisim_config.c @@ -285,7 +285,8 @@ void init_oai_emulation(void) { oai_emulation.application_config.predefined_traffic.application_type[i] = "no_predefined_traffic"; oai_emulation.application_config.predefined_traffic.background[i] = "disable"; oai_emulation.application_config.predefined_traffic.aggregation_level[i] = 1; - oai_emulation.application_config.predefined_traffic.duration[i] = 10; + oai_emulation.application_config.predefined_traffic.flow_start[i] = (i+1)*25; + oai_emulation.application_config.predefined_traffic.flow_duration[i] = 100; oai_emulation.application_config.predefined_traffic.destination_id[i] = 0; @@ -296,7 +297,8 @@ void init_oai_emulation(void) { oai_emulation.application_config.customized_traffic.m2m[i] = "disable"; oai_emulation.application_config.customized_traffic.ip_version[i] = "ipv4"; oai_emulation.application_config.customized_traffic.aggregation_level[i] = 1; - oai_emulation.application_config.customized_traffic.duration[i] = 10; + oai_emulation.application_config.customized_traffic.flow_start[i] = (i+1)*25; + oai_emulation.application_config.customized_traffic.flow_duration[i] = 100; oai_emulation.application_config.customized_traffic.idt_dist[i] = "uniform"; oai_emulation.application_config.customized_traffic.idt_min_ms[i] = 100; oai_emulation.application_config.customized_traffic.idt_max_ms[i] = 1000; @@ -744,8 +746,9 @@ int ocg_config_app(void){ g_otg->trans_proto[i][j][k]=map_str_to_int(otg_transport_protocol_names, oai_emulation.application_config.customized_traffic.transport_protocol[i]); g_otg->application_type[i][j][k]=map_str_to_int(otg_app_type_names, "no_predefined_traffic"); g_otg->aggregation_level[i][j][k]=oai_emulation.application_config.customized_traffic.aggregation_level[i]; - g_otg->duration[i][j][k]=oai_emulation.application_config.customized_traffic.duration[i]; - + g_otg->flow_start[i][j][k]=oai_emulation.application_config.customized_traffic.flow_start[i]; + g_otg->flow_duration[i][j][k]=oai_emulation.application_config.customized_traffic.flow_duration[i]; + for (l=0; l<MAX_NUM_TRAFFIC_STATE; l++){ g_otg->idt_dist[i][j][k][l]=map_str_to_int(otg_distribution_names, "no_customized_traffic"); g_otg->idt_min[i][j][k][l]=oai_emulation.application_config.customized_traffic.idt_min_ms[i]; @@ -813,8 +816,17 @@ int ocg_config_app(void){ g_otg->background[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]] =map_str_to_int(switch_names,oai_emulation.application_config.predefined_traffic.background[predefined_traffic_config_index]); g_otg->aggregation_level[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.predefined_traffic.aggregation_level[predefined_traffic_config_index]; - g_otg->duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.predefined_traffic.duration[predefined_traffic_config_index]; - LOG_I(OTG,"predef (1):: OCG_config_OTG [MAX UE=%d] [MAX eNB=%d]: FORMAT (%d:%d) source = %d, dest = %d, Application ID = %d background %d, Aggregation=%d , m2m= %d, duration %d \n",oai_emulation.info.nb_ue_local, oai_emulation.info.nb_enb_local, sid_start, sid_end, source_id_index, destination_id_index, g_otg->application_idx[source_id_index][destination_id_index],g_otg->background[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]], g_otg->aggregation_level[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]], g_otg->m2m[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]], g_otg->duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]); + g_otg->flow_start[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.predefined_traffic.flow_start[predefined_traffic_config_index]; + g_otg->flow_duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.predefined_traffic.flow_duration[predefined_traffic_config_index]; + + LOG_I(OTG,"predef (1):: OCG_config_OTG [MAX UE=%d] [MAX eNB=%d]: FORMAT (%d:%d) source = %d, dest = %d, Application ID = %d background %d, Aggregation=%d , m2m= %d, flow start/duration %d/%d \n", + oai_emulation.info.nb_ue_local, oai_emulation.info.nb_enb_local, sid_start, sid_end, source_id_index, destination_id_index, + g_otg->application_idx[source_id_index][destination_id_index], + g_otg->background[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]], + g_otg->aggregation_level[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]], + g_otg->m2m[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]], + g_otg->flow_start[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]], + g_otg->flow_duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]); g_otg->application_idx[source_id_index][destination_id_index]+=1; } } @@ -828,7 +840,8 @@ int ocg_config_app(void){ g_otg->application_type[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]] = map_str_to_int(otg_app_type_names, oai_emulation.application_config.predefined_traffic.application_type[predefined_traffic_config_index]); g_otg->background[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]] =map_str_to_int(switch_names,oai_emulation.application_config.predefined_traffic.background[predefined_traffic_config_index]); g_otg->aggregation_level[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.predefined_traffic.aggregation_level[predefined_traffic_config_index]; - g_otg->duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.predefined_traffic.duration[predefined_traffic_config_index]; + g_otg->flow_start[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.predefined_traffic.flow_start[predefined_traffic_config_index]; + g_otg->flow_duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.predefined_traffic.flow_duration[predefined_traffic_config_index]; g_otg->application_idx[source_id_index][destination_id_index]+=1; } per_source_id = strtok(NULL, comma); @@ -857,11 +870,19 @@ int ocg_config_app(void){ g_otg->application_type[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]] = map_str_to_int(otg_app_type_names, oai_emulation.application_config.predefined_traffic.application_type[predefined_traffic_config_index]); g_otg->background[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]] =map_str_to_int(switch_names,oai_emulation.application_config.predefined_traffic.background[predefined_traffic_config_index]); g_otg->aggregation_level[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.predefined_traffic.aggregation_level[predefined_traffic_config_index]; - g_otg->duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.predefined_traffic.duration[predefined_traffic_config_index]; + g_otg->flow_start[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.predefined_traffic.flow_start[predefined_traffic_config_index]; + g_otg->flow_duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.predefined_traffic.flow_duration[predefined_traffic_config_index]; g_otg->application_idx[source_id_index][destination_id_index]+=1; } - LOG_I(OTG,"predef (2):: OCG_config_OTG: [MAX UE=%d] [MAX eNB=%d]: FORMAT (%d:%d) source = %d, dest = %d, Application ID %d, Background=%d, Aggregation=%d, m2m=%d, duration %d\n", oai_emulation.info.nb_ue_local, oai_emulation.info.nb_enb_local, sid_start, sid_end, source_id_index, destination_id_index,g_otg->application_idx[source_id_index][destination_id_index] , g_otg->background[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]], g_otg->aggregation_level[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]], g_otg->m2m[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]],g_otg->duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]); + LOG_I(OTG,"predef (2):: OCG_config_OTG: [MAX UE=%d] [MAX eNB=%d]: FORMAT (%d:%d) source = %d, dest = %d, Application ID %d, Background=%d, Aggregation=%d, m2m=%d, start/duration %d/%d\n", + oai_emulation.info.nb_ue_local, oai_emulation.info.nb_enb_local, sid_start, sid_end, source_id_index, destination_id_index, + g_otg->application_idx[source_id_index][destination_id_index], + g_otg->background[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]], + g_otg->aggregation_level[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]], + g_otg->m2m[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]], + g_otg->flow_start[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]], + g_otg->flow_duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]); } } @@ -910,7 +931,8 @@ int ocg_config_app(void){ g_otg->trans_proto[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]] = map_str_to_int(otg_transport_protocol_names, oai_emulation.application_config.customized_traffic.transport_protocol[customized_traffic_config_index]); g_otg->ip_v[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]] = map_str_to_int(otg_ip_version_names, oai_emulation.application_config.customized_traffic.ip_version[customized_traffic_config_index]); g_otg->aggregation_level[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.customized_traffic.aggregation_level[customized_traffic_config_index]; - g_otg->duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.customized_traffic.duration[customized_traffic_config_index]; + g_otg->flow_start[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.customized_traffic.flow_start[customized_traffic_config_index]; + g_otg->flow_duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.customized_traffic.flow_duration[customized_traffic_config_index]; g_otg->idt_dist[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]][state] = map_str_to_int(otg_distribution_names, oai_emulation.application_config.customized_traffic.idt_dist[customized_traffic_config_index]); g_otg->idt_min[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]][state] = oai_emulation.application_config.customized_traffic.idt_min_ms[customized_traffic_config_index]; g_otg->idt_max[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]][state] = oai_emulation.application_config.customized_traffic.idt_max_ms[customized_traffic_config_index]; @@ -959,7 +981,8 @@ g_otg->application_idx[source_id_index][destination_id_index]+=1; g_otg->trans_proto[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]] = map_str_to_int(otg_transport_protocol_names, oai_emulation.application_config.customized_traffic.transport_protocol[customized_traffic_config_index]); g_otg->ip_v[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]] = map_str_to_int(otg_ip_version_names, oai_emulation.application_config.customized_traffic.ip_version[customized_traffic_config_index]); g_otg->aggregation_level[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.customized_traffic.aggregation_level[customized_traffic_config_index]; - g_otg->duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.customized_traffic.duration[customized_traffic_config_index]; + g_otg->flow_start[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.customized_traffic.flow_start[customized_traffic_config_index]; + g_otg->flow_duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.customized_traffic.flow_duration[customized_traffic_config_index]; g_otg->idt_dist[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]][state] = map_str_to_int(otg_distribution_names, oai_emulation.application_config.customized_traffic.idt_dist[customized_traffic_config_index]); g_otg->idt_min[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]][state] = oai_emulation.application_config.customized_traffic.idt_min_ms[customized_traffic_config_index]; g_otg->idt_max[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]][state] = oai_emulation.application_config.customized_traffic.idt_max_ms[customized_traffic_config_index]; @@ -1028,7 +1051,8 @@ g_otg->application_idx[source_id_index][destination_id_index]+=1; g_otg->ip_v[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]] = map_str_to_int(otg_ip_version_names, oai_emulation.application_config.customized_traffic.ip_version[customized_traffic_config_index]); g_otg->aggregation_level[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.customized_traffic.aggregation_level[customized_traffic_config_index]; - g_otg->duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.customized_traffic.duration[customized_traffic_config_index]; + g_otg->flow_start[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.customized_traffic.flow_start[customized_traffic_config_index]; + g_otg->flow_duration[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]]=oai_emulation.application_config.customized_traffic.flow_duration[customized_traffic_config_index]; g_otg->idt_dist[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]][state] = map_str_to_int(otg_distribution_names, oai_emulation.application_config.customized_traffic.idt_dist[customized_traffic_config_index]); g_otg->idt_min[source_id_index][destination_id_index][g_otg->application_idx[source_id_index][destination_id_index]][state] = oai_emulation.application_config.customized_traffic.idt_min_ms[customized_traffic_config_index]; diff --git a/targets/TEST/OAI/case01.py b/targets/TEST/OAI/case01.py index fc20f3cce124ff389dd69b6272fc3c2ce6bd5e64..f24d776b2b7f56ae40e77ed851e10f3e7ad8d7fc 100644 --- a/targets/TEST/OAI/case01.py +++ b/targets/TEST/OAI/case01.py @@ -106,7 +106,7 @@ def execute(oai, user, pw, logfile,logdir): log.ok(case, test, name, conf, '', logfile) oai.send('cd $OPENAIR_TARGETS;') - oai.send('cd RTAI/USER;') + oai.send('cd RT/USER;') try: test = '03'