|
@@ -42,19 +42,26 @@ read -r id ip < /tmp/"$FAMILY"
|
|
printf "%d" "$id" > /dev/null 2>&1 || exit
|
|
printf "%d" "$id" > /dev/null 2>&1 || exit
|
|
|
|
|
|
# Parsing ping output, for Linux
|
|
# Parsing ping output, for Linux
|
|
-output="$($PING -c "$NB_PINGS" -- "$ip" | grep -A1 "packets transmitted")"
|
|
|
|
-echo $output | sed -e 's#^\([0-9]*\) packets transmitted, \([0-9]*\) received.*#\1\t\2#' > /tmp/"$FAMILY"_tmp1
|
|
|
|
-read sent received < /tmp/"$FAMILY"_tmp1
|
|
|
|
-if [ "$received" -eq 0 ]
|
|
|
|
|
|
+if ! output="$($PING -c "$NB_PINGS" -- "$ip" | grep -A1 "packets transmitted")"
|
|
then
|
|
then
|
|
|
|
+ sent=0
|
|
|
|
+ received=0
|
|
args="avgrtt=NaN"
|
|
args="avgrtt=NaN"
|
|
echo "Target $id ($ip) is unreachable"
|
|
echo "Target $id ($ip) is unreachable"
|
|
else
|
|
else
|
|
- echo $output | sed -e 's#.*rtt min/avg/max/mdev = \(.*\)/\(.*\)/\(.*\)/\(.*\) ms$#\1\t\2\t\3\t\4#' > /tmp/"$FAMILY"_tmp2
|
|
|
|
- read minrtt avgrtt maxrtt jitter < /tmp/"$FAMILY"_tmp2
|
|
|
|
- [ -z "$avgrtt" ] && exit
|
|
|
|
- echo "RTT to target $id ($ip) is $avgrtt" >> $LOGFILE
|
|
|
|
- args="minrtt=${minrtt}&avgrtt=${avgrtt}&maxrtt=${maxrtt}&jitter=${jitter}"
|
|
|
|
|
|
+ echo $output | sed -e 's#^\([0-9]*\) packets transmitted, \([0-9]*\) received.*#\1\t\2#' > /tmp/"$FAMILY"_tmp1
|
|
|
|
+ read sent received < /tmp/"$FAMILY"_tmp1
|
|
|
|
+ if [ "$received" -eq 0 ]
|
|
|
|
+ then
|
|
|
|
+ args="avgrtt=NaN"
|
|
|
|
+ echo "Target $id ($ip) is unreachable"
|
|
|
|
+ else
|
|
|
|
+ echo $output | sed -e 's#.*rtt min/avg/max/mdev = \(.*\)/\(.*\)/\(.*\)/\(.*\) ms$#\1\t\2\t\3\t\4#' > /tmp/"$FAMILY"_tmp2
|
|
|
|
+ read minrtt avgrtt maxrtt jitter < /tmp/"$FAMILY"_tmp2
|
|
|
|
+ [ -z "$avgrtt" ] && exit
|
|
|
|
+ echo "RTT to target $id ($ip) is $avgrtt" >> $LOGFILE
|
|
|
|
+ args="minrtt=${minrtt}&avgrtt=${avgrtt}&maxrtt=${maxrtt}&jitter=${jitter}"
|
|
|
|
+ fi
|
|
fi
|
|
fi
|
|
|
|
|
|
# Report results back to peerfinder
|
|
# Report results back to peerfinder
|