'.$WEBXML_PATH.'
'.$RESULTS_PATH.'
'.$OPENAIR1_DIR.'
'.$OPENAIR2_DIR.'
'.$OPENAIR3_DIR.'
'; // TO HIDE ALL THE PHP ERRORS AND WARNINGS ini_set('display_errors','Off'); ini_set('log_errors',1); ini_set('error_log','/var/logs/php/errlog.txt'); // ***************************************************************************************** // COPY and PASTE //FROM HERE COPY AND PASTE THE CONTENT OF THE FORM RECEPTION OF THE WEBPORTAL VERSION FROM AFTER THIS LINE // // ***************************************************************************************** function nospace($input) { $espace = array(" "); return str_replace($espace, "", $input); } // PHIL - To put a 0 or 1 between tags For all the CHECKBOXES so they are not empties- 2012 06 28 if ( isset($_POST['throughput']) && $_POST['throughput'] == '1' ) { $THROUGHPUT = 1; } else { $THROUGHPUT = 0; } if ( isset($_POST['latency']) && $_POST['latency'] == '1' ) { $LATENCY = 1; } else { $LATENCY = 0; } if ( isset($_POST['lossrate']) && $_POST['lossrate'] == '1' ) { $LOSS_RATE = 1; } else { $LOSS_RATE = 0; } if ( isset($_POST['pkttrace']) && $_POST['pkttrace'] == '1' ) { $PKTTRACE = 1; } else { $PKTTRACE = 0; } if ( isset($_POST['bg_traffic']) && $_POST['bg_traffic'] == '1' ) { $BG_TRAFFIC = 1; } else { $BG_TRAFFIC = 0; } if ( isset($_POST['curves']) && $_POST['curves'] == '1' ) { $CURVES = enabled; } else { $CURVES = disabled; } // More parameters if ( isset($_POST['phy_abstraction']) && $_POST['phy_abstraction'] == '1' ) { $PHY_ABSTRACTION = '-a'; } else { $PHY_ABSTRACTION = ''; } if ( isset($_POST['pcap_trace']) && $_POST['pcap_trace'] == '1' ) { $PCAP_TRACE = 1; } else { $PCAP_TRACE = 0; } if ( isset($_POST['profiling']) && $_POST['profiling'] == '1' ) { $PROFILING = 1; } else { $PROFILING = 0; } if ( isset($_POST['dl_mcs'])) { $DL_MCS = '-m' . $_POST['dl_mcs']; } else { $DL_MCS = ''; } if ( isset($_POST['ul_mcs'])) { $UL_MCS = '-t' . $_POST['ul_mcs']; } else { $UL_MCS = ''; } if ( isset($_POST['snr'])) { $SNR = '-s' . $_POST['snr']; } else { $SNR = ''; } if ( isset($_POST['transmission_mode'])) { $TRANSMISSION_MODE = $_POST['transmission_mode']; } else { $TRANSMISSION_MODE = ''; } if ( isset($_POST['frame_type'])) { $FRAME_TYPE = $_POST['frame_type']; } else { $FRAME_TYPE = ''; } if ( isset($_POST['tdd_config'])) { $TDD_CONFIG = ''.$_POST['tdd_config'].''; } else { $TDD_CONFIG = ''; } // VARIABLES FOR BOTH WEBPORTAL AND PORTABLE VERSION $espace= array(" "); $date = date("YmdHis"); $PERSON = str_replace($espace, "", $user); $ID = $PERSON.$date; $user = $_POST['username']; $XML_FILENAME = str_replace($espace, "", $user).'.'.$date.'.xml'; // eNB Distribution if (isset($_POST['eNB_initial_distribution']) && $_POST['eNB_initial_distribution'] == 'fixed') { $eNB_INITIAL_DISTRIBUTION = 'fixed '.nospace($_POST['pos_x']).' '.nospace($_POST['pos_y']).' '; } elseif (isset($_POST['eNB_initial_distribution']) && $_POST['eNB_initial_distribution'] == 'random') { $eNB_INITIAL_DISTRIBUTION = 'random '.nospace($_POST['random_eNB_distr']).' '; } // RBs if (isset($_POST['num_rbs_dl'])) { $NUMBER_OF_RBS = ''.$_POST['num_rbs_dl'].''; } else { $NUM_RBS = ''; } // PCAP if ($PCAP_TRACE == 1) { $TRACE_FILE = 'pcap'; } else { $TRACE_FILE = ''; } // CLI if ( isset($_POST['cli_enabled']) && $_POST['cli_enabled'] == '1' ) { if ( isset($_POST['cli_start_enb']) && $_POST['cli_start_enb'] == '1' ) { $CLI_START_ENB = 1; } else { $CLI_START_ENB = 0; } if ( isset($_POST['cli_start_ue']) && $_POST['cli_start_ue'] == '1' ) { $CLI_START_UE = 1; } else { $CLI_START_UE = 0; } $CLI = ' '.$CLI_START_ENB.' '.$CLI_START_UE.' '; } else { $CLI = ''; } // ICI TOUTES LES OPTIONS - ELLES SONT COMMENTEES EN BAS DU FICHIER // $data = ' 0 '.nospace($_POST['pathlossexp']).' '.nospace($_POST['pathlosszero']).' '.nospace($_POST['smallscale']).' '.nospace($_POST['wallpenetloss']).' '.nospace($_POST['sysbw']).' '.nospace($_POST['uefreq']).' '.$NUMBER_OF_RBS.' '.$TRANSMISSION_MODE.' '.$FRAME_TYPE.' '.$TDD_CONFIG.' '.nospace($_POST['eNB_RX_noise_power']).' '.nospace($_POST['eNB_nb_sectors']).' '.nospace($_POST['eNB_beam_width']).' '.nospace($_POST['eNB_antenna_gain']).' '.nospace($_POST['eNB_TX_power']).' '.nospace($_POST['UE_RX_noise_power']).' '.nospace($_POST['UE_antenna_gain']).' '.nospace($_POST['UE_TX_power']).' '.nospace($_POST['areax']).' '.nospace($_POST['areay']).' '.nospace($_POST['typetopo']).' '.nospace($_POST['celltype']).' 0 '.nospace($_POST['uedistr']).' '.nospace($_POST['random_UE_dist_nb_node']).' '.nospace($_POST['uemobility']).' '.nospace($_POST['minspeed']).' '.nospace($_POST['maxspeed']).' '.nospace($_POST['minpausetime']).' '.nospace($_POST['maxpausetime']).' '.nospace($_POST['minjourneytime']).' '.nospace($_POST['maxjourneytime']).' '.nospace($eNB_INITIAL_DISTRIBUTION).' '.nospace($_POST['enbmobility']).' '.nospace($_POST['omv']).' '.nospace($_POST['pre_sourceid']).' '.nospace($_POST['pre_apptype']).' '.nospace($_POST['pre_destid']).' '.$BG_TRAFFIC.' '.nospace($_POST['cust_sourceid']).' '.nospace($_POST['cust_transprot']).' '.nospace($_POST['cust_ipversion']).' '.nospace($_POST['cust_destid']).' '.nospace($_POST['idt_dist']).' '.nospace($_POST['idtmin']).' '.nospace($_POST['idtmax']).' '.nospace($_POST['idtstddeviation']).' '.nospace($_POST['idtlambda']).' '.nospace($_POST['idtscale']).' '.nospace($_POST['idtshape']).' '.nospace($_POST['size_dist']).' '.nospace($_POST['sizemin']).' '.nospace($_POST['sizemax']).' '.nospace($_POST['sizestddeviation']).' '.nospace($_POST['sizelambda']).' '.nospace($_POST['sizescale']).' '.nospace($_POST['sizeshape']).' '.nospace($_POST['destport']).' '.nospace($_POST['proboffpu']).' '.nospace($_POST['probpued']).' '.nospace($_POST['holdtimeoffpu']).' '.nospace($_POST['proboffed']).' '.nospace($_POST['probedpe']).' '.nospace($_POST['holdtimeoffed']).' '.nospace($_POST['holdtimeoffpe']).' '.nospace($_POST['emutime']).' '.$CURVES.' '.$PROFILING.' '.$TRACE_FILE.' '.$THROUGHPUT.' '.$LATENCY.' '.$LOSS_RATE.' 1 '.nospace($_POST['level']).' '.nospace($_POST['verbosity']).' '.nospace($_POST['interval']).' '.$PKTTRACE.' '.nospace($_POST['seedvalue']).' '.$CLI.' '.$XML_FILENAME.' '; //echo $data."

