Commit 20b44143 authored by Navid Nikaein's avatar Navid Nikaein

* add "FLOW_START_ms" and "FLOW_DURATION_ms" to xml scneario descriptor for OTG


git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5395 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent c11b6824
......@@ -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;
......
......@@ -2665,6 +2665,7 @@ 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]));
......@@ -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]));
......
......@@ -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]));
......
......@@ -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);
}
......
......@@ -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;
}
......
......@@ -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,7 +530,8 @@ 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];
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;
......
......@@ -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_) {
......
......@@ -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*/
......
......@@ -399,16 +399,20 @@ 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,7 +1021,7 @@ 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 AUTO_PILOT_M :
......@@ -1056,7 +1060,7 @@ 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 AUTO_PILOT_H :
......@@ -1095,7 +1099,7 @@ 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 AUTO_PILOT_E :
......@@ -1135,10 +1139,10 @@ 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 :
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)
*/
......@@ -1154,10 +1158,10 @@ 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][k] = 302;
g_otg->duration[i][j][k] = 1000;
g_otg->flow_duration[i][j][k] = 1000;
#endif
break;
case VIRTUAL_GAME_M :
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,13 +1178,13 @@ 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)
*/
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;
......@@ -1192,10 +1196,10 @@ 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_F :
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,13 +1216,13 @@ 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)
*/
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;
......@@ -1232,10 +1236,10 @@ 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_SMOKE :
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,13 +1256,13 @@ 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)
*/
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;
......@@ -1272,7 +1276,7 @@ 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 OPENARENA_DL :
......@@ -1297,7 +1301,7 @@ 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;
......@@ -1458,7 +1462,7 @@ 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;
case VOIP_G729 : /*http://www.computerweekly.com/feature/VoIP-bandwidth-fundamentals */
......@@ -1475,7 +1479,7 @@ 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;
case IQSIM_MANGO : /*Realistic measurements: Eurecom with iQsim Gateway*/
......@@ -1499,7 +1503,7 @@ 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;
......@@ -1523,7 +1527,7 @@ 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;
......
......@@ -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,6 +99,8 @@
<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>
......@@ -121,8 +126,9 @@
<PERFORMANCE>
<METRICS>
<THROUGHPUT>1</THROUGHPUT>
<LATENCY></LATENCY>
<SIGNALLING_OVERHEAD></SIGNALLING_OVERHEAD>
<LATENCY>1</LATENCY>
<JITTER>1</JITTER>
<SIGNALLING_OVERHEAD>1</SIGNALLING_OVERHEAD>
</METRICS>
<LAYER>
......
......@@ -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>
......
......@@ -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-->
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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,7 +746,8 @@ 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");
......@@ -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];
......
......@@ -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'
......
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