From 4cbd98174846c1803ff403d1ddab7943fbf0f88c Mon Sep 17 00:00:00 2001
From: Raphael Defosseux <raphael.defosseux@eurecom.fr>
Date: Mon, 1 Oct 2018 16:38:05 +0200
Subject: [PATCH] CI: adding a TDD scenario for basic-simulator

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
---
 ...-basic-sim.conf => lte-fdd-basic-sim.conf} |   0
 ci-scripts/conf_files/lte-tdd-basic-sim.conf  | 229 +++++++++++++
 ci-scripts/reportTestLocally.sh               | 322 +++++++++---------
 ci-scripts/runTestOnVM.sh                     | 220 +++++++++---
 4 files changed, 567 insertions(+), 204 deletions(-)
 rename ci-scripts/conf_files/{lte-basic-sim.conf => lte-fdd-basic-sim.conf} (100%)
 create mode 100644 ci-scripts/conf_files/lte-tdd-basic-sim.conf

diff --git a/ci-scripts/conf_files/lte-basic-sim.conf b/ci-scripts/conf_files/lte-fdd-basic-sim.conf
similarity index 100%
rename from ci-scripts/conf_files/lte-basic-sim.conf
rename to ci-scripts/conf_files/lte-fdd-basic-sim.conf
diff --git a/ci-scripts/conf_files/lte-tdd-basic-sim.conf b/ci-scripts/conf_files/lte-tdd-basic-sim.conf
new file mode 100644
index 00000000000..fe9b8a3601f
--- /dev/null
+++ b/ci-scripts/conf_files/lte-tdd-basic-sim.conf
@@ -0,0 +1,229 @@
+Active_eNBs = ( "eNB_Eurecom_LTEBox");
+# Asn1_verbosity, choice in: none, info, annoying
+Asn1_verbosity = "none";
+
+eNBs =
+(
+ {
+    ////////// Identification parameters:
+    eNB_ID    =  0xe00;
+
+    cell_type =  "CELL_MACRO_ENB";
+
+    eNB_name  =  "eNB_Eurecom_LTEBox";
+
+    // Tracking area code, 0x0000 and 0xfffe are reserved values
+    tracking_area_code  =  "1";
+
+    mobile_country_code =  "208";
+    mobile_network_code =  "93";
+
+       ////////// Physical parameters:
+
+    component_carriers = (
+      {
+        node_function                                         = "eNodeB_3GPP";
+        node_timing                                           = "synch_to_ext_device";
+        node_synch_ref                                        = 0;
+        frame_type					      = "TDD";
+        tdd_config 					      = 1;
+        tdd_config_s            			      = 0;
+        prefix_type             			      = "NORMAL";
+        eutra_band              			      = 40;
+        downlink_frequency      			      = 2350000000L;
+        uplink_frequency_offset 			      = 0;
+        Nid_cell					      = 0;
+        N_RB_DL                 			      = 25;
+        Nid_cell_mbsfn          			      = 0;
+        nb_antenna_ports          			      = 1;
+        nb_antennas_tx          			      = 1;
+        nb_antennas_rx          			      = 1;
+        tx_gain                                            = 90;
+        rx_gain                                            = 125;
+        prach_root              			      = 0;
+        prach_config_index      			      = 0;
+        prach_high_speed        			      = "DISABLE";
+        prach_zero_correlation  			      = 1;
+        prach_freq_offset       			      = 2;
+        pucch_delta_shift       			      = 1;
+        pucch_nRB_CQI           			      = 1;
+        pucch_nCS_AN            			      = 0;
+        pucch_n1_AN             			      = 0;
+        pdsch_referenceSignalPower 			      =-27;
+        pdsch_p_b                  			      = 0;
+        pusch_n_SB                 			      = 1;
+        pusch_enable64QAM          			      = "DISABLE";
+        pusch_hoppingMode                                  = "interSubFrame";
+        pusch_hoppingOffset                                = 0;
+        pusch_groupHoppingEnabled  			      = "ENABLE";
+        pusch_groupAssignment      			      = 0;
+        pusch_sequenceHoppingEnabled		   	      = "DISABLE";
+        pusch_nDMRS1                                       = 1;
+        phich_duration                                     = "NORMAL";
+        phich_resource                                     = "ONESIXTH";
+        srs_enable                                         = "DISABLE";
+      /*  srs_BandwidthConfig                                =;
+        srs_SubframeConfig                                 =;
+        srs_ackNackST                                      =;
+        srs_MaxUpPts                                       =;*/
+
+        pusch_p0_Nominal                                   = -96;
+        pusch_alpha                                        = "AL1";
+        pucch_p0_Nominal                                   = -106;
+        msg3_delta_Preamble                                = 6;
+        pucch_deltaF_Format1                               = "deltaF2";
+        pucch_deltaF_Format1b                              = "deltaF3";
+        pucch_deltaF_Format2                               = "deltaF0";
+        pucch_deltaF_Format2a                              = "deltaF0";
+        pucch_deltaF_Format2b		    	      = "deltaF0";
+
+        rach_numberOfRA_Preambles                          = 64;
+        rach_preamblesGroupAConfig                         = "DISABLE";
+      /*
+        rach_sizeOfRA_PreamblesGroupA                      = ;
+        rach_messageSizeGroupA                             = ;
+        rach_messagePowerOffsetGroupB                      = ;
+      */
+        rach_powerRampingStep                              = 4;
+        rach_preambleInitialReceivedTargetPower            = -108;
+        rach_preambleTransMax                              = 10;
+        rach_raResponseWindowSize                          = 10;
+        rach_macContentionResolutionTimer                  = 48;
+        rach_maxHARQ_Msg3Tx                                = 4;
+
+        pcch_default_PagingCycle                           = 128;
+        pcch_nB                                            = "oneT";
+        bcch_modificationPeriodCoeff			      = 2;
+        ue_TimersAndConstants_t300			      = 1000;
+        ue_TimersAndConstants_t301			      = 1000;
+        ue_TimersAndConstants_t310			      = 1000;
+        ue_TimersAndConstants_t311			      = 10000;
+        ue_TimersAndConstants_n310			      = 20;
+        ue_TimersAndConstants_n311			      = 1;
+
+	ue_TransmissionMode				      = 1;
+      }
+    );
+
+
+    srb1_parameters :
+    {
+        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
+        timer_poll_retransmit    = 80;
+
+        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
+        timer_reordering         = 35;
+
+        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
+        timer_status_prohibit    = 0;
+
+        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
+        poll_pdu                 =  4;
+
+        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
+        poll_byte                =  99999;
+
+        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
+        max_retx_threshold       =  4;
+    }
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 2;
+        SCTP_OUTSTREAMS = 2;
+    };
+
+    ////////// MME parameters:
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
+                              ipv6       = "192:168:30::17";
+                              active     = "yes";
+                              preference = "ipv4";
+                            }
+                          );
+
+    NETWORK_INTERFACES :
+    {
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
+
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
+        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
+        ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
+    };
+
+    log_config :
+    {
+      global_log_level                      ="debug";
+      global_log_verbosity                  ="medium";
+      hw_log_level                          ="info";
+      hw_log_verbosity                      ="medium";
+      phy_log_level                         ="info";
+      phy_log_verbosity                     ="medium";
+      mac_log_level                         ="info";
+      mac_log_verbosity                     ="high";
+      rlc_log_level                         ="info";
+      rlc_log_verbosity                     ="medium";
+      pdcp_log_level                        ="info";
+      pdcp_log_verbosity                    ="medium";
+      rrc_log_level                         ="info";
+      rrc_log_verbosity                     ="medium";
+   };
+
+  }
+);
+MACRLCs = (
+	{
+        num_cc = 1;
+        tr_s_preference = "local_L1";
+        tr_n_preference = "local_RRC";
+        scheduler_mode = "fairRR";
+        puSch10xSnr     =  200;
+        puCch10xSnr     =  200;
+        }  
+);
+
+L1s = (
+    	{
+	num_cc = 1;
+	tr_n_preference = "local_mac";
+        }  
+);
+
+RUs = (
+    {		  
+       local_rf       = "yes"
+         nb_tx          = 1
+         nb_rx          = 1
+         att_tx         = 0
+         att_rx         = 0;
+         bands          = [38];
+         max_pdschReferenceSignalPower = -27;
+         max_rxgain                    = 125;
+         eNB_instances  = [0];
+
+    }
+);  
+
+THREAD_STRUCT = (
+  {
+    #three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
+    parallel_config    = "PARALLEL_SINGLE_THREAD";
+    #two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
+    worker_config      = "WORKER_ENABLE";
+  }
+);
+
+NETWORK_CONTROLLER :
+{
+    FLEXRAN_ENABLED        = "no";
+    FLEXRAN_INTERFACE_NAME = "lo";
+    FLEXRAN_IPV4_ADDRESS   = "127.0.0.1";
+    FLEXRAN_PORT           = 2210;
+    FLEXRAN_CACHE          = "/mnt/oai_agent_cache";
+    FLEXRAN_AWAIT_RECONF   = "no";
+};
diff --git a/ci-scripts/reportTestLocally.sh b/ci-scripts/reportTestLocally.sh
index 569b62bc3d1..24e32559587 100755
--- a/ci-scripts/reportTestLocally.sh
+++ b/ci-scripts/reportTestLocally.sh
@@ -317,188 +317,192 @@ then
     echo "        <th>Statistics</th>" >> ./test_simulator_results.html
     echo "      </tr>" >> ./test_simulator_results.html
 
