#!/bin/bash #****************************************************************************** # 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 #arg1 timeout to wait before running the script #arg2 interface #arg3 iperf arguments args=($*) timeout=${args[0]} iface=${args[1]} iperf_args=(${args[@]:2}) 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'` #array=${1:-1} echo "args = ${args[@]}" echo "timeout = $timeout" echo "iface = $iface" echo "iperf_args = ${iperf_args[@]}" echo "ip_client = $ip_client" sleep $timeout echo " Waiting for IP Address..." while true; do var=`ifconfig $iface` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5 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 iperf ${iperf_args[@]}