iperf_script 2.12 KB
Newer Older
Rohit Gupta's avatar
Rohit Gupta committed
1
#!/bin/bash
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
#******************************************************************************

#    OpenAirInterface 
#    Copyright(c) 1999 - 2014 Eurecom

#    OpenAirInterface is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.


#    OpenAirInterface is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.

#   You should have received a copy of the GNU General Public License
#   along with OpenAirInterface.The full GNU General Public License is 
#   included in this distribution in the file called "COPYING". If not, 
#   see <http://www.gnu.org/licenses/>.

#  Contact Information
#  OpenAirInterface Admin: openair_admin@eurecom.fr
#  OpenAirInterface Tech : openair_tech@eurecom.fr
#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
  
#  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE

# *******************************************************************************/
# \author Navid Nikaein, Rohit Gupta
Rohit Gupta's avatar
Rohit Gupta committed
32 33 34 35 36 37 38 39 40 41

#arg1 timeout to wait before running the script
#arg2 interface
#arg3 iperf arguments

args=($*)
timeout=${args[0]}
iface=${args[1]}
iperf_args=(${args[@]:2})

Rohit Gupta's avatar
Rohit Gupta committed
42
ip_client=`echo "$iperf_args" | sed -ne 's/.*\-c[ ]*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\).*/\1/p'`
43

Rohit Gupta's avatar
Rohit Gupta committed
44
#array=${1:-1}
45
echo "args =  ${args[@]}"
Rohit Gupta's avatar
Rohit Gupta committed
46 47 48
echo "timeout = $timeout"
echo "iface = $iface"
echo "iperf_args = ${iperf_args[@]}"
49
echo "ip_client = $ip_client"
Rohit Gupta's avatar
Rohit Gupta committed
50 51 52

sleep $timeout

53
echo " Waiting for IP Address..."
Rohit Gupta's avatar
Rohit Gupta committed
54 55
while true; do var=`ifconfig $iface` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5

56 57 58 59 60 61 62 63
if [ -n "$ip_client" ]; then
echo "Waiting for route to be setup before iperf makes connection..."
  var=`route -n | grep $ip_client`
  if ["$var" != "" ] ; then break; fi

fi
sleep 5

Rohit Gupta's avatar
Rohit Gupta committed
64
iperf ${iperf_args[@]}