+    TRANS_MODES=("fdd" "tdd")
     BW_CASES=(05 10 20)
-    for BW in ${BW_CASES[@]}
+    for TMODE in ${TRANS_MODES[@]}
     do
-        ENB_LOG=$ARCHIVES_LOC/enb_${BW}MHz.log
-        UE_LOG=`echo $ENB_LOG | sed -e "s#enb#ue#"`
-        if [ -f $ENB_LOG ] && [ -f $UE_LOG ]
-        then
-            NAME_ENB=`echo $ENB_LOG | sed -e "s#$ARCHIVES_LOC/##"`
-            NAME_UE=`echo $UE_LOG | sed -e "s#$ARCHIVES_LOC/##"`
-            echo "      <tr>" >> ./test_simulator_results.html
-            echo "        <td>$NAME_ENB --- $NAME_UE</td>" >> ./test_simulator_results.html
-            echo "        <td>N/A</td>" >> ./test_simulator_results.html
-            NB_ENB_GOT_SYNC=`egrep -c "got sync" $ENB_LOG`
-            NB_UE_GOT_SYNC=`egrep -c "got sync" $UE_LOG`
-            NB_ENB_SYNCED_WITH_UE=`egrep -c "got UE capabilities for UE" $ENB_LOG`
-            if [ $NB_ENB_GOT_SYNC -eq 1 ] && [ $NB_UE_GOT_SYNC -eq 2 ] && [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
-            then
-                echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
-            else
-                echo "        <td bgcolor = \"red\" >OK</td>" >> ./test_simulator_results.html
-            fi
-            echo "        <td><pre>" >> ./test_simulator_results.html
-            if [ $NB_ENB_GOT_SYNC -eq 1 ]
-            then
-                echo "<font color = \"blue\">- eNB --> got sync</font>" >> ./test_simulator_results.html
-            else
-                echo "<font color = \"red\"><b>- eNB NEVER got sync</b></font>" >> ./test_simulator_results.html
-            fi
-            if [ $NB_UE_GOT_SYNC -eq 2 ]
-            then
-                echo "<font color = \"blue\">- UE --> got sync</font>" >> ./test_simulator_results.html
-            else
-                echo "<font color = \"red\"><b>- UE NEVER got sync</b></font>" >> ./test_simulator_results.html
-            fi
-            if [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
-            then
-                echo "<font color = \"blue\">- UE attached to eNB</font>" >> ./test_simulator_results.html
-            else
-                echo "<font color = \"red\"><b>- UE NEVER attached to eNB</b></font>" >> ./test_simulator_results.html
-            fi
-            NB_SEGFAULT_ENB=`egrep -i -c "Segmentation Fault" $ENB_LOG`
-            if [ $NB_SEGFAULT_ENB -ne 0 ]
-            then
-                echo "<font color = \"red\"><b>- eNB --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
-            fi
-            NB_SEGFAULT_UE=`egrep -i -c "Segmentation Fault" $UE_LOG`
-            if [ $NB_SEGFAULT_UE -ne 0 ]
-            then
-                echo "<font color = \"red\"><b>- UE --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
-            fi
-            NB_ASSERTION_ENB=`egrep -i -c "Assertion" $ENB_LOG`
-            if [ $NB_ASSERTION_ENB -ne 0 ]
-            then
-                echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
-                awk 'BEGIN{assertion=10}{if(assertion < 3){print "    " $0; assertion++};if ($0 ~/Assertion/){print "    " $0;assertion=1}}END{}' $ENB_LOG >> ./test_simulator_results.html
-            fi
-            NB_ASSERTION_UE=`egrep -i -c "Assertion" $UE_LOG`
-            if [ $NB_ASSERTION_UE -ne 0 ]
-            then
-                echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
-                awk 'BEGIN{assertion=10}{if(assertion < 3){print "    " $0; assertion++};if ($0 ~/Assertion/){print "    " $0;assertion=1}}END{}' $UE_LOG >> ./test_simulator_results.html
-            fi
-            echo "        </pre></td>" >> ./test_simulator_results.html
-            echo "      </tr>" >> ./test_simulator_results.html
-        fi
-        PING_CASE=$ARCHIVES_LOC/${BW}MHz_ping_ue.txt
-        if [ -f $PING_CASE ]
-        then
-            echo "      <tr>" >> ./test_simulator_results.html
-            NAME=`echo $PING_CASE | sed -e "s#$ARCHIVES_LOC/##"`
-            echo "        <td>$NAME</td>" >> ./test_simulator_results.html
-            CMD=`egrep "COMMAND IS" $PING_CASE | sed -e "s#COMMAND IS: ##"`
-            echo "        <td>$CMD</td>" >> ./test_simulator_results.html
-            FILE_COMPLETE=`egrep -c "ping statistics" $PING_CASE`
-            if [ $FILE_COMPLETE -eq 0 ]
+        for BW in ${BW_CASES[@]}
+        do
+            ENB_LOG=$ARCHIVES_LOC/${TMODE}_${BW}MHz_enb.log
+            UE_LOG=`echo $ENB_LOG | sed -e "s#enb#ue#"`
+            if [ -f $ENB_LOG ] && [ -f $UE_LOG ]
             then
-                echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                NAME_ENB=`echo $ENB_LOG | sed -e "s#$ARCHIVES_LOC/##"`
+                NAME_UE=`echo $UE_LOG | sed -e "s#$ARCHIVES_LOC/##"`
+                echo "      <tr>" >> ./test_simulator_results.html
+                echo "        <td>$NAME_ENB --- $NAME_UE</td>" >> ./test_simulator_results.html
                 echo "        <td>N/A</td>" >> ./test_simulator_results.html
-            else
-                NB_TR_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s# packets transmitted.*##"`
-                NB_RC_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*packets transmitted, ##" -e "s# received,.*##"`
-                if [ $NB_TR_PACKETS -eq $NB_RC_PACKETS ]
+                NB_ENB_GOT_SYNC=`egrep -c "got sync" $ENB_LOG`
+                NB_UE_GOT_SYNC=`egrep -c "got sync" $UE_LOG`
+                NB_ENB_SYNCED_WITH_UE=`egrep -c "got UE capabilities for UE" $ENB_LOG`
+                if [ $NB_ENB_GOT_SYNC -eq 1 ] && [ $NB_UE_GOT_SYNC -eq 2 ] && [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
                 then
                     echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
                 else
-                    echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                    echo "        <td bgcolor = \"red\" >OK</td>" >> ./test_simulator_results.html
                 fi
-                echo "        <td>" >> ./test_simulator_results.html
-                echo "            <pre>" >> ./test_simulator_results.html
-                STATS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*received, ##" -e "s#, time.*##" -e "s# packet loss##"`
-                echo "Packet Loss : $STATS" >> ./test_simulator_results.html
-                RTTMIN=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[1] " " $5}'`
-                echo "RTT Minimal : $RTTMIN" >> ./test_simulator_results.html
-                RTTAVG=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[2] " " $5}'`
-                echo "RTT Average : $RTTAVG" >> ./test_simulator_results.html
-                RTTMAX=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[3] " " $5}'`
-                echo "RTT Maximal : $RTTMAX" >> ./test_simulator_results.html
-                echo "            </pre>" >> ./test_simulator_results.html
-                echo "        </td>" >> ./test_simulator_results.html
-            fi
-            echo "      </tr>" >> ./test_simulator_results.html
-        fi
-
-        if [ -f $ARCHIVES_LOC/${BW}*iperf*dl*client*txt ]
-        then
-            IPERF_TESTS=`ls $ARCHIVES_LOC/${BW}*iperf*client*txt`
-        else
-            echo "There are no iperf files"
-            IPERF_TESTS=""
-        fi
-        for IPERF_CASE in $IPERF_TESTS
-        do
-            echo "      <tr>" >> ./test_simulator_results.html
-            NAME=`echo $IPERF_CASE | sed -e "s#$ARCHIVES_LOC/##"`
-            echo "        <td>$NAME</td>" >> ./test_simulator_results.html
-            CMD=`egrep "COMMAND IS" $IPERF_CASE | sed -e "s#COMMAND IS: ##"`
-            echo "        <td>$CMD</td>" >> ./test_simulator_results.html
-            REQ_BITRATE=`echo $CMD | sed -e "s#^.*-b ##" -e "s#-i 1.*##"`
-            if [[ $REQ_BITRATE =~ .*K.* ]]
-            then
-                REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#K##"`
-                FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000.0" | bc -l`
-            fi
-            if [[ $REQ_BITRATE =~ .*M.* ]]
-            then
-                REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#M##"`
-                FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000.0" | bc -l`
+                echo "        <td><pre>" >> ./test_simulator_results.html
+                if [ $NB_ENB_GOT_SYNC -eq 1 ]
+                then
+                    echo "<font color = \"blue\">- eNB --> got sync</font>" >> ./test_simulator_results.html
+                else
+                    echo "<font color = \"red\"><b>- eNB NEVER got sync</b></font>" >> ./test_simulator_results.html
+                fi
+                if [ $NB_UE_GOT_SYNC -eq 2 ]
+                then
+                    echo "<font color = \"blue\">- UE --> got sync</font>" >> ./test_simulator_results.html
+                else
+                    echo "<font color = \"red\"><b>- UE NEVER got sync</b></font>" >> ./test_simulator_results.html
+                fi
+                if [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
+                then
+                    echo "<font color = \"blue\">- UE attached to eNB</font>" >> ./test_simulator_results.html
+                else
+                    echo "<font color = \"red\"><b>- UE NEVER attached to eNB</b></font>" >> ./test_simulator_results.html
+                fi
+                NB_SEGFAULT_ENB=`egrep -i -c "Segmentation Fault" $ENB_LOG`
+                if [ $NB_SEGFAULT_ENB -ne 0 ]
+                then
+                    echo "<font color = \"red\"><b>- eNB --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
+                fi
+                NB_SEGFAULT_UE=`egrep -i -c "Segmentation Fault" $UE_LOG`
+                if [ $NB_SEGFAULT_UE -ne 0 ]
+                then
+                    echo "<font color = \"red\"><b>- UE --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
+                fi
+                NB_ASSERTION_ENB=`egrep -i -c "Assertion" $ENB_LOG`
+                if [ $NB_ASSERTION_ENB -ne 0 ]
+                then
+                    echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
+                    awk 'BEGIN{assertion=10}{if(assertion < 3){print "    " $0; assertion++};if ($0 ~/Assertion/){print "    " $0;assertion=1}}END{}' $ENB_LOG >> ./test_simulator_results.html
+                fi
+                NB_ASSERTION_UE=`egrep -i -c "Assertion" $UE_LOG`
+                if [ $NB_ASSERTION_UE -ne 0 ]
+                then
+                    echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
+                    awk 'BEGIN{assertion=10}{if(assertion < 3){print "    " $0; assertion++};if ($0 ~/Assertion/){print "    " $0;assertion=1}}END{}' $UE_LOG >> ./test_simulator_results.html
+                fi
+                echo "        </pre></td>" >> ./test_simulator_results.html
+                echo "      </tr>" >> ./test_simulator_results.html
             fi
-            if [[ $REQ_BITRATE =~ .*G.* ]]
+            PING_CASE=$ARCHIVES_LOC/${TMODE}_${BW}MHz_ping_ue.txt
+            if [ -f $PING_CASE ]
             then
-                REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#G##"`
-                FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000000.0" | bc -l`
+                echo "      <tr>" >> ./test_simulator_results.html
+                NAME=`echo $PING_CASE | sed -e "s#$ARCHIVES_LOC/##"`
+                echo "        <td>$NAME</td>" >> ./test_simulator_results.html
+                CMD=`egrep "COMMAND IS" $PING_CASE | sed -e "s#COMMAND IS: ##"`
+                echo "        <td>$CMD</td>" >> ./test_simulator_results.html
+                FILE_COMPLETE=`egrep -c "ping statistics" $PING_CASE`
+                if [ $FILE_COMPLETE -eq 0 ]
+                then
+                    echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                    echo "        <td>N/A</td>" >> ./test_simulator_results.html
+                else
+                    NB_TR_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s# packets transmitted.*##"`
+                    NB_RC_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*packets transmitted, ##" -e "s# received,.*##"`
+                    if [ $NB_TR_PACKETS -eq $NB_RC_PACKETS ]
+                    then
+                        echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
+                    else
+                        echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                    fi
+                    echo "        <td>" >> ./test_simulator_results.html
+                    echo "            <pre>" >> ./test_simulator_results.html
+                    STATS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*received, ##" -e "s#, time.*##" -e "s# packet loss##"`
+                    echo "Packet Loss : $STATS" >> ./test_simulator_results.html
+                    RTTMIN=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[1] " " $5}'`
+                    echo "RTT Minimal : $RTTMIN" >> ./test_simulator_results.html
+                    RTTAVG=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[2] " " $5}'`
+                    echo "RTT Average : $RTTAVG" >> ./test_simulator_results.html
+                    RTTMAX=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[3] " " $5}'`
+                    echo "RTT Maximal : $RTTMAX" >> ./test_simulator_results.html
+                    echo "            </pre>" >> ./test_simulator_results.html
+                    echo "        </td>" >> ./test_simulator_results.html
+                fi
+                echo "      </tr>" >> ./test_simulator_results.html
             fi