"; /* // VARIABLES FOR WEBPORTAL $EMU_RESULTS = "/drupal-6.19/CLUSTER/r4g7/emu_results"; $EMU_RESULTS_USER = $EMU_RESULTS.'/'.str_replace($espace, "", $user).'/'.$date; $FOR_R4G1 = "/opt/lampp/htdocs/drupal-6.19/CLUSTER/r4g7/emu_results/".str_replace($espace, "", $user)."/".$date."/LOGS/"; $CHEMIN = "/nfs/emu_results/".str_replace($espace, "", $user)."/".$date."/LOGS/"; $file = '/opt/lampp/htdocs/drupal-6.19/CLUSTER/r4g7/webxml/'.$XML_FILE; */ // VARIABLES FOR PORTABLE VERSION $xmlfile = $WEBXML_PATH.'/'.str_replace($espace, "", $user).'.'.$date.'.xml'; //echo $xmlfile.'
'.$XML_FILENAME.'
'; // 1 - WRITTING THE XML FILE File_put_contents($xmlfile, $data); sleep(1); // IN PORTABLE VERSION THERE IS NO FOR R4G1, SINCE WE WORK ON ONLY ONE MACHINE // RESULTS_PATH is defined in /opt/lampp/htdocs/OSD/OpenAirEmu.conf file $RESULTS_PATH_EMULATION = $RESULTS_PATH."/".str_replace($espace, "", $user)."/".$date."/"; //echo $RESULTS_PATH_EMULATION.'
'; //$RESULTS_PATH_EMULATION_LOGS = $RESULTS_PATH_EMULATION."LOGS/"; //$RESULTS_PATH_EMULATION_XML = $RESULTS_PATH_EMULATION."SCENARIO/XML/"; // PROFILING and PCAP Copy if ($PROFILING == 1) { $PROFILING_PARSE = '2>profiling.log'; $PROFILING_COPY = ' ; cp profiling.log '.$RESULTS_PATH_EMULATION; } else { $PROFILING_PARSE = ''; $PROFILING_COPY = ''; } if ($PCAP_TRACE == 1) { $PCAP_COPY = ' ; cp oai_opt.pcap '.$RESULTS_PATH_EMULATION; } else { $PCAP_COPY = ''; } // -1 : portable, 0: web portal, # for templates // 2 - STARTING OAISIM // $OAISIM=shell_exec("set -x ; mkdir /tmp/$ID ; cd /tmp/$ID ; export OPENAIR1_DIR=$OPENAIR1_DIR ; export OPENAIR2_DIR=$OPENAIR2_DIR ; export OPENAIR3_DIR=$OPENAIR3_DIR ; export OPENAIR_TARGETS=$OPENAIR_TARGETS ; $OPENAIR_TARGETS/SIMU/USER/oaisim -a -c $XML_FILENAME >oaisim.log ; mv * $RESULTS_PATH_EMULATION_LOGS ; rmdir /tmp/$ID "); $OAISIM="set -x ; mkdir /tmp/$ID ; cd /tmp/$ID ; export OPENAIR1_DIR=$OPENAIR1_DIR ; export OPENAIR2_DIR=$OPENAIR2_DIR ; export OPENAIR3_DIR=$OPENAIR3_DIR ; export OPENAIR_TARGETS=$OPENAIR_TARGETS ; $OPENAIR_TARGETS/SIMU/USER/oaisim $PHY_ABSTRACTION $SNR $DL_MCS $UL_MCS -c -1 >oaisim.log ".$PROFILING_PARSE." ; cp oaisim.log $RESULTS_PATH_EMULATION".$PROFILING_COPY.$PCAP_COPY; //echo $OAISIM; shell_exec($OAISIM); // Get hostname if (version_compare(PHP_VERSION, '5.3.0') >= 0) { $hostname = gethostname(); } elseif (version_compare(PHP_VERSION, '4.2.0') >= 0) { $hostname = php_uname('n'); } elseif (version_compare(PHP_VERSION, '4.2.0') < 0) { $hostname = getenv('HOSTNAME'); if(!$hostname) $hostname = trim(`hostname`); if(!$hostname) $hostname = exec('echo $HOSTNAME'); if(!$hostname) $hostname = preg_replace('#^\w+\s+(\w+).*$#', '$1', exec('uname -a')); } // APACHE VARIABLES $RESULTS_PATH="http://".$hostname."/results/"; $XMLFILE_PATH="http://".$hostname."/xmlfile/"; // PROFILING and PCAP Results if ($PROFILING == 1) { $PROFILING_OUTPUT = '

