mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 15:38:40 +01:00
Merge pull request #4722 from TDT-GmbH/mwan3-fixes
net/mwan3: fixes for mwan3 (lede-17.01)
This commit is contained in:
+3
-4
@@ -8,9 +8,9 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=mwan3
|
PKG_NAME:=mwan3
|
||||||
PKG_VERSION:=2.0
|
PKG_VERSION:=2.0.1
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=1
|
||||||
PKG_MAINTAINER:=Jeroen Louwes <jeroen.louwes@gmail.com>
|
PKG_MAINTAINER:=Florian Eckert <fe@dev.tdt.de>
|
||||||
PKG_LICENSE:=GPLv2
|
PKG_LICENSE:=GPLv2
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
@@ -21,7 +21,6 @@ define Package/mwan3
|
|||||||
SUBMENU:=Routing and Redirection
|
SUBMENU:=Routing and Redirection
|
||||||
DEPENDS:=+ip +ipset +iptables +iptables-mod-conntrack-extra +iptables-mod-ipopt
|
DEPENDS:=+ip +ipset +iptables +iptables-mod-conntrack-extra +iptables-mod-ipopt
|
||||||
TITLE:=Multiwan hotplug script with connection tracking support
|
TITLE:=Multiwan hotplug script with connection tracking support
|
||||||
MAINTAINER:=Jeroen Louwes <jeroen.louwes@gmail.com>
|
|
||||||
PKGARCH:=all
|
PKGARCH:=all
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
. /lib/functions/network.sh
|
. /lib/functions/network.sh
|
||||||
. /lib/mwan3/mwan3.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
|
[ "$ACTION" == "ifup" -o "$ACTION" == "ifdown" ] || exit 1
|
||||||
[ -n "$INTERFACE" ] || exit 2
|
[ -n "$INTERFACE" ] || exit 2
|
||||||
|
|
||||||
@@ -22,6 +17,14 @@ fi
|
|||||||
[ -x /usr/sbin/ip6tables ] || exit 7
|
[ -x /usr/sbin/ip6tables ] || exit 7
|
||||||
[ -x /usr/bin/logger ] || exit 8
|
[ -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
|
config_get family $INTERFACE family ipv4
|
||||||
|
|
||||||
if [ "$family" == "ipv4" ]; then
|
if [ "$family" == "ipv4" ]; then
|
||||||
@@ -30,12 +33,13 @@ elif [ "$family" == "ipv6" ]; then
|
|||||||
network_get_gateway6 gateway $INTERFACE
|
network_get_gateway6 gateway $INTERFACE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$gateway" ] || exit 9
|
if [ "$ACTION" == "ifup" ]; then
|
||||||
|
[ -n "$gateway" ] || exit 9
|
||||||
|
fi
|
||||||
|
|
||||||
|
mwan3_lock
|
||||||
$LOG notice "$ACTION interface $INTERFACE (${DEVICE:-unknown})"
|
$LOG notice "$ACTION interface $INTERFACE (${DEVICE:-unknown})"
|
||||||
|
|
||||||
mwan3_set_connected_iptables
|
|
||||||
|
|
||||||
case "$ACTION" in
|
case "$ACTION" in
|
||||||
ifup)
|
ifup)
|
||||||
mwan3_set_general_rules
|
mwan3_set_general_rules
|
||||||
@@ -49,7 +53,6 @@ case "$ACTION" in
|
|||||||
;;
|
;;
|
||||||
ifdown)
|
ifdown)
|
||||||
mwan3_delete_iface_rules $INTERFACE
|
mwan3_delete_iface_rules $INTERFACE
|
||||||
mwan3_delete_iface_iptables $INTERFACE
|
|
||||||
mwan3_delete_iface_route $INTERFACE
|
mwan3_delete_iface_route $INTERFACE
|
||||||
mwan3_delete_iface_ipset_entries $INTERFACE
|
mwan3_delete_iface_ipset_entries $INTERFACE
|
||||||
mwan3_set_policies_iptables
|
mwan3_set_policies_iptables
|
||||||
@@ -57,4 +60,6 @@ case "$ACTION" in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
mwan3_unlock
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
@@ -7,6 +7,18 @@ IPT4="/usr/sbin/iptables -t mangle -w"
|
|||||||
IPT6="/usr/sbin/ip6tables -t mangle -w"
|
IPT6="/usr/sbin/ip6tables -t mangle -w"
|
||||||
LOG="/usr/bin/logger -t mwan3 -p"
|
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()
|
mwan3_get_iface_id()
|
||||||
{
|
{
|
||||||
local _tmp _iface _iface_count
|
local _tmp _iface _iface_count
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ ifdown()
|
|||||||
kill $(cat /var/run/mwan3track-$1.pid)
|
kill $(cat /var/run/mwan3track-$1.pid)
|
||||||
rm /var/run/mwan3track-$1.pid
|
rm /var/run/mwan3track-$1.pid
|
||||||
fi
|
fi
|
||||||
|
mwan3_delete_iface_iptables $1
|
||||||
}
|
}
|
||||||
|
|
||||||
ifup()
|
ifup()
|
||||||
@@ -163,6 +164,8 @@ stop()
|
|||||||
for ipset in $($IPS -n list | grep mwan3 | grep -E '_v4|_v6'); do
|
for ipset in $($IPS -n list | grep mwan3 | grep -E '_v4|_v6'); do
|
||||||
$IPS -q destroy $ipset
|
$IPS -q destroy $ipset
|
||||||
done
|
done
|
||||||
|
|
||||||
|
mwan3_lock_clean
|
||||||
}
|
}
|
||||||
|
|
||||||
restart() {
|
restart() {
|
||||||
|
|||||||
@@ -59,7 +59,8 @@ while true; do
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
host_up_count=0
|
host_up_count=0
|
||||||
sleep $6
|
sleep $6 &
|
||||||
|
wait
|
||||||
done
|
done
|
||||||
|
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
Reference in New Issue
Block a user