-            FILE_COMPLETE=`egrep -c "Server Report" $IPERF_CASE`
-            if [ $FILE_COMPLETE -eq 0 ]
+    
+            if [ -f $ARCHIVES_LOC/${TMODE}_${BW}*iperf*dl*client*txt ]
             then
-                echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
-                SERVER_FILE=`echo $IPERF_CASE | sed -e "s#client#server#"`
-                FLOAT_EFF_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; printf "%.0f", br}'`
-                EFFECTIVE_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; if(br>1000000){printf "%.2f MBits/sec", br/1000000}}'`
-                PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
-                JITTER=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*/sec *##" -e "s# *ms.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{jitter=s/n; printf "%.3f ms", jitter}'`
-                PACKETLOSS_NOSIGN=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*(##" -e "s#%.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{per=s/n; printf "%.1f", per}'`
-                PACKETLOSS=`echo "${PACKETLOSS_NOSIGN}%"`
+                IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}*iperf*client*txt`
             else
-                EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
-                if [[ $EFFECTIVE_BITRATE =~ .*Kbits/sec.* ]]
+                echo "There are no iperf files"
+                IPERF_TESTS=""
+            fi
+            for IPERF_CASE in $IPERF_TESTS
+            do
+                echo "      <tr>" >> ./test_simulator_results.html
+                NAME=`echo $IPERF_CASE | sed -e "s#$ARCHIVES_LOC/##"`
+                echo "        <td>$NAME</td>" >> ./test_simulator_results.html
+                CMD=`egrep "COMMAND IS" $IPERF_CASE | sed -e "s#COMMAND IS: ##"`
+                echo "        <td>$CMD</td>" >> ./test_simulator_results.html
+                REQ_BITRATE=`echo $CMD | sed -e "s#^.*-b ##" -e "s#-i 1.*##"`
+                if [[ $REQ_BITRATE =~ .*K.* ]]
                 then
-                    EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Kbits/sec.*##"`
-                    FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000" | bc -l`
+                    REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#K##"`
+                    FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000.0" | bc -l`
                 fi
