1
0
mirror of https://git.openwrt.org/feed/packages.git synced 2024-06-15 03:43:53 +02:00

Merge pull request #4722 from TDT-GmbH/mwan3-fixes

net/mwan3: fixes for mwan3 (lede-17.01)
This commit is contained in:
champtar 2017-08-25 14:10:45 -07:00 committed by GitHub
commit 4e845ad639
5 changed files with 34 additions and 14 deletions

View File

@ -8,9 +8,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=mwan3
PKG_VERSION:=2.0
PKG_RELEASE:=3
PKG_MAINTAINER:=Jeroen Louwes <jeroen.louwes@gmail.com>
PKG_VERSION:=2.0.1
PKG_RELEASE:=1
PKG_MAINTAINER:=Florian Eckert <fe@dev.tdt.de>
PKG_LICENSE:=GPLv2
include $(INCLUDE_DIR)/package.mk
@ -21,7 +21,6 @@ define Package/mwan3
SUBMENU:=Routing and Redirection
DEPENDS:=+ip +ipset +iptables +iptables-mod-conntrack-extra +iptables-mod-ipopt
TITLE:=Multiwan hotplug script with connection tracking support
MAINTAINER:=Jeroen Louwes <jeroen.louwes@gmail.com>
PKGARCH:=all
endef

View File

@ -4,11 +4,6 @@
. /lib/functions/network.sh
. /lib/mwan3/mwan3.sh
config_load mwan3
config_get enabled $INTERFACE enabled 0
[ "$enabled" == "1" ] || exit 0
[ "$ACTION" == "ifup" -o "$ACTION" == "ifdown" ] || exit 1
[ -n "$INTERFACE" ] || exit 2
@ -22,6 +17,14 @@ fi
[ -x /usr/sbin/ip6tables ] || exit 7
[ -x /usr/bin/logger ] || exit 8
mwan3_lock
mwan3_set_connected_iptables
mwan3_unlock
config_load mwan3
config_get enabled $INTERFACE enabled 0
[ "$enabled" == "1" ] || exit 0
config_get family $INTERFACE family ipv4
if [ "$family" == "ipv4" ]; then
@ -30,12 +33,13 @@ elif [ "$family" == "ipv6" ]; then
network_get_gateway6 gateway $INTERFACE
fi
[ -n "$gateway" ] || exit 9
if [ "$ACTION" == "ifup" ]; then
[ -n "$gateway" ] || exit 9
fi
mwan3_lock
$LOG notice "$ACTION interface $INTERFACE (${DEVICE:-unknown})"
mwan3_set_connected_iptables
case "$ACTION" in
ifup)
mwan3_set_general_rules
@ -49,7 +53,6 @@ case "$ACTION" in
;;
ifdown)
mwan3_delete_iface_rules $INTERFACE
mwan3_delete_iface_iptables $INTERFACE
mwan3_delete_iface_route $INTERFACE
mwan3_delete_iface_ipset_entries $INTERFACE
mwan3_set_policies_iptables
@ -57,4 +60,6 @@ case "$ACTION" in
;;
esac
mwan3_unlock
exit 0

View File

@ -7,6 +7,18 @@ IPT4="/usr/sbin/iptables -t mangle -w"
IPT6="/usr/sbin/ip6tables -t mangle -w"
LOG="/usr/bin/logger -t mwan3 -p"
mwan3_lock() {
lock /var/run/mwan3.lock
}
mwan3_unlock() {
lock -u /var/run/mwan3.lock
}
mwan3_lock_clean() {
rm -rf /var/run/mwan3.lock
}
mwan3_get_iface_id()
{
local _tmp _iface _iface_count

View File

@ -46,6 +46,7 @@ ifdown()
kill $(cat /var/run/mwan3track-$1.pid)
rm /var/run/mwan3track-$1.pid
fi
mwan3_delete_iface_iptables $1
}
ifup()
@ -163,6 +164,8 @@ stop()
for ipset in $($IPS -n list | grep mwan3 | grep -E '_v4|_v6'); do
$IPS -q destroy $ipset
done
mwan3_lock_clean
}
restart() {

View File

@ -59,7 +59,8 @@ while true; do
fi
host_up_count=0
sleep $6
sleep $6 &
wait
done
exit 1