mwan3: refactoring mwan3track action handling
Refactoring the score handling, so that only one action could take place during run. The behaviour should be more comprehensible, since several score actions are not processed at the same time. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
This commit is contained in:
parent
f3054a90ea
commit
1f6bd672fe
1 changed files with 12 additions and 14 deletions
|
@ -351,34 +351,32 @@ main() {
|
|||
if [ $score -lt $up ]; then
|
||||
score=0
|
||||
[ ${keep_failure_interval} -eq 1 ] && sleep_time=$failure_interval
|
||||
else
|
||||
elif [ $score -eq $up ]; then
|
||||
disconnecting
|
||||
sleep_time=$failure_interval
|
||||
disconnected
|
||||
elif [ $score -gt $up ]; then
|
||||
disconnecting
|
||||
sleep_time=$failure_interval
|
||||
fi
|
||||
|
||||
if [ $score -eq $up ]; then
|
||||
disconnected
|
||||
score=0
|
||||
fi
|
||||
else
|
||||
if [ $score -lt $((down+up)) ] && [ $lost -gt 0 ]; then
|
||||
connecting
|
||||
LOG info "Lost $((lost*count)) ping(s) on interface $INTERFACE ($DEVICE). Current score: $score"
|
||||
fi
|
||||
|
||||
let score++
|
||||
lost=0
|
||||
|
||||
if [ $score -gt $up ]; then
|
||||
echo "online" > $MWAN3TRACK_STATUS_DIR/$INTERFACE/STATUS
|
||||
score=$((down+up))
|
||||
elif [ $score -le $up ]; then
|
||||
if [ $score -lt $up ]; then
|
||||
connecting
|
||||
sleep_time=$recovery_interval
|
||||
elif [ $score -eq $up ]; then
|
||||
connecting
|
||||
sleep_time=$recovery_interval
|
||||
fi
|
||||
|
||||
if [ $score -eq $up ]; then
|
||||
connected
|
||||
elif [ $score -gt $up ]; then
|
||||
echo "online" > $MWAN3TRACK_STATUS_DIR/$INTERFACE/STATUS
|
||||
score=$((down+up))
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
Loading…
Reference in a new issue