-                if [[ $EFFECTIVE_BITRATE =~ .*Mbits/sec.* ]]
+                if [[ $REQ_BITRATE =~ .*M.* ]]
                 then
-                    EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Mbits/sec.*##"`
-                    FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000" | bc -l`
+                    REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#M##"`
+                    FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000.0" | bc -l`
                 fi
-                if [[ $EFFECTIVE_BITRATE =~ .*Gbits/sec.* ]]
+                if [[ $REQ_BITRATE =~ .*G.* ]]
                 then
-                    EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Gbits/sec.*##"`
-                    FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000000" | bc -l`
+                    REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#G##"`
+                    FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000000.0" | bc -l`
                 fi
-                PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
-                PERF_INT=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.0f", $0}'`
-                if [[ $PERF_INT -lt 90 ]]
+                FILE_COMPLETE=`egrep -c "Server Report" $IPERF_CASE`
+                if [ $FILE_COMPLETE -eq 0 ]
                 then
                     echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                    SERVER_FILE=`echo $IPERF_CASE | sed -e "s#client#server#"`
+                    FLOAT_EFF_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; printf "%.0f", br}'`
+                    EFFECTIVE_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; if(br>1000000){printf "%.2f MBits/sec", br/1000000}}'`
+                    PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
+                    JITTER=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*/sec *##" -e "s# *ms.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{jitter=s/n; printf "%.3f ms", jitter}'`
+                    PACKETLOSS_NOSIGN=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*(##" -e "s#%.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{per=s/n; printf "%.1f", per}'`
+                    PACKETLOSS=`echo "${PACKETLOSS_NOSIGN}%"`
                 else
-                    echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
+                    EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
+                    if [[ $EFFECTIVE_BITRATE =~ .*Kbits/sec.* ]]
+                    then
+                        EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Kbits/sec.*##"`
+                        FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000" | bc -l`
+                    fi
+                    if [[ $EFFECTIVE_BITRATE =~ .*Mbits/sec.* ]]
+                    then
+                        EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Mbits/sec.*##"`
+                        FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000" | bc -l`
+                    fi
+                    if [[ $EFFECTIVE_BITRATE =~ .*Gbits/sec.* ]]
+                    then
+                        EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Gbits/sec.*##"`
+                        FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000000" | bc -l`
+                    fi
+                    PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
+                    PERF_INT=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.0f", $0}'`
+                    if [[ $PERF_INT -lt 90 ]]
+                    then
+                        echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                    else
+                        echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
+                    fi
+                    EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
+                    JITTER=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*Mbits/sec *##" -e "s#ms.*#ms#"`
+                    PACKETLOSS=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*(##" -e "s#).*##"`
                 fi
-                EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
-                JITTER=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*Mbits/sec *##" -e "s#ms.*#ms#"`
-                PACKETLOSS=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*(##" -e "s#).*##"`
-            fi
-            echo "        <td>" >> ./test_simulator_results.html
-            echo "            <pre>" >> ./test_simulator_results.html
-            echo "Bitrate      : $EFFECTIVE_BITRATE" >> ./test_simulator_results.html
-            echo "Bitrate Perf : $PERF %" >> ./test_simulator_results.html
-            echo "Jitter       : $JITTER" >> ./test_simulator_results.html
-            echo "Packet Loss  : $PACKETLOSS" >> ./test_simulator_results.html
-            echo "            </pre>" >> ./test_simulator_results.html
-            echo "        </td>" >> ./test_simulator_results.html
-            echo "      </tr>" >> ./test_simulator_results.html
+                echo "        <td>" >> ./test_simulator_results.html
+                echo "            <pre>" >> ./test_simulator_results.html
+                echo "Bitrate      : $EFFECTIVE_BITRATE" >> ./test_simulator_results.html
+                echo "Bitrate Perf : $PERF %" >> ./test_simulator_results.html
+                echo "Jitter       : $JITTER" >> ./test_simulator_results.html
+                echo "Packet Loss  : $PACKETLOSS" >> ./test_simulator_results.html
+                echo "            </pre>" >> ./test_simulator_results.html
+                echo "        </td>" >> ./test_simulator_results.html
+                echo "      </tr>" >> ./test_simulator_results.html
+            done
         done
     done
 
diff --git a/ci-scripts/runTestOnVM.sh b/ci-scripts/runTestOnVM.sh
index ea536b749af..d74d6e2eabc 100755
--- a/ci-scripts/runTestOnVM.sh
+++ b/ci-scripts/runTestOnVM.sh
@@ -75,6 +75,7 @@ function start_basic_sim_enb {
     local LOC_EPC_IP_ADDR=$3
     local LOC_LOG_FILE=$4
     local LOC_NB_RBS=$5
+    local LOC_CONF_FILE=$6
     echo "cd /home/ubuntu/tmp" > $1
     echo "echo \"sudo apt-get --yes --quiet install daemon \"" >> $1
     echo "sudo apt-get --yes install daemon >> /home/ubuntu/tmp/cmake_targets/log/daemon-install.txt 2>&1" >> $1
@@ -83,13 +84,13 @@ function start_basic_sim_enb {
     echo "echo \"source oaienv\"" >> $1
     echo "source oaienv" >> $1
     echo "cd ci-scripts/conf_files/" >> $1
-    echo "cp lte-basic-sim.conf ci-lte-basic-sim.conf" >> $1
-    echo "sed -i -e 's#N_RB_DL.*=.*;#N_RB_DL                                         = $LOC_NB_RBS;#' -e 's#CI_MME_IP_ADDR#$LOC_EPC_IP_ADDR#' -e 's#CI_ENB_IP_ADDR#$LOC_VM_IP_ADDR#' ci-lte-basic-sim.conf" >> $1
-    echo "echo \"grep N_RB_DL ci-lte-basic-sim.conf\"" >> $1
-    echo "grep N_RB_DL ci-lte-basic-sim.conf | sed -e 's#N_RB_DL.*=#N_RB_DL =#'" >> $1
+    echo "cp $LOC_CONF_FILE ci-$LOC_CONF_FILE" >> $1
+    echo "sed -i -e 's#N_RB_DL.*=.*;#N_RB_DL                                         = $LOC_NB_RBS;#' -e 's#CI_MME_IP_ADDR#$LOC_EPC_IP_ADDR#' -e 's#CI_ENB_IP_ADDR#$LOC_VM_IP_ADDR#' ci-$LOC_CONF_FILE" >> $1
+    echo "echo \"grep N_RB_DL ci-$LOC_CONF_FILE\"" >> $1
+    echo "grep N_RB_DL ci-$LOC_CONF_FILE | sed -e 's#N_RB_DL.*=#N_RB_DL =#'" >> $1
     echo "echo \"cd /home/ubuntu/tmp/cmake_targets/basic_simulator/enb/\"" >> $1
     echo "cd /home/ubuntu/tmp/cmake_targets/basic_simulator/enb/" >> $1
-    echo "echo \"ulimit -c unlimited && ./lte-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-lte-basic-sim.conf\" > ./my-lte-softmodem-run.sh " >> $1
+    echo "echo \"ulimit -c unlimited && ./lte-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-$LOC_CONF_FILE\" > ./my-lte-softmodem-run.sh " >> $1
     echo "chmod 775 ./my-lte-softmodem-run.sh" >> $1
     echo "cat ./my-lte-softmodem-run.sh" >> $1
     echo "sudo -E daemon --inherit --unsafe --name=enb_daemon --chdir=/home/ubuntu/tmp/cmake_targets/basic_simulator/enb -o /home/ubuntu/tmp/cmake_targets/log/$LOC_LOG_FILE ./my-lte-softmodem-run.sh" >> $1
@@ -102,9 +103,10 @@ function start_basic_sim_enb {
 function start_basic_sim_ue {
     local LOC_UE_LOG_FILE=$3
     local LOC_NB_RBS=$4
+    local LOC_FREQUENCY=$5
     echo "echo \"cd /home/ubuntu/tmp/cmake_targets/basic_simulator/ue\"" > $1
     echo "cd /home/ubuntu/tmp/cmake_targets/basic_simulator/ue" > $1
-    echo "echo \"./lte-uesoftmodem -C 2680000000 -r $LOC_NB_RBS --ue-rxgain 140\" > ./my-lte-uesoftmodem-run.sh" >> $1
+    echo "echo \"./lte-uesoftmodem -C ${LOC_FREQUENCY}000000 -r $LOC_NB_RBS --ue-rxgain 140\" > ./my-lte-uesoftmodem-run.sh" >> $1
     echo "chmod 775 ./my-lte-uesoftmodem-run.sh" >> $1
     echo "cat ./my-lte-uesoftmodem-run.sh" >> $1
     echo "sudo -E daemon --inherit --unsafe --name=ue_daemon --chdir=/home/ubuntu/tmp/cmake_targets/basic_simulator/ue -o /home/ubuntu/tmp/cmake_targets/log/$LOC_UE_LOG_FILE ./my-lte-uesoftmodem-run.sh" >> $1
@@ -270,7 +272,6 @@ function recover_core_dump {
         local TC=`echo $3 | sed -e "s#^.*enb_##" -e "s#Hz.*#Hz#"`
         echo "Segmentation fault detected on enb -> recovering core dump"
         echo "cd /home/ubuntu/tmp/cmake_targets/basic_simulator/enb" > $1
-        echo "cp /home/ubuntu/tmp/ci-scripts/conf_files/ci-lte-basic-sim.conf ." >> $1
         echo "sync" >> $1
         echo "sudo tar -cjhf basic-simulator-enb-core-${TC}.bz2 core lte-softmodem *.so ci-lte-basic-sim.conf my-lte-softmodem-run.sh" >> $1
         echo "sudo rm core" >> $1
@@ -694,16 +695,16 @@ then
     fi
 
     echo "############################################################"
-    echo "Starting the eNB at 5MHz"
+    echo "Starting the eNB in FDD-5MHz mode"
     echo "############################################################"
-    CURRENT_ENB_LOG_FILE=enb_05MHz.log
-    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 25
+    CURRENT_ENB_LOG_FILE=fdd_05MHz_enb.log
+    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 25 lte-fdd-basic-sim.conf
 
     echo "############################################################"
-    echo "Starting the UE at 5MHz"
+    echo "Starting the UE in FDD-5MHz mode"
     echo "############################################################"
-    CURRENT_UE_LOG_FILE=ue_05MHz.log
-    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 25
+    CURRENT_UE_LOG_FILE=fdd_05MHz_ue.log
+    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 25 2680
     if [ $UE_SYNC -eq 0 ]
     then
         echo "Problem w/ eNB and UE not syncing"
@@ -719,14 +720,15 @@ then
     echo "############################################################"
     echo "Pinging the UE"
     echo "############################################################"
-    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR 05MHz_ping_ue.txt
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/05MHz_ping_ue.txt $ARCHIVES_LOC
-    check_ping_result $ARCHIVES_LOC/05MHz_ping_ue.txt 20
+    PING_LOG_FILE=fdd_05MHz_ping_ue.txt
+    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
+    check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
 
     echo "############################################################"
     echo "Iperf DL"
     echo "############################################################"
-    CURR_IPERF_LOG_BASE=05MHz_iperf_dl
+    CURR_IPERF_LOG_BASE=fdd_05MHz_iperf_dl
     iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 15 $CURR_IPERF_LOG_BASE
     scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
     scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
@@ -735,7 +737,7 @@ then
     echo "############################################################"
     echo "Iperf UL"
     echo "############################################################"
-    CURR_IPERF_LOG_BASE=05MHz_iperf_ul
+    CURR_IPERF_LOG_BASE=fdd_05MHz_iperf_ul
     iperf_ul $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 2 $CURR_IPERF_LOG_BASE
     scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
     scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
@@ -750,16 +752,16 @@ then
     recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
 
     echo "############################################################"
-    echo "Starting the eNB at 10MHz"
+    echo "Starting the eNB in FDD-10MHz mode"
     echo "############################################################"
-    CURRENT_ENB_LOG_FILE=enb_10MHz.log
-    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 50
+    CURRENT_ENB_LOG_FILE=fdd_10MHz_enb.log
+    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 50 lte-fdd-basic-sim.conf
 
     echo "############################################################"
-    echo "Starting the UE at 10MHz"
+    echo "Starting the UE in FDD-10MHz mode"
     echo "############################################################"
-    CURRENT_UE_LOG_FILE=ue_10MHz.log
-    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 50
+    CURRENT_UE_LOG_FILE=fdd_10MHz_ue.log
+    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 50 2680
     if [ $UE_SYNC -eq 0 ]
     then
         echo "Problem w/ eNB and UE not syncing"
@@ -775,14 +777,15 @@ then
     echo "############################################################"
     echo "Pinging the UE"
     echo "############################################################"
-    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR 10MHz_ping_ue.txt
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/10MHz_ping_ue.txt $ARCHIVES_LOC
-    check_ping_result $ARCHIVES_LOC/10MHz_ping_ue.txt 20
+    PING_LOG_FILE=fdd_10MHz_ping_ue.txt
+    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
+    check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
 
     echo "############################################################"
     echo "Iperf DL"
     echo "############################################################"
-    CURR_IPERF_LOG_BASE=10MHz_iperf_dl
+    CURR_IPERF_LOG_BASE=fdd_10MHz_iperf_dl
     iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 15 $CURR_IPERF_LOG_BASE
     scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
     scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
@@ -791,7 +794,7 @@ then
     echo "############################################################"
     echo "Iperf UL"
     echo "############################################################"
-    CURR_IPERF_LOG_BASE=10MHz_iperf_ul
+    CURR_IPERF_LOG_BASE=fdd_10MHz_iperf_ul
     iperf_ul $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 2 $CURR_IPERF_LOG_BASE
     scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
     scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
@@ -806,16 +809,16 @@ then
     recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
 
     echo "############################################################"
-    echo "Starting the eNB at 20MHz"
+    echo "Starting the eNB in FDD-20MHz mode"
     echo "############################################################"
-    CURRENT_ENB_LOG_FILE=enb_20MHz.log
-    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 100
+    CURRENT_ENB_LOG_FILE=fdd_20MHz_enb.log
+    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 100 lte-fdd-basic-sim.conf
 
     echo "############################################################"
-    echo "Starting the UE at 20MHz"
+    echo "Starting the UE in FDD-20MHz mode"
     echo "############################################################"
-    CURRENT_UE_LOG_FILE=ue_20MHz.log
-    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 100
+    CURRENT_UE_LOG_FILE=fdd_20MHz_ue.log
+    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 100 2680
     if [ $UE_SYNC -eq 0 ]
     then
         echo "Problem w/ eNB and UE not syncing"
@@ -831,27 +834,154 @@ then
     echo "############################################################"
     echo "Pinging the UE"
     echo "############################################################"
-    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR 20MHz_ping_ue.txt
-    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/20MHz_ping_ue.txt $ARCHIVES_LOC
-    check_ping_result $ARCHIVES_LOC/20MHz_ping_ue.txt 20
+    PING_LOG_FILE=fdd_20MHz_ping_ue.txt
+    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
+    check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
 
     echo "############################################################"
     echo "Iperf DL"
     echo "############################################################"
-    CURR_IPERF_LOG_BASE=20MHz_iperf_dl
+    CURR_IPERF_LOG_BASE=fdd_20MHz_iperf_dl
     iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 15 $CURR_IPERF_LOG_BASE
     scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
     scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
     check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 15
 
     echo "############################################################"
-    echo "Iperf UL"
+    echo "Terminate enb/ue simulators"
+    echo "############################################################"
+    terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+    recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+
+    echo "############################################################"
+    echo "Starting the eNB in TDD-5MHz mode"
+    echo "############################################################"
+    CURRENT_ENB_LOG_FILE=tdd_05MHz_enb.log
+    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 25 lte-tdd-basic-sim.conf
+
+    echo "############################################################"
+    echo "Starting the UE in TDD-5MHz mode"
+    echo "############################################################"
+    CURRENT_UE_LOG_FILE=tdd_05MHz_ue.log
+    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 25 2350
+    if [ $UE_SYNC -eq 0 ]
+    then
+        echo "Problem w/ eNB and UE not syncing"
+        terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+        recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
+        exit -1
+    fi
+    get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
+
     echo "############################################################"
-#    CURR_IPERF_LOG_BASE=20MHz_iperf_ul
-#    iperf_ul $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 1 $CURR_IPERF_LOG_BASE
-#    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
-#    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
-#    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 1
+    echo "Pinging the UE"
+    echo "############################################################"
+    PING_LOG_FILE=tdd_05MHz_ping_ue.txt
+    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
+    check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
+
+    echo "############################################################"
+    echo "Terminate enb/ue simulators"
+    echo "############################################################"
+    terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+    recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+
+    echo "############################################################"
+    echo "Starting the eNB in TDD-10MHz mode"
+    echo "############################################################"
+    CURRENT_ENB_LOG_FILE=tdd_10MHz_enb.log
+    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 50 lte-tdd-basic-sim.conf
+
+    echo "############################################################"
+    echo "Starting the UE in TDD-10MHz mode"
+    echo "############################################################"
+    CURRENT_UE_LOG_FILE=tdd_10MHz_ue.log
+    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 50 2350
+    if [ $UE_SYNC -eq 0 ]
+    then
+        echo "Problem w/ eNB and UE not syncing"
+        terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+        recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
+        exit -1
+    fi
+    get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
+
+    echo "############################################################"
+    echo "Pinging the UE"
+    echo "############################################################"
+    PING_LOG_FILE=tdd_10MHz_ping_ue.txt
+    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
+    check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
+
+    echo "############################################################"
+    echo "Iperf DL"
+    echo "############################################################"
+    CURR_IPERF_LOG_BASE=tdd_10MHz_iperf_dl
+    iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 6 $CURR_IPERF_LOG_BASE
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 6
+
+    echo "############################################################"
+    echo "Terminate enb/ue simulators"
+    echo "############################################################"
+    terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+    recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+
+    echo "############################################################"
+    echo "Starting the eNB in TDD-20MHz mode"
+    echo "############################################################"
+    CURRENT_ENB_LOG_FILE=tdd_20MHz_enb.log
+    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 100 lte-tdd-basic-sim.conf
+
+    echo "############################################################"
+    echo "Starting the UE in TDD-20MHz mode"
+    echo "############################################################"
+    CURRENT_UE_LOG_FILE=tdd_20MHz_ue.log
+    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 100 2350
+    if [ $UE_SYNC -eq 0 ]
+    then
+        echo "Problem w/ eNB and UE not syncing"
+        terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+        recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
+        exit -1
+    fi
+    get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
+
+    echo "############################################################"
+    echo "Pinging the UE"
+    echo "############################################################"
+    PING_LOG_FILE=tdd_20MHz_ping_ue.txt
+    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR $PING_LOG_FILE
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/$PING_LOG_FILE $ARCHIVES_LOC
+    check_ping_result $ARCHIVES_LOC/$PING_LOG_FILE 20
+
+    echo "############################################################"
+    echo "Iperf DL"
+    echo "############################################################"
+    CURR_IPERF_LOG_BASE=tdd_20MHz_iperf_dl
+    iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 6 $CURR_IPERF_LOG_BASE
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 6
 
     echo "############################################################"
     echo "Terminate enb/ue simulators"
-- 
GitLab