mwan3: fix bugs introduced in 815e83d4

Fixes the following bugs introduced in commit 815e83d4:
 - hotplug: invalid parameter order when initial interface state is "online",
   mwan3track expects initial state to be the third argument
 - hotplug: missing source ip address when initial interface state is "offline"
 - mwan3track: source ip address should be the fourth argument

Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
This commit is contained in:
Marcin Jurkowski 2017-08-17 13:20:10 +02:00
parent af1e127bf4
commit 284284ef2e
2 changed files with 6 additions and 5 deletions

View File

@ -68,13 +68,13 @@ case "$ACTION" in
if [ ${running} -eq 1 -a "${status}" = "online" ]; then
mwan3_create_iface_rules $INTERFACE $DEVICE
mwan3_create_iface_route $INTERFACE $DEVICE
mwan3_track $INTERFACE $DEVICE ${src_ip} "online"
mwan3_track $INTERFACE $DEVICE "online" "$src_ip"
mwan3_set_policies_iptables
mwan3_set_user_rules
mwan3_flush_conntrack $INTERFACE $DEVICE "ifup"
else
$LOG notice "Starting tracker on interface $INTERFACE (${DEVICE:-unknown})"
mwan3_track $INTERFACE $DEVICE "offline"
mwan3_track $INTERFACE $DEVICE "offline" "$src_ip"
fi
;;
ifdown)

View File

@ -52,6 +52,7 @@ main() {
INTERFACE=$1
DEVICE=$2
STATUS=$3
SRC_IP=$4
mkdir -p /var/run/mwan3track/$1
trap clean_up SIGINT SIGTERM
trap if_down SIGUSR1
@ -93,11 +94,11 @@ main() {
for track_ip in $track_ips; do
case "$track_method" in
ping)
ping -I $2 -c $count -W $timeout -s $size -q $track_ip &> /dev/null ;;
ping -I $DEVICE -c $count -W $timeout -s $size -q $track_ip &> /dev/null ;;
arping)
arping -I $2 -c $count -w $timeout -q $track_ip &> /dev/null ;;
arping -I $DEVICE -c $count -w $timeout -q $track_ip &> /dev/null ;;
httping)
httping -y $3 -c $count -t $timeout -q $track_ip &> /dev/null ;;
httping -y $SRC_IP -c $count -t $timeout -q $track_ip &> /dev/null ;;
esac
if [ $? -eq 0 ]; then
let host_up_count++