Here are the performance profiling statistics :
profiling.log

'; } else { $PROFILING_OUTPUT = ''; } if ($PCAP_TRACE == 1) { $PCAP_OUTPUT = '

Here is the PCAP File :
oai_opt.pcap

'; } else { $PCAP_OUTPUT = ''; } // // 3 - DISPLAY RESULTS // // THE FIRST SQUARE - XML FILE echo '



Here is the XML file of your OpenAirEmulation :
'.$XML_FILENAME.'


Here is the output of your OpenAirEmulation :
oaisim.log

'.$PROFILING_OUTPUT.' '.$PCAP_OUTPUT.'

'; /* // THE SECOND SQUARE - DISPLAY FILE RESULTS if ($handle = opendir("$RESULTS_PATH_EMULATION_LOGS")) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $thelist .= ''.$file.'
'; } } closedir($handle); } echo '

List of files:

oaisim.log.bz2

'; // THE THIRD SQUARE - DISPLAY FILE RESULTS echo '

HERE DISPLAY PACKET TRACES FILES

'; */ /* PHIL - J'enlve la SUMO CONFIG '.nospace($_POST['sumocmd']).' '.nospace($_POST['sumoconffile']).' '.nospace($_POST['sumostart']).' '.nospace($_POST['sumoend']).' '.nospace($_POST['sumostep']).' '.nospace($_POST['sumohostip']).' '.nospace($_POST['sumohostport']).' '.$CLI_START_ENB.' '.$CLI_START_UE.' '.nospace($_POST['eNB_antennas_rx']).' '.nospace($_POST['eNB_antennas_tx']).' '.nospace($_POST['UE_antennas_rx']).' '.nospace($_POST['UE_antennas_tx']).' */ /* // UE MOBILITY TYPE // if ( $_POST['uemobility'] == 'fixed' ) { $UE_MOBILITY = ''.nospace($_POST['uemobility']).''; } if ( $_POST['uemobility'] == 'random_waypoint' ) { $UE_MOBILITY = ''.nospace($_POST['uemobility']).''; } if ( $_POST['uemobility'] == 'random_walk' ) { $UE_MOBILITY = ''.nospace($_POST['uemobility']).''; } if ( $_POST['uemobility'] == 'grid_walk' ) { $UE_MOBILITY = ''.nospace($_POST['uemobility']).' '.nospace($_POST['horizgrid']).' '.nospace($_POST['vertgrid']).' '.nospace($_POST['gridtype']).''; } // // UEs DISTRIBUTION // if ( $_POST['uedistr'] == 'random' ) { $UE_DISTRIBUTION = ' 1 '; } if ( $_POST['uedistr'] == 'concentrated' ) { $UE_DISTRIBUTION = ' 1 '; } if ( $_POST['uedistr'] == 'grid_map' ) { if ( $_POST['gridmapradio'] == 'random_grid' ) { $UE_DISTRIBUTION = 'random_grid '.nospace($_POST['rdgridnbnodes']).' '; } if ( $_POST['gridmapradio'] == 'border_grid' ) { $UE_DISTRIBUTION = 'border_grid '.nospace($_POST['bdgridnbnodes']).' '; } } // // eNB INITIAL DISTRIBUTION // if ( $_POST['eNB_initial_distribution'] == 'grid' ) { $eNB_INITIAL_DISTRIBUTION = 'grid '.nospace($_POST['gridx']).' '.nospace($_POST['gridy']).' '; } if ( $_POST['eNB_initial_distribution'] == 'hexagonal' ) { $eNB_INITIAL_DISTRIBUTION = 'hexagonal '.nospace($_POST['hexanbcells']).' '.nospace($_POST['interenbdist']).' '; } if ( $_POST['eNB_initial_distribution'] == 'random' ) { $eNB_INITIAL_DISTRIBUTION = 'random '.nospace($_POST['nbenbs']).' '; } // // TRAFFIC - PACKET SIZE // if ( $_POST['pktsize'] == 'fixed' ) { $PACKET_SIZE = 'fixed '.nospace($_POST['pktsizefixed']).' '; } if ( $_POST['pktsize'] == 'uniform' ) { $PACKET_SIZE = 'uniform '.nospace($_POST['pktsizeunimin']).' '.nospace($_POST['pktsizeunimax']).' '; } // // INTER ARRIVAL TIME // if ( $_POST['interarrivtime'] == 'fixed' ) { $INTER_ARRIVAL_TIME = 'fixed '.nospace($_POST['intarrtimefixed']).' '; } if ( $_POST['interarrivtime'] == 'uniform' ) { $INTER_ARRIVAL_TIME = 'uniform '.nospace($_POST['intarrtimeunimin']).' '.nospace($_POST['intarrtimeunimax']).' '; } if ( $_POST['interarrivtime'] == 'poisson' ) { $INTER_ARRIVAL_TIME = 'poisson '.nospace($_POST['intarrtimepoisson']).' '; } // // RANDOM SEED // if ( $_POST['randomseed'] == 'random' ) { $RANDOM_SEED = 'random'; } if ( $_POST['randomseed'] == 'userspecified' ) { $RANDOM_SEED = 'user_specified '.nospace($_POST['seedvalue']).' '; } */ ?>