diff --git a/targets/perf_oai.bash b/targets/perf_oai.bash deleted file mode 100755 index a5209ec7cbf5bf9e23709a7b3ff50d468ae4bc55..0000000000000000000000000000000000000000 --- a/targets/perf_oai.bash +++ /dev/null @@ -1,729 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ -################################################################################ -# file build_oai.bash -# brief apply a traffic generator, send traffic and measure the performance of OAI -# OTG is mainly used for OASIM and D-ITG (or iperf) for LTE-SOFTMODEM -# author Navid Nikaein -# company Eurecom -# email: navid.nikaein@eurecom.fr -# date 2015 - -#!/bin/bash -################################ -# include helper functions -################################ -THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) -. $THIS_SCRIPT_PATH/build_helper.bash - -check_for_root_rights - - -####################################### -# Default PARAMETERS -###################################### -#general - -declare PERF_APP="PING" # ITG, ITG_DECODE, PING, OTG, -declare TEST_MODE=0 -declare KEEP_LOG_FILESNUM_PKTS=0 -declare OWD="rttm" -declare DURATION=60000 # ms -declare NUM_PKTS=10000 -declare KBYTES=1000 # KBYTES -declare START=0 -declare DST="127.0.0.1" -declare DPORT="8999" -declare TP="UDP" -declare IDT_DIST="CONSTANT" -declare PS_DIST="CONSTANT" - -#IDT -declare RATE=1000 # pkt / s -declare MIN_RATE=100 -declare MAX_RATE=1000 - - -############## script params ##################### - - until [ -z "$1" ] - do - case "$1" in - -c | --test) - TEST_MODE=1; - echo_info "enabling the test mode" - shift; - ;; - -l | --perf-app) - PERF_APP=$2 - echo_info "Setting the performance evaluation APP to $PERF_APP" - if [ $PERF_APP = "DITG" ]; then - echo_info "you need to run " - fi - shift 2; - ;; - -m | --owd) - OWD="owdm" - echo_info "setting D-ITG one-way-delay meter" - shift; - ;; - -e | --duration) - DURATION=$2 - echo_info "Setting the traffic duration to $DURATION" - shift 2; - ;; - -n | --num-pkts) - NUM_PKTS=$2 - echo_info "Setting number of packets to $NUM_PKTS" - shift 2; - ;; - -k | --keep-log-file) - KEEP_LOG_FILESNUM_PKTS=1 - echo_info "Keep the log files" - shift; - ;; - -i | --idt-dist) - IDT_DIST=$2 - echo_info "setting IDT distribution to $IDT_DIST" - shift 2; - ;; - -s | --ps-dist) - PS_DIST=$2 - echo_info "setting PS distribution to $PS_DIST" - shift 2; - ;; - -d | --dst) - DST=$2 - echo_info "setting the destination address to $DST" - shift 2; - ;; - -p | --dst-port) - DPORT=$2 - echo_info "setting the destination port to $DPORT" - shift 2; - ;; - -h | --help) - print_help_perf - exit -1 - ;; - *) - echo "Unknown option $1" - break ; - # unknown option - ;; - esac -done - -##################### -# create a bin dir -##################### -echo_info "1. Creating the results dir ..." -#rm -rf results -mkdir -m 777 -p results - -exp_date=`date +%Y_%m_%d` -exp_time=`date +%H_%M_%S` -oai_exp_date="exp_date_${exp_date}" -touch results/${oai_exp_date} - -touch results/perf_log.txt -chmod -f 777 results/perf_log.txt - -echo "start experiment at date $exp_date time $exp_time " >> results/${oai_exp_date} - -############################################ -# setting and printing OAI envs, we should check here -############################################ - -echo_info "2. Setting the OAI PATHS ..." - -set_openair_env -cecho "OPENAIR_HOME = $OPENAIR_HOME" $green -cecho "OPENAIR1_DIR = $OPENAIR1_DIR" $green -cecho "OPENAIR2_DIR = $OPENAIR2_DIR" $green -cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green -cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green -cecho "OPENAIR_TARGETS = $OPENAIR_TARGETS" $green - - -echo "OPENAIR_HOME = $OPENAIR_HOME" >> results/${oai_exp_date} -echo "OPENAIR1_DIR = $OPENAIR1_DIR" >> results/${oai_exp_date} -echo "OPENAIR2_DIR = $OPENAIR2_DIR" >> results/${oai_exp_date} -echo "OPENAIR3_DIR = $OPENAIR3_DIR" >> results/${oai_exp_date} -echo "OPENAIR3_DIR = $OPENAIR3_DIR" >> results/${oai_exp_date} -echo "OPENAIR_TARGETS = $OPENAIR_TARGETS" >> results/${oai_exp_date} - -################################ -# run ITGSEND -################################ - -itg_send(){ - - test_install_package d-itg - - LOG_FILE="itg_log_template.txt" - touch results/${LOG_FILE} - - if [ $TEST_MODE = 0 ] ; then - declare -a PS=(32 64 128 256 512 1024 1408) - declare -a IDT=(1 5 10 50 100 1000) - else - declare -a PS=(32 64) - declare -a IDT=(1) - fi - - declare PS_LEN=${#PS[@]} - declare IDT_LEN=${#IDT[@]} -#echo_info "PS_LEN is $PS_LEN, IDT_LEN is $IDT_LEN" - - declare i=0 - declare j=0 - declare e=0 - # send traffic - for idt in ${IDT[@]}; do -# echo_info "IDT is set to $idt i is $i" - if [ $i -lt $IDT_LEN ]; then - let i++; - fi - - if [ $IDT_DIST = "CONSTANT" ]; then - IDT_OPT="-C $idt " - fi - if [ $IDT_DIST = "UNIFORM" ]; then - IDT_OPT="-U $idt ${IDT[i]} " - fi - if [ $IDT_DIST = "EXPONENTIAL" ]; then - IDT_OPT="-E $idt " - fi - - for ps in ${PS[@]}; do -# echo_info "PS is $ps j is $j" - if [ $j -lt $PS_LEN ]; then - let j++; - fi - if [ $PS_DIST = "CONSTANT" ]; then - PS_OPT="-c $ps " - fi - if [ $PS_DIST = "UNIFORM" ]; then - PS_OPT="-u $ps ${PS[j]} " - fi - if [ $PS_DIST = "EXPONENTIAL" ]; then - PS_OPT="-e $ps " - fi - start=$(date +%s) - RECV_FILE="recv_log_${IDT_DIST}_idt${idt}_${PS_DIST}_ps${ps}_${OWD}_${TP}" - echo_info "Start test_$i.$j:: ITGSend -a $DST $IDT_OPT $PS_OPT -m $OWD -d $START -T $TP -t $DURATION -x $RECV_FILE -l " - echo "Start test_$i.$j:: ITGSend -a $DST $IDT_OPT $PS_OPT -m $OWD -d $START -T $TP -t $DURATION -x $RECV_FILE -l " >> results/${oai_exp_date} - #sleep 1 - ITGSend -a $DST $IDT_OPT $PS_OPT -m $OWD -d $START -T $TP -t $DURATION -x $RECV_FILE -l - itg_status=$? - end=$(date +%s) - diff=$(( $end - $start )) - - if [ $itg_status = 0 ] ; then - echo_success "[$end] test_$i.$j passed" - echo "[$end] test_$i.$j passed" >> ./results/$LOG_FILE - STATUS="PASSED" - else - let e++; - echo_error "[$end] test_$i.$j failed :: D-ITG return exit code $itg_status" - echo "[$end]test_$i.$j failed :: ITG return exit code $itg_status" >> ./results/$LOG_FILE - STATUS="FAILED" - fi - - echo_info "End test_$i.$j:: runtime: $diff" - echo "End test_$i.$j:: runtime: $diff" >> results/${oai_exp_date} - - done - - done - -} - -itg_decode(){ - - declare i=0 - declare j=0 - if [ $TEST_MODE = 0 ] ; then - declare -a PS=(32 64 128 256 512 1024 1408) - declare -a IDT=(1 5 10 50 100 1000) - else - declare -a PS=(32 64) - declare -a IDT=(1) - fi - - for idt in ${IDT[@]}; do - - for ps in ${PS[@]}; do - RECV_FILE="recv_log_${IDT_DIST}_idt${idt}_${PS_DIST}_ps${ps}_${OWD}_${TP}" - OUTPUT_FILE="results_${IDT_DIST}_idt${idt}_${PS_DIST}_ps${ps}_${OWD}_${TP}.txt" - OCTAVE_FILE="results_${IDT_DIST}_idt${idt}_${PS_DIST}_ps${ps}_${OWD}_${TP}.." - - echo_info "decode test_$i.$j: ITGDec $RECV_FILE -v -t -l $OUTPUT_FILE -o $OCTAVE_FILE" - ITGDec $RECV_FILE -v -t -l $OUTPUT_FILE - - done - - done - - -} - -ping_stats(){ - - status="failed" - failedhosts="" - -# add ip / hostname separated by white space - -if [ $TEST_MODE = 0 ]; then - declare COUNT=100 - declare -a HOSTS=($DST) - declare -a PS=(64 768 2048 4096 8192) - declare -a IDT=(1 .8 .4 .2) -else - declare COUNT=10 - declare -a HOSTS=(localhost) - declare -a PS=(64 2048) - declare -a IDT=(.5) -fi - - -declare i=0 -declare j=0 -declare k=0 - -start_exp=$(date +%s) - -for host in ${HOSTS[@]}; do - let i++; - let j=0; - OUTPUT_FILE="rtt_host${host}.csv" - touch results/${OUTPUT_FILE} - for idt in ${IDT[@]}; do - let j++; - let k=0; - for ps in ${PS[@]}; do - let k++; - # | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }') - start=$(date +%s) - LOG_FILE="recv_log_host${host}_idt${idt}_ps${ps}.txt" - touch results/${LOG_FILE} - echo_info "Start test_$i.$j.$k:: ping -c $COUNT -q -U $host -s $ps -i $idt" - echo "Start test_$i.$j.$k:: ping -c $COUNT -q -U $host -s $ps -i $idt" >> results/${oai_exp_date} - $(ping -c $COUNT -q -U $host -s $ps -i $idt 1>&2 >> ./results/$LOG_FILE ) - end=$(date +%s) - diff=$(( $end - $start )) - - count=$(cat ./results/$LOG_FILE | awk -F, '/received/{print $2*1}') - latency=$(cat ./results/$LOG_FILE | tail -1 |cut -f2- -d=) - - MIN=$(cut -f1 -d/ <<< $latency) - AVG=$(cut -f2 -d/ <<< $latency) - MAX=$(cut -f3 -d/ <<< $latency) - MDEV=$(cut -f4 -d/ <<< $latency | cut -f1 -d" ") - UNIT=$(cut -f2 -d" " <<< $latency) - - echo_success "Latency:: count $count min $MIN avg $AVG max $MAX mdev $MDEV ($UNIT)" - echo "$idt;$ps;$COUNT;$count;$MIN;$AVG;$MAX;$MDEV;" >> ./results/$OUTPUT_FILE - if [ $count -eq 0 ]; then - failedhosts="$failedhosts $host" - status="failed" - else - status="passed" - fi - echo_info "End test_$i.$j.$k:: runtime: $diff :: status $status " - echo "End test_$i.$j.$k:: runtime: $diff :; status $status" >> results/${oai_exp_date} - - done - done -done -end_exp=$(date +%s) -diff_exp=$(( $end_exp - $start_exp )) - -let total_tests=i*j*k; -echo_info "total tests: $total_tests for a duration $diff_exp (s)" - -} - -oaisim_otg_stats(){ - -# install the required packages - - test_install_package octave >> results/perf_log.txt 2>&1 - -# set paths to the required binaries and check if the required binaries are available - OAISIM="bin/oaisim" - OTGPLOT="$OPENAIR2_DIR/UTIL/OTG/OTGplot" - PS2PDF="ps2pdf" - - if [ ! -f $OAISIM ]; then - echo_info "3.1 compiling OAISIM ($OPENAIR_TARGETS/build_oai.bash -t OAISIM -b -D -c)" - ($OPENAIR_TARGETS/build_oai.bash -t OAISIM -b -D -c >> results/perf_log.txt 2>&1 ) - build_stats=$? - if [ $build_stats != 0 ] ; then - echo_error "$OAISIM cannot be built, check results/perf_log.txt file" - exit $? - fi - else - echo_info "ensure that OAISIM is not built with the S1 interface" - fi - - (install_nasmesh >> results/perf_log.txt 2>&1 ) - - if [ ! -f $OTGPLOT ]; then - echo_error "$OTGPLOT not found" - exit $? - fi - -# Set the default Parameters - ABSTRACTION=1 -#FRAME_TYPE=0 # FDD=0, TDD =1, 2,3,4,5,6 - AGGR_RESULT=1 - STATUS="PASSED" - EXTRA_STATS=0 - declare NUM_UES=7 - - if [ $TEST_MODE = 0 ]; then - declare -a TEMPLATES=(120 121 122 123 124 125 126 127 128 129 130) - declare -a FRAME_TYPE=(0 3) - declare -a METRICS=(latency jitter goodput) - declare -a RB=(25 50 100) - else - declare -a TEMPLATES=(125) - declare -a FRAME_TYPE=(3) - declare -a METRICS=(latency) - declare -a RB=(25) - fi - - if [ $ABSTRACTION = 1 ]; then - OPT="-a " - fi - - declare num_cols=0 - let num_cols=NUM_UES+1 - if [ $AGGR_RESULT = 1 ]; then - COLUMN="[$num_cols:$num_cols]" - else - COLUMN="[1:$num_cols]" - fi - - declare i=0 - declare j=0 - declare k=0 - declare e=0 - - start_exp=$(date +%s) - - for template in ${TEMPLATES[@]}; do - let i++; - let j=0; - for frame in ${FRAME_TYPE[@]}; do - let j++; - let k=0; - - if [ $frame = 0 ]; then - OPT="$OPT -F " - else - OPT="$OPT -C $frame " - fi - - for rb in ${RB[@]}; do - let k++; - start=$(date +%s) - LOG_FILE="oaisim_log_template${template}_frame${frame}_rb${rb}.txt" - touch results/${LOG_FILE} - echo_info "[$start] Start test_$i.$j.$k:: $OAISIM $OPT -R $RB -c $template" - echo "Start test_$i.$j.$k:: $OAISIM $OPT -R $RB -c $template" >> results/${oai_exp_date} - #sleep 1 - $OAISIM $OPT -R $RB -c $template 1>&2 >> ./results/$LOG_FILE - # store exit status - oai_status=$? - end=$(date +%s) - diff=$(( $end - $start )) - - #check the oaisim exit status - if [ $oai_status = 0 ] ; then - echo_success "[$end] test_$i.$j.$k passed" - echo "[$end] test_$i.$j.$k passed" >> ./results/$LOG_FILE - STATUS="PASSED" - else - let e++; - echo_error "[$end] test_$i.$j.$k failed :: OAISIM return exit code $oai_status (remove bin/oaisim)" - echo "[$end]test_$i.$j.$k failed :: OAISIM return exit code $oai_status" >> ./results/$LOG_FILE - STATUS="FAILED" - fi - - # create the curves - for metric in ${METRICS[@]}; do - if [ $metric = "goodput" ]; then - unit="(kB/s)" - else - unit="(ms)" - fi - if [ -f /tmp/otg_${metric}.dat ]; then - export TITLE="Application $metric $unit" - cp /tmp/otg_${metric}.dat ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat - echo_info "$OTGPLOT ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat $COLUMN" - echo "$OTGPLOT ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat $COLUMN" >> results/${oai_exp_date} - $($OTGPLOT ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat $COLUMN 1>&2 >> ./results/$LOG_FILE ) - $($PS2PDF -dOptimize=true -dEmbedAllFonts=true ./otg-${metric}-template${template}-frame${frame}-rb${rb}.eps ) - # remove the first line of the file - echo "$(tail -n+2 ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat)" > ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat - else - echo_error "file /tmp/otg_${metric}.dat does not exists" - fi - done - if [ $KEEP_LOG_FILESNUM_PKTS = 0 ]; then - rm -f ./results/$LOG_FILE - fi - mv *.eps ./results/ - mv *.pdf ./results/ - mv /tmp/otg.log ./results/otg-template${template}-frame${frame}-rb${rb}.log - echo_info "End test_$i.$j.$k:: runtime: $diff :: status $STATUS" - echo "End test_$i.$j.$k:: runtime: $diff :: status $STATUS" >> results/${oai_exp_date} - - - done - done - done - - end_exp=$(date +%s) - diff_exp=$(( $end_exp - $start_exp )) - - let total_tests=i*j*k; - echo_info "total tests: $total_tests for a duration $diff_exp (s) error ($e)" - echo "total tests: $total_tests for a duration $diff_exp (s) error ($e)" >> results/${oai_exp_date} - -} - - -cba_otg_stats(){ - - test_install_package octave - -ABSTRACTION=1 -FRAME_TYPE=0 # FDD=0, TDD =1 -AGGR_RESULT=1 -#OAISIM="$OPENAIR_TARGETS/bin/oaisim" -OAISIM="bin/oaisim.cba" # to compile: make cleanall; make Rel10=1 CBA=1 in targets/SIMU/USER -OTGPLOT="$OPENAIR2_DIR/UTIL/OTG/OTGplot" -PS2PDF="ps2pdf" -STATUS="PASSED" -EXTRA_STATS=0 -declare NUM_UES=7 - -if [ $TEST_MODE = 0 ]; then - declare -a TEMPLATES=(120 121 122 123 124 125 126 127 128 129 130) - declare -a CBA=(0 1 2 3 4) - declare -a BACKOFF=(0 15 30 60 120) - declare -a METRICS=(latency jitter goodput) - declare -a RB=(25) -else - declare -a TEMPLATES=(125) - declare -a CBA=(1) - declare -a BACKOFF=(0 15 30 60 120) - declare -a METRICS=(latency) - declare -a RB=(25) -fi - -if [ ! -f $OAISIM ]; then - echo_error "$OAISIM not found" - exit $? -fi -if [ ! -f $OTGPLOT ]; then - echo_error "$OTGPLOT not found" - exit $? -fi - -if [ $ABSTRACTION = 1 ]; then - OPT="-a " -fi -if [ $FRAME_TYPE = 0 ]; then - OPT="$OPT -F " -fi - -declare num_cols=0 -let num_cols=NUM_UES+1 -if [ $AGGR_RESULT = 1 ]; then - COLUMN="[$num_cols:$num_cols]" -else - COLUMN="[1:$num_cols]" -fi - -declare collision=0 -declare enb_cba_access=0 -declare ue_cba_access=0 -declare missed=0 -declare unused=0 - -declare i=0 -declare j=0 -declare k=0 -declare e=0 - -start_exp=$(date +%s) - -STATS1="cba_stats1.txt" -touch results/${STATS1} - -for template in ${TEMPLATES[@]}; do - let i++; - let j=0; - for group in ${CBA[@]}; do - let j++; - let k=0; - for backoff in ${BACKOFF[@]}; do - let k++; - start=$(date +%s) - LOG_FILE="oaisim_log_template${template}_group${group}_backoff${backoff}.txt" - touch results/${LOG_FILE} - echo_info "[$start] Start test_$i.$j.$k:: $OAISIM $OPT -w $group -R $RB --cba-backoff $backoff -c $template" - echo "Start test_$i.$j.$k:: $OAISIM $OPT -w $group -R $RB --cba-backoff $backoff -c $template" >> results/${oai_exp_date} - #sleep 1 - $OAISIM $OPT -w $group -R $RB --cba-backoff $backoff -c $template 1>&2 >> ./results/$LOG_FILE - # store exit status - oai_status=$? - end=$(date +%s) - diff=$(( $end - $start )) - - #check the oaisim exit status - if [ $oai_status = 0 ] ; then - echo_success "[$end] test_$i.$j.$k passed" - echo "[$end] test_$i.$j.$k passed" >> ./results/$LOG_FILE - STATUS="PASSED" - else - let e++; - echo_error "[$end] test_$i.$j.$k failed :: OAISIM return exit code $oai_status" - echo "[$end]test_$i.$j.$k failed :: OAISIM return exit code $oai_status" >> ./results/$LOG_FILE - STATUS="FAILED" - fi - - if [ $group -gt 0 ]; then - - let ue_cba_access=$(cat ./results/$LOG_FILE | grep -c "CBA transmission oppurtunity" ) - let enb_cba_access=$(cat ./results/$LOG_FILE | grep -c "schedule CBA access" ) - let missed=$(cat ./results/$LOG_FILE | grep -c "wait for backoff to expire" ) - let unused=enb_cba_access-ue_cba_access; - let collision=$(cat ./results/$LOG_FILE | grep -c "first CBA collision detected" ) - - #frame, subframe, ue, group - #collision_stats=$(cat ./results/$LOG_FILE | grep "collision" | cut -d " " -f3,5,12,15 ) - if [ $EXTRA_STATS = 1 ]; then - STATS2="cba_template_${template}_stats2.txt" - touch results/${STATS2} - while read -r line - do - SFN=$(cut -f1 -d " " <<< $line) - SSFN=$(cut -f2 -d " " <<< $line) - UEID=$(cut -f3 -d " " <<< $line) - GPID=$(cut -f4 -d " " <<< $line) - #echo_success "$SFN;$SSFN;$UEID;$GPID;" - echo "$SFN;$SSFN;$UEID;$GPID;" >> ./results/$STATS2 - done < <(cat ./results/$LOG_FILE | grep "CBA collision set SR for UE" | cut -d " " -f3,5,13,16 ) - fi - - echo_success "CBA stats:: template $template;group $group; backoff $backoff; enb cba allocation $enb_cba_access; ue cba access $ue_cba_access; collision $collision; missed $missed; unused $unused;" - echo "$template;$group;$backoff;$enb_cba_access;$ue_cba_access;$collision;$missed;$unused;" >> ./results/$STATS1 - fi - - # create the curves - for metric in ${METRICS[@]}; do - if [ $metric = "goodput" ]; then - unit="(kB/s)" - else - unit="(ms)" - fi - if [ -f /tmp/otg_${metric}.dat ]; then - export TITLE="Application $metric $unit" - cp /tmp/otg_${metric}.dat ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat - echo_info "$OTGPLOT ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat $COLUMN" - echo "$OTGPLOT ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat $COLUMN" >> results/${oai_exp_date} - $($OTGPLOT ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat $COLUMN 1>&2 >> ./results/$LOG_FILE ) - $($PS2PDF -dOptimize=true -dEmbedAllFonts=true ./otg-${metric}-template${template}-group${group}-backoff${backoff}.eps ) - # remove the first line of the file - echo "$(tail -n+2 ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat)" > ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat - else - echo_error "file /tmp/otg_${metric}.dat does not exists" - fi - done - if [ $KEEP_LOG_FILESNUM_PKTS = 0 ]; then - rm -f ./results/$LOG_FILE - fi - mv *.eps ./results/ - mv *.pdf ./results/ - mv /tmp/otg.log ./results/otg-template${template}-group${group}-backoff${backoff}.log - echo_info "End test_$i.$j.$k:: runtime: $diff :: status $STATUS" - echo "End test_$i.$j.$k:: runtime: $diff :: status $STATUS" >> results/${oai_exp_date} - - # backoff not required when CBA is not used - if [ $group -eq 0 ]; then - break; - fi - - done - done -done - -end_exp=$(date +%s) -diff_exp=$(( $end_exp - $start_exp )) - -let total_tests=i*j*k; -echo_info "total tests: $total_tests for a duration $diff_exp (s) error ($e)" -echo "total tests: $total_tests for a duration $diff_exp (s) error ($e)" >> results/${oai_exp_date} - -} - - - - -case "$PERF_APP" in - 'ITGS') - echo_info "3. running ITGSend" - itg_send - ;; - 'ITGD') - echo_info "running ITGDECODE (ensure that the results are in the current directory)" - itg_decode - ;; - 'PING') - echo_info "3. running ping" - ping_stats - ;; - 'OTG-OAISIM') - echo_info "3. running OTG on oaisim" - oaisim_otg_stats - ;; - 'OTG-CBA') - echo_info "3. running OTG on oaisim with cba" - cba_otg_stats - ;; - - 'IPERF') - echo_warning "iperf not supported" - ;; - 'NONE') - ;; - *) - echo_error "Unknown option $RUN_ITG" - ;; -esac -