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 0000000000..fe9b8a3601
--- /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 569b62bc3d..24e3255958 100755
--- a/ci-scripts/reportTestLocally.sh
+++ b/ci-scripts/reportTestLocally.sh
@@ -317,188 +317,192 @@ then
echo "
Statistics | " >> ./test_simulator_results.html
echo " " >> ./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 " " >> ./test_simulator_results.html
- echo " | $NAME_ENB --- $NAME_UE | " >> ./test_simulator_results.html
- echo " N/A | " >> ./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 ]
+ 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 " OK | " >> ./test_simulator_results.html
- else
- echo " OK | " >> ./test_simulator_results.html
- fi
- echo " " >> ./test_simulator_results.html
- if [ $NB_ENB_GOT_SYNC -eq 1 ]
- then
- echo "- eNB --> got sync" >> ./test_simulator_results.html
- else
- echo "- eNB NEVER got sync" >> ./test_simulator_results.html
- fi
- if [ $NB_UE_GOT_SYNC -eq 2 ]
- then
- echo "- UE --> got sync" >> ./test_simulator_results.html
- else
- echo "- UE NEVER got sync" >> ./test_simulator_results.html
- fi
- if [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
- then
- echo "- UE attached to eNB" >> ./test_simulator_results.html
- else
- echo "- UE NEVER attached to eNB" >> ./test_simulator_results.html
- fi
- NB_SEGFAULT_ENB=`egrep -i -c "Segmentation Fault" $ENB_LOG`
- if [ $NB_SEGFAULT_ENB -ne 0 ]
- then
- echo "- eNB --> Segmentation Fault" >> ./test_simulator_results.html
- fi
- NB_SEGFAULT_UE=`egrep -i -c "Segmentation Fault" $UE_LOG`
- if [ $NB_SEGFAULT_UE -ne 0 ]
- then
- echo "- UE --> Segmentation Fault" >> ./test_simulator_results.html
- fi
- NB_ASSERTION_ENB=`egrep -i -c "Assertion" $ENB_LOG`
- if [ $NB_ASSERTION_ENB -ne 0 ]
- then
- echo "- eNB --> Assertion" >> ./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 "- eNB --> Assertion" >> ./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 " | " >> ./test_simulator_results.html
- echo "
" >> ./test_simulator_results.html
- fi
- PING_CASE=$ARCHIVES_LOC/${BW}MHz_ping_ue.txt
- if [ -f $PING_CASE ]
- then
- echo " " >> ./test_simulator_results.html
- NAME=`echo $PING_CASE | sed -e "s#$ARCHIVES_LOC/##"`
- echo " | $NAME | " >> ./test_simulator_results.html
- CMD=`egrep "COMMAND IS" $PING_CASE | sed -e "s#COMMAND IS: ##"`
- echo " $CMD | " >> ./test_simulator_results.html
- FILE_COMPLETE=`egrep -c "ping statistics" $PING_CASE`
- if [ $FILE_COMPLETE -eq 0 ]
- then
- echo " KO | " >> ./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 "
" >> ./test_simulator_results.html
+ echo " | $NAME_ENB --- $NAME_UE | " >> ./test_simulator_results.html
echo " N/A | " >> ./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 " OK | " >> ./test_simulator_results.html
else
+ echo " OK | " >> ./test_simulator_results.html
+ fi
+ echo " " >> ./test_simulator_results.html
+ if [ $NB_ENB_GOT_SYNC -eq 1 ]
+ then
+ echo "- eNB --> got sync" >> ./test_simulator_results.html
+ else
+ echo "- eNB NEVER got sync" >> ./test_simulator_results.html
+ fi
+ if [ $NB_UE_GOT_SYNC -eq 2 ]
+ then
+ echo "- UE --> got sync" >> ./test_simulator_results.html
+ else
+ echo "- UE NEVER got sync" >> ./test_simulator_results.html
+ fi
+ if [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
+ then
+ echo "- UE attached to eNB" >> ./test_simulator_results.html
+ else
+ echo "- UE NEVER attached to eNB" >> ./test_simulator_results.html
+ fi
+ NB_SEGFAULT_ENB=`egrep -i -c "Segmentation Fault" $ENB_LOG`
+ if [ $NB_SEGFAULT_ENB -ne 0 ]
+ then
+ echo "- eNB --> Segmentation Fault" >> ./test_simulator_results.html
+ fi
+ NB_SEGFAULT_UE=`egrep -i -c "Segmentation Fault" $UE_LOG`
+ if [ $NB_SEGFAULT_UE -ne 0 ]
+ then
+ echo "- UE --> Segmentation Fault" >> ./test_simulator_results.html
+ fi
+ NB_ASSERTION_ENB=`egrep -i -c "Assertion" $ENB_LOG`
+ if [ $NB_ASSERTION_ENB -ne 0 ]
+ then
+ echo "- eNB --> Assertion" >> ./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 "- eNB --> Assertion" >> ./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 " | " >> ./test_simulator_results.html
+ echo "
" >> ./test_simulator_results.html
+ fi
+ PING_CASE=$ARCHIVES_LOC/${TMODE}_${BW}MHz_ping_ue.txt
+ if [ -f $PING_CASE ]
+ then
+ echo " " >> ./test_simulator_results.html
+ NAME=`echo $PING_CASE | sed -e "s#$ARCHIVES_LOC/##"`
+ echo " | $NAME | " >> ./test_simulator_results.html
+ CMD=`egrep "COMMAND IS" $PING_CASE | sed -e "s#COMMAND IS: ##"`
+ echo " $CMD | " >> ./test_simulator_results.html
+ FILE_COMPLETE=`egrep -c "ping statistics" $PING_CASE`
+ if [ $FILE_COMPLETE -eq 0 ]
+ then
echo " KO | " >> ./test_simulator_results.html
+ echo " N/A | " >> ./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 " OK | " >> ./test_simulator_results.html
+ else
+ echo " KO | " >> ./test_simulator_results.html
+ fi
+ echo " " >> ./test_simulator_results.html
+ echo " " >> ./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 " " >> ./test_simulator_results.html
+ echo " | " >> ./test_simulator_results.html
+ fi
+ echo "
" >> ./test_simulator_results.html
+ fi
+
+ if [ -f $ARCHIVES_LOC/${TMODE}_${BW}*iperf*dl*client*txt ]
+ then
+ IPERF_TESTS=`ls $ARCHIVES_LOC/${TMODE}_${BW}*iperf*client*txt`
+ else
+ echo "There are no iperf files"
+ IPERF_TESTS=""
+ fi
+ for IPERF_CASE in $IPERF_TESTS
+ do
+ echo " " >> ./test_simulator_results.html
+ NAME=`echo $IPERF_CASE | sed -e "s#$ARCHIVES_LOC/##"`
+ echo " | $NAME | " >> ./test_simulator_results.html
+ CMD=`egrep "COMMAND IS" $IPERF_CASE | sed -e "s#COMMAND IS: ##"`
+ echo " $CMD | " >> ./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`
+ fi
+ if [[ $REQ_BITRATE =~ .*G.* ]]
+ then
+ REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#G##"`
+ FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000000.0" | bc -l`
+ fi
+ FILE_COMPLETE=`egrep -c "Server Report" $IPERF_CASE`
+ if [ $FILE_COMPLETE -eq 0 ]
+ then
+ echo " KO | " >> ./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
+ 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 " KO | " >> ./test_simulator_results.html
+ else
+ echo " OK | " >> ./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
echo " " >> ./test_simulator_results.html
echo " " >> ./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 "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 " " >> ./test_simulator_results.html
echo " | " >> ./test_simulator_results.html
- fi
- echo "
" >> ./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 " " >> ./test_simulator_results.html
- NAME=`echo $IPERF_CASE | sed -e "s#$ARCHIVES_LOC/##"`
- echo " | $NAME | " >> ./test_simulator_results.html
- CMD=`egrep "COMMAND IS" $IPERF_CASE | sed -e "s#COMMAND IS: ##"`
- echo " $CMD | " >> ./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`
- fi
- if [[ $REQ_BITRATE =~ .*G.* ]]
- then
- REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#G##"`
- FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000000.0" | bc -l`
- fi
- FILE_COMPLETE=`egrep -c "Server Report" $IPERF_CASE`
- if [ $FILE_COMPLETE -eq 0 ]
- then
- echo " KO | " >> ./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
- 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 " KO | " >> ./test_simulator_results.html
- else
- echo " OK | " >> ./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
- echo " " >> ./test_simulator_results.html
- echo " " >> ./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 " " >> ./test_simulator_results.html
- echo " | " >> ./test_simulator_results.html
- echo "
" >> ./test_simulator_results.html
+ echo " " >> ./test_simulator_results.html
+ done
done
done
diff --git a/ci-scripts/runTestOnVM.sh b/ci-scripts/runTestOnVM.sh
index ea536b749a..d74d6e2eab 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 "############################################################"
-# 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
+ 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 "############################################################"
+ 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"