From ec5542ab2bd192aca9efc97b2f613b849457b19e Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Fri, 25 Aug 2017 11:42:32 +0200 Subject: [PATCH] net/mwan3: mwan3track skip track ips if realibility is accomplished If enough tracking ip are pinged skip the reset. They are not needed anymore to mark the interface as up. Signed-off-by: Florian Eckert --- net/mwan3/files/usr/sbin/mwan3track | 30 ++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/net/mwan3/files/usr/sbin/mwan3track b/net/mwan3/files/usr/sbin/mwan3track index 91136e8f8..0e1c4f2b8 100755 --- a/net/mwan3/files/usr/sbin/mwan3track +++ b/net/mwan3/files/usr/sbin/mwan3track @@ -92,20 +92,24 @@ main() { sleep_time=$interval for track_ip in $track_ips; do - case "$track_method" in - ping) - ping -I $DEVICE -c $count -W $timeout -s $size -q $track_ip &> /dev/null ;; - arping) - arping -I $DEVICE -c $count -w $timeout -q $track_ip &> /dev/null ;; - httping) - httping -y $SRC_IP -c $count -t $timeout -q $track_ip &> /dev/null ;; - esac - if [ $? -eq 0 ]; then - let host_up_count++ - echo "up" > /var/run/mwan3track/$1/TRACK_${track_ip} + if [ $host_up_count -lt $reliability ]; then + case "$track_method" in + ping) + ping -I $DEVICE -c $count -W $timeout -s $size -q $track_ip &> /dev/null ;; + arping) + arping -I $DEVICE -c $count -w $timeout -q $track_ip &> /dev/null ;; + httping) + httping -y $SRC_IP -c $count -t $timeout -q $track_ip &> /dev/null ;; + esac + if [ $? -eq 0 ]; then + let host_up_count++ + echo "up" > /var/run/mwan3track/$1/TRACK_${track_ip} + else + let lost++ + echo "down" > /var/run/mwan3track/$1/TRACK_${track_ip} + fi else - let lost++ - echo "down" > /var/run/mwan3track/$1/TRACK_${track_ip} + echo "skipped" > /var/run/mwan3track/$1/TRACK_${track_ip} fi done