mirror of
https://github.com/openwrt/packages.git
synced 2025-12-26 11:16:31 +04:00
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:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user