#!/bin/sh
-[ -x /usr/bin/ip ] || exit 4
-[ -x /usr/sbin/ipset ] || exit 5
-[ -x /usr/sbin/iptables ] || exit 6
-[ -x /usr/sbin/ip6tables ] || exit 7
-[ -x /usr/bin/logger ] || exit 8
-
. /lib/functions.sh
. /lib/functions/network.sh
. /lib/mwan3/mwan3.sh
ACTION=ifdown INTERFACE=$1 /sbin/hotplug-call iface
- if [ -e /var/run/mwan3track-$1.pid ] ; then
- kill $(cat /var/run/mwan3track-$1.pid)
- rm /var/run/mwan3track-$1.pid
- fi
+ kill $(pgrep -f "mwan3track $1 $2") &> /dev/null
+ mwan3_track_clean $1
}
ifup()
local ipset route rule table IP IPT
killall mwan3track &> /dev/null
- rm /var/run/mwan3track-* &> /dev/null
+
+ config_load mwan3
+ config_foreach mwan3_track_clean interface
for IP in "$IP4" "$IP6"; do
for ipset in $($IPS -n list | grep mwan3 | grep -E '_v4|_v6'); do
$IPS -q destroy $ipset
done
+
+ mwan3_lock_clean
+ rm -rf $MWAN3_STATUS_DIR $MWAN3TRACK_STATUS_DIR
}
restart() {