Files
openairinterface5g/openair2/UTIL/OSD/recep.php
T
Navid Nikaein 8b7143022b * manage control elements in CCCH PDU through rx_sdu function
* add event handler for remote (online) configuration and status monitoring
* update openair config generator (OCG) and scneario descriptor (OSD) with new features contributed by A. Gomes (one source)
* fix the issue with netlink when benchmarking oaisim preformance 
* pre-ci passed except for eMBMS  



git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5299 818b1a75-f10b-46b9-bf7c-635c3b92a50f
2014-05-02 08:38:08 +00:00

623 lines
22 KiB
PHP

<?php
/*******************************************************************************
Eurecom OpenAirInterface
Copyright(c) 1999 - 2014 Eurecom
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
version 2, as published by the Free Software Foundation.
This program is distributed in the hope it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this distribution in
the file called "COPYING".
Contact Information
Openair Admin: openair_admin@eurecom.fr
Openair Tech : openair_tech@eurecom.fr
Forums : http://forums.eurecom.fsr/openairinterface
Address : Eurecom, 2229, route des crêtes, 06560 Valbonne Sophia Antipolis, France
*******************************************************************************/
/*! \file recep.php
* \brief Process the POST of the OSD form.
* \author Philippe Foubert & Navid Nikaein & Andre Gomes (One Source)
* \date 2014
* \version 0.1
* \company Eurecom,
* \email: openair_tech@eurecom.fr
* \note
* \warning
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<?
include('header.php');
?>
</head>
<?
// INCLUDE ALL THE VARIABLES RELATED TO THE PATHs
include('/opt/lampp/htdocs/OSD/OpenAirEmu.conf');
//$GET_OPENAIR_TARGETS=shell_exec("source /opt/lampp/htdocs/OSD/OpenAirEmu.conf");
//echo $GET_OPENAIR_TARGETS;
// TO BE SURE ABOUT THE PATHs
//echo $OPENAIR_TARGETS.'<br />'.$WEBXML_PATH.'<br />'.$RESULTS_PATH.'<br />'.$OPENAIR1_DIR.'<br />'.$OPENAIR2_DIR.'<br />'.$OPENAIR3_DIR.'<br />';
// 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 = '<TDD_CONFIG>'.$_POST['tdd_config'].'</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 =
'<eNB_INITIAL_DISTRIBUTION>fixed</eNB_INITIAL_DISTRIBUTION>
<eNB_INITIAL_COORDINATES>
<POS_X>'.nospace($_POST['pos_x']).'</POS_X>
<POS_Y>'.nospace($_POST['pos_y']).'</POS_Y>
</eNB_INITIAL_COORDINATES>';
}
elseif (isset($_POST['eNB_initial_distribution']) && $_POST['eNB_initial_distribution'] == 'random') {
$eNB_INITIAL_DISTRIBUTION =
'<eNB_INITIAL_DISTRIBUTION>random</eNB_INITIAL_DISTRIBUTION>
<RANDOM_eNB_DISTRIBUTION>
<NUMBER_OF_CELLS>'.nospace($_POST['random_eNB_distr']).'</NUMBER_OF_CELLS>
</RANDOM_eNB_DISTRIBUTION>';
}
// RBs
if (isset($_POST['num_rbs_dl'])) {
$NUMBER_OF_RBS = '<NUMBER_OF_RBS_DL>'.$_POST['num_rbs_dl'].'</NUMBER_OF_RBS_DL>';
}
else {
$NUM_RBS = '';
}
// PCAP
if ($PCAP_TRACE == 1) {
$TRACE_FILE = '<TRACE_FILE>pcap</TRACE_FILE>';
}
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_ENB.'</START_ENB>
<START_UE>'.$CLI_START_UE.'</START_UE>
</CLI>';
}
else {
$CLI = '';
}
// ICI TOUTES LES OPTIONS - ELLES SONT COMMENTEES EN BAS DU FICHIER
// <!-- Here is the XML template which will be filled in with the user values -->
$data = '
<OAI_EMULATION>
<ENVIRONMENT_SYSTEM_CONFIG>
<FADING>
<LARGE_SCALE>0</LARGE_SCALE>
<FREE_SPACE_MODEL_PARAMETERS>
<PATHLOSS_EXPONENT>'.nospace($_POST['pathlossexp']).'</PATHLOSS_EXPONENT>
<PATHLOSS_0_dB>'.nospace($_POST['pathlosszero']).'</PATHLOSS_0_dB>
</FREE_SPACE_MODEL_PARAMETERS>
<SMALL_SCALE>'.nospace($_POST['smallscale']).'</SMALL_SCALE>
</FADING>
<WALL_PENETRATION_LOSS_dB>'.nospace($_POST['wallpenetloss']).'</WALL_PENETRATION_LOSS_dB>
<SYSTEM_BANDWIDTH_MB>'.nospace($_POST['sysbw']).'</SYSTEM_BANDWIDTH_MB>
<SYSTEM_FREQUENCY_GHz>'.nospace($_POST['uefreq']).'</SYSTEM_FREQUENCY_GHz>
'.$NUMBER_OF_RBS.'
<TRANSMISSION_MODE>'.$TRANSMISSION_MODE.'</TRANSMISSION_MODE>
<FRAME_CONFIG>
<FRAME_TYPE>'.$FRAME_TYPE.'</FRAME_TYPE>
'.$TDD_CONFIG.'
</FRAME_CONFIG>
<ANTENNA>
<eNB_ANTENNA>
<RX_NOISE_LEVEL_dB>'.nospace($_POST['eNB_RX_noise_power']).'</RX_NOISE_LEVEL_dB>
<NUMBER_OF_SECTORS>'.nospace($_POST['eNB_nb_sectors']).'</NUMBER_OF_SECTORS>
<BEAM_WIDTH_dB>'.nospace($_POST['eNB_beam_width']).'</BEAM_WIDTH_dB>
<ANTENNA_GAIN_dBi>'.nospace($_POST['eNB_antenna_gain']).'</ANTENNA_GAIN_dBi>
<TX_POWER_dBm>'.nospace($_POST['eNB_TX_power']).'</TX_POWER_dBm>
</eNB_ANTENNA>
<UE_ANTENNA>
<RX_NOISE_LEVEL_dB>'.nospace($_POST['UE_RX_noise_power']).'</RX_NOISE_LEVEL_dB>
<ANTENNA_GAIN_dBi>'.nospace($_POST['UE_antenna_gain']).'</ANTENNA_GAIN_dBi>
<TX_POWER_dBm>'.nospace($_POST['UE_TX_power']).'</TX_POWER_dBm>
</UE_ANTENNA>
</ANTENNA>
</ENVIRONMENT_SYSTEM_CONFIG>
<TOPOLOGY_CONFIG>
<AREA>
<X_m>'.nospace($_POST['areax']).'</X_m>
<Y_m>'.nospace($_POST['areay']).'</Y_m>
</AREA>
<NETWORK_TYPE>'.nospace($_POST['typetopo']).'</NETWORK_TYPE>
<CELL_TYPE>'.nospace($_POST['celltype']).'</CELL_TYPE>
<RELAY>0</RELAY>
<MOBILITY>
<UE_MOBILITY>
<UE_INITIAL_DISTRIBUTION>'.nospace($_POST['uedistr']).'</UE_INITIAL_DISTRIBUTION>
<RANDOM_UE_DISTRIBUTION>
<NUMBER_OF_NODES>'.nospace($_POST['random_UE_dist_nb_node']).'</NUMBER_OF_NODES>
</RANDOM_UE_DISTRIBUTION>
<UE_MOBILITY_TYPE>'.nospace($_POST['uemobility']).'</UE_MOBILITY_TYPE>
<UE_MOVING_DYNAMICS>
<MIN_SPEED_mps>'.nospace($_POST['minspeed']).'</MIN_SPEED_mps>
<MAX_SPEED_mps>'.nospace($_POST['maxspeed']).'</MAX_SPEED_mps>
<MIN_SLEEP_ms>'.nospace($_POST['minpausetime']).'</MIN_SLEEP_ms>
<MAX_SLEEP_ms>'.nospace($_POST['maxpausetime']).'</MAX_SLEEP_ms>
<MIN_JOURNEY_TIME_ms>'.nospace($_POST['minjourneytime']).'</MIN_JOURNEY_TIME_ms>
<MAX_JOURNEY_TIME_ms>'.nospace($_POST['maxjourneytime']).'</MAX_JOURNEY_TIME_ms>
</UE_MOVING_DYNAMICS>
</UE_MOBILITY>
<eNB_MOBILITY>
'.nospace($eNB_INITIAL_DISTRIBUTION).'
<eNB_MOBILITY_TYPE>'.nospace($_POST['enbmobility']).'</eNB_MOBILITY_TYPE>
</eNB_MOBILITY>
</MOBILITY>
<OMV>'.nospace($_POST['omv']).'</OMV>
</TOPOLOGY_CONFIG>
<APPLICATION_CONFIG>
<PREDEFINED_TRAFFIC>
<SOURCE_ID>'.nospace($_POST['pre_sourceid']).'</SOURCE_ID>
<APPLICATION_TYPE>'.nospace($_POST['pre_apptype']).'</APPLICATION_TYPE>
<DESTINATION_ID>'.nospace($_POST['pre_destid']).'</DESTINATION_ID>
<BACKGROUND_TRAFFIC>'.$BG_TRAFFIC.'</BACKGROUND_TRAFFIC>
</PREDEFINED_TRAFFIC>
<CUSTOMIZED_TRAFFIC>
<SOURCE_ID>'.nospace($_POST['cust_sourceid']).'</SOURCE_ID>
<TRANSPORT_PROTOCOL>'.nospace($_POST['cust_transprot']).'</TRANSPORT_PROTOCOL>
<IP_VERSION>'.nospace($_POST['cust_ipversion']).'</IP_VERSION>
<DESTINATION_ID>'.nospace($_POST['cust_destid']).'</DESTINATION_ID>
<IDT_DIST>'.nospace($_POST['idt_dist']).'</IDT_DIST>
<IDT_MIN_ms>'.nospace($_POST['idtmin']).'</IDT_MIN_ms>
<IDT_MAX_ms>'.nospace($_POST['idtmax']).'</IDT_MAX_ms>
<IDT_STANDARD_DEVIATION>'.nospace($_POST['idtstddeviation']).'</IDT_STANDARD_DEVIATION>
<IDT_LAMBDA>'.nospace($_POST['idtlambda']).'</IDT_LAMBDA>
<IDT_SCALE>'.nospace($_POST['idtscale']).'</IDT_SCALE>
<IDT_SHAPE>'.nospace($_POST['idtshape']).'</IDT_SHAPE>
<SIZE_DIST>'.nospace($_POST['size_dist']).'</SIZE_DIST>
<SIZE_MIN_byte>'.nospace($_POST['sizemin']).'</SIZE_MIN_byte>
<SIZE_MAX_byte>'.nospace($_POST['sizemax']).'</SIZE_MAX_byte>
<SIZE_STANDARD_DEVIATION>'.nospace($_POST['sizestddeviation']).'</SIZE_STANDARD_DEVIATION>
<SIZE_LAMBDA>'.nospace($_POST['sizelambda']).'</SIZE_LAMBDA>
<SIZE_SCALE>'.nospace($_POST['sizescale']).'</SIZE_SCALE>
<SIZE_SHAPE>'.nospace($_POST['sizeshape']).'</SIZE_SHAPE>
<DESTINATION_PORT>'.nospace($_POST['destport']).'</DESTINATION_PORT>
<PU>
<PROB_OFF_PU>'.nospace($_POST['proboffpu']).'</PROB_OFF_PU>
<PROB_PU_ED>'.nospace($_POST['probpued']).'</PROB_PU_ED>
<HOLDING_TIME_OFF_PU>'.nospace($_POST['holdtimeoffpu']).'</HOLDING_TIME_OFF_PU>
</PU>
<ED>
<PROB_OFF_ED>'.nospace($_POST['proboffed']).'</PROB_OFF_ED>
<PROB_ED_PE>'.nospace($_POST['probedpe']).'</PROB_ED_PE>
<HOLDING_TIME_OFF_ED>'.nospace($_POST['holdtimeoffed']).'</HOLDING_TIME_OFF_ED>
</ED>
<PE>
<HOLDING_TIME_OFF_PE>'.nospace($_POST['holdtimeoffpe']).'</HOLDING_TIME_OFF_PE>
</PE>
</CUSTOMIZED_TRAFFIC>
</APPLICATION_CONFIG>
<EMULATION_CONFIG>
<EMULATION_TIME_ms>'.nospace($_POST['emutime']).'</EMULATION_TIME_ms>
<CURVE>'.$CURVES.'</CURVE>
<PROFILING>'.$PROFILING.'</PROFILING>
'.$TRACE_FILE.'
<PERFORMANCE_METRICS>
<THROUGHPUT>'.$THROUGHPUT.'</THROUGHPUT>
<LATENCY>'.$LATENCY.'</LATENCY>
<LOSS_RATE>'.$LOSS_RATE.'</LOSS_RATE>
<OWD_RADIO_ACESS>1</OWD_RADIO_ACESS>
</PERFORMANCE_METRICS>
<LOG>
<LEVEL>'.nospace($_POST['level']).'</LEVEL>
<VERBOSITY>'.nospace($_POST['verbosity']).'</VERBOSITY>
<INTERVAL>'.nospace($_POST['interval']).'</INTERVAL>
</LOG>
<PACKET_TRACE>'.$PKTTRACE.'</PACKET_TRACE>
<SEED_VALUE>'.nospace($_POST['seedvalue']).'</SEED_VALUE>
'.$CLI.'
</EMULATION_CONFIG>
<PROFILE>'.$XML_FILENAME.'</PROFILE>
</OAI_EMULATION>
';
//echo $data."<br /><br />";
/*
// 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.'<br />'.$XML_FILENAME.'<br />';
// 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.'<br />';
//$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 = '
<div align="center" class="notice span-9">
<br>
<p>Here are the performance profiling statistics :
<br>
<a href="'.$RESULTS_PATH.str_replace($espace, "", $user).'/'.$date.'/profiling.log" target="_blank">profiling.log</a></p>
</div>';
}
else {
$PROFILING_OUTPUT = '';
}
if ($PCAP_TRACE == 1) {
$PCAP_OUTPUT = '
<div align="center" class="notice span-9">
<br>
<p>Here is the PCAP File :
<br>
<a href="'.$RESULTS_PATH.str_replace($espace, "", $user).'/'.$date.'/oai_opt.pcap" target="_blank">oai_opt.pcap</a></p>
</div>';
}
else {
$PCAP_OUTPUT = '';
}
//
// 3 - DISPLAY RESULTS
//
// THE FIRST SQUARE - XML FILE
echo '
<div class=" span-50">
<br>
</div>
<div class="span-31">
<div class=" span-10">
<br>
</div>
<div align="center" class=" span-10">
<div class="success span-9">
<br>
<p>Here is the XML file of your OpenAirEmulation :
<br>
<a href="'.$RESULTS_PATH.str_replace($espace, "", $user).'/'.$date.'/'.$XML_FILENAME.'" target="_blank">'.$XML_FILENAME.'</a></p>
</div>
<div align="center" class="info span-9">
<br>
<p>Here is the output of your OpenAirEmulation :
<br>
<a href="'.$RESULTS_PATH.str_replace($espace, "", $user).'/'.$date.'/oaisim.log" target="_blank">oaisim.log</a></p>
</div>
'.$PROFILING_OUTPUT.'
'.$PCAP_OUTPUT.'
<div class=" span-10">
<br>
</div>
</div>
';
/*
// THE SECOND SQUARE - DISPLAY FILE RESULTS
if ($handle = opendir("$RESULTS_PATH_EMULATION_LOGS")) {
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
$thelist .= '<a href="'.$RESULTS_PATH_EMULATION_LOGS.$file.'" target="_blank">'.$file.'</a><br />';
}
}
closedir($handle);
}
echo '<div align="center" class="success span-20">
<P>List of files:</p>
<P><a href="'.$RESULTS_PATH_EMULATION_LOGS.'oaisim.log.bz2" target="_blank">oaisim.log.bz2</a><br /></p>
</div>';
// THE THIRD SQUARE - DISPLAY FILE RESULTS
echo '<div align="center" class="success span-20">
<P>HERE DISPLAY PACKET TRACES FILES</p>
</div>';
*/
/* PHIL - J'enlve la SUMO CONFIG
<SUMO_CONFIG>
<SUMO_CMD>'.nospace($_POST['sumocmd']).'</SUMO_CMD>
<SUMO_CONFIG_FILE>'.nospace($_POST['sumoconffile']).'</SUMO_CONFIG_FILE>
<SUMO_START>'.nospace($_POST['sumostart']).'</SUMO_START>
<SUMO_END>'.nospace($_POST['sumoend']).'</SUMO_END>
<SUMO_STEP>'.nospace($_POST['sumostep']).'</SUMO_STEP>
<SUMO_HOST_IP>'.nospace($_POST['sumohostip']).'</SUMO_HOST_IP>
<SUMO_HOST_PORT>'.nospace($_POST['sumohostport']).'</SUMO_HOST_PORT>
</SUMO_CONFIG>
<CLI>
<START_ENB>'.$CLI_START_ENB.'</START_ENB>
<START_UE>'.$CLI_START_UE.'</START_UE>
</CLI>
<NB_ANTENNAS_RX>'.nospace($_POST['eNB_antennas_rx']).'</NB_ANTENNAS_RX>
<NB_ANTENNAS_TX>'.nospace($_POST['eNB_antennas_tx']).'</NB_ANTENNAS_TX>
<NB_ANTENNAS_RX>'.nospace($_POST['UE_antennas_rx']).'</NB_ANTENNAS_RX>
<NB_ANTENNAS_TX>'.nospace($_POST['UE_antennas_tx']).'</NB_ANTENNAS_TX>
*/
/*
// UE MOBILITY TYPE
//
if ( $_POST['uemobility'] == 'fixed' ) {
$UE_MOBILITY =
'<UE_MOBILITY_TYPE>'.nospace($_POST['uemobility']).'</UE_MOBILITY_TYPE>';
}
if ( $_POST['uemobility'] == 'random_waypoint' ) {
$UE_MOBILITY =
'<UE_MOBILITY_TYPE>'.nospace($_POST['uemobility']).'</UE_MOBILITY_TYPE>';
}
if ( $_POST['uemobility'] == 'random_walk' ) {
$UE_MOBILITY =
'<UE_MOBILITY_TYPE>'.nospace($_POST['uemobility']).'</UE_MOBILITY_TYPE>';
}
if ( $_POST['uemobility'] == 'grid_walk' ) {
$UE_MOBILITY =
'<UE_MOBILITY_TYPE>'.nospace($_POST['uemobility']).'</UE_MOBILITY_TYPE>
<GRID_MAP>
<GRID_HORIZONTAL_NUMBER>'.nospace($_POST['horizgrid']).'</GRID_HORIZONTAL_NUMBER>
<GRID_VERTICAL_NUMBER>'.nospace($_POST['vertgrid']).'</GRID_VERTICAL_NUMBER>
</GRID_MAP>
<GRID_TRIP_TYPE>'.nospace($_POST['gridtype']).'</GRID_TRIP_TYPE>';
}
//
// UEs DISTRIBUTION
//
if ( $_POST['uedistr'] == 'random' ) {
$UE_DISTRIBUTION =
'<RANDOM_UE_DISTRIBUTION>
<NUMBER_OF_NODES>1</NUMBER_OF_NODES>
</RANDOM_UE_DISTRIBUTION>';
}
if ( $_POST['uedistr'] == 'concentrated' ) {
$UE_DISTRIBUTION =
'<CONCENTRATED_UE_DISTRIBUTION>
<NUMBER_OF_NODES>1</NUMBER_OF_NODES>
</CONCENTRATED_UE_DISTRIBUTION>';
}
if ( $_POST['uedistr'] == 'grid_map' ) {
if ( $_POST['gridmapradio'] == 'random_grid' ) {
$UE_DISTRIBUTION =
'<GRID_UE_DISTRIBUTION>random_grid</GRID_UE_DISTRIBUTION>
<RANDOM_GRID>
<NUMBER_OF_NODES>'.nospace($_POST['rdgridnbnodes']).'</NUMBER_OF_NODES>
</RANDOM_GRID>';
}
if ( $_POST['gridmapradio'] == 'border_grid' ) {
$UE_DISTRIBUTION =
'<GRID_UE_DISTRIBUTION>border_grid</GRID_UE_DISTRIBUTION>
<BORDER_GRID>
<NUMBER_OF_NODES>'.nospace($_POST['bdgridnbnodes']).'</NUMBER_OF_NODES>
</BORDER_GRID>';
}
}
//
// eNB INITIAL DISTRIBUTION
//
if ( $_POST['eNB_initial_distribution'] == 'grid' ) {
$eNB_INITIAL_DISTRIBUTION =
'<eNB_INITIAL_DISTRIBUTION>grid</eNB_INITIAL_DISTRIBUTION>
<GRID_eNB_DISTRIBUTION>
<NUMBER_OF_GRID_X>'.nospace($_POST['gridx']).'</NUMBER_OF_GRID_X>
<NUMBER_OF_GRID_Y>'.nospace($_POST['gridy']).'</NUMBER_OF_GRID_Y>
</GRID_eNB_DISTRIBUTION>';
}
if ( $_POST['eNB_initial_distribution'] == 'hexagonal' ) {
$eNB_INITIAL_DISTRIBUTION =
'<eNB_INITIAL_DISTRIBUTION>hexagonal</eNB_INITIAL_DISTRIBUTION>
<HEXAGONAL_eNB_DISTRIBUTION>
<NUMBER_OF_CELLS>'.nospace($_POST['hexanbcells']).'</NUMBER_OF_CELLS>
<INTER_eNB_DISTANCE>'.nospace($_POST['interenbdist']).'</INTER_eNB_DISTANCE>
</HEXAGONAL_eNB_DISTRIBUTION>';
}
if ( $_POST['eNB_initial_distribution'] == 'random' ) {
$eNB_INITIAL_DISTRIBUTION =
'<eNB_INITIAL_DISTRIBUTION>random</eNB_INITIAL_DISTRIBUTION>
<RANDOM_eNB_DISTRIBUTION>
<NUMBER_OF_CELLS>'.nospace($_POST['nbenbs']).'</NUMBER_OF_CELLS>
</RANDOM_eNB_DISTRIBUTION>';
}
//
// TRAFFIC - PACKET SIZE
//
if ( $_POST['pktsize'] == 'fixed' ) {
$PACKET_SIZE =
'<PACKET_SIZE>fixed</PACKET_SIZE>
<FIXED_PACKET_SIZE>
<FIXED_VALUE>'.nospace($_POST['pktsizefixed']).'</FIXED_VALUE>
</FIXED_PACKET_SIZE>';
}
if ( $_POST['pktsize'] == 'uniform' ) {
$PACKET_SIZE =
'<PACKET_SIZE>uniform</PACKET_SIZE>
<UNIFORM_PACKET_SIZE>
<MIN_VALUE>'.nospace($_POST['pktsizeunimin']).'</MIN_VALUE>
<MAX_VALUE>'.nospace($_POST['pktsizeunimax']).'</MAX_VALUE>
</UNIFORM_PACKET_SIZE>';
}
//
// INTER ARRIVAL TIME
//
if ( $_POST['interarrivtime'] == 'fixed' ) {
$INTER_ARRIVAL_TIME =
'<INTER_ARRIVAL_TIME>fixed</INTER_ARRIVAL_TIME>
<FIXED_INTER_ARRIVAL_TIME>
<FIXED_VALUE>'.nospace($_POST['intarrtimefixed']).'</FIXED_VALUE>
</FIXED_INTER_ARRIVAL_TIME>';
}
if ( $_POST['interarrivtime'] == 'uniform' ) {
$INTER_ARRIVAL_TIME =
'<INTER_ARRIVAL_TIME>uniform</INTER_ARRIVAL_TIME>
<UNIFORM_INTER_ARRIVAL_TIME>
<MIN_VALUE>'.nospace($_POST['intarrtimeunimin']).'</MIN_VALUE>
<MAX_VALUE>'.nospace($_POST['intarrtimeunimax']).'</MAX_VALUE>
</UNIFORM_INTER_ARRIVAL_TIME>';
}
if ( $_POST['interarrivtime'] == 'poisson' ) {
$INTER_ARRIVAL_TIME =
'<INTER_ARRIVAL_TIME>poisson</INTER_ARRIVAL_TIME>
<POISSON_INTER_ARRIVAL_TIME>
<EXPECTED_INTER_ARRIVAL_TIME>'.nospace($_POST['intarrtimepoisson']).'</EXPECTED_INTER_ARRIVAL_TIME>
</POISSON_INTER_ARRIVAL_TIME>';
}
//
// RANDOM SEED
//
if ( $_POST['randomseed'] == 'random' ) {
$RANDOM_SEED =
'<SEED>random</SEED>';
}
if ( $_POST['randomseed'] == 'userspecified' ) {
$RANDOM_SEED =
'<SEED>user_specified</SEED>
<USER_SEED>
<SEED_VALUE>'.nospace($_POST['seedvalue']).'</SEED_VALUE>
</USER_SEED>';
}
*/
?>