net/mwan3: add option keep_failure_interval on failure
authorFlorian Eckert <fe@dev.tdt.de>
Thu, 20 Jul 2017 06:55:55 +0000 (08:55 +0200)
committerFlorian Eckert <fe@dev.tdt.de>
Thu, 10 Aug 2017 08:45:28 +0000 (10:45 +0200)
Add new boolean interface config param to keep ping failure interval during
interface failure state.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
net/mwan3/files/usr/sbin/mwan3track

index d168578dfba968da1058e470be4e8d6e12bb3731..718c2cb2736bdd47659499d68c2963930217dc6a 100755 (executable)
@@ -51,6 +51,7 @@ validate_track_method() {
 main() {
        local reliability count timeout interval failure_interval
        local recovery_interval down up size
+       local keep_failure_interval
 
        [ -z "$3" ] && echo "Error: should not be started manually" && exit 0
 
@@ -74,6 +75,7 @@ main() {
        config_get up $1 up 5
        config_get size $1 size 56
        config_get failure_interval $1 failure_interval $interval
+       config_get_bool keep_failure_interval $1 keep_failure_interval 0
        config_get recovery_interval $1 recovery_interval $interval
 
        local score=$(($down+$up))
@@ -111,6 +113,9 @@ main() {
 
                        if [ $score -lt $up ]; then
                                score=0
+                               [ ${keep_failure_interval} -eq 1 ] && {
+                                       sleep_time=$failure_interval
+                               }
                        else
                                sleep_time=$failure_interval
                        fi