net/mwan3: add lock for mwan3 hotplug script

If more then one interface get up/down at once mwan3 could be in a
undefined state, because more then one mwan3 hotplug script are running
and editing the iptables.

Lock the critical section should solve this issue.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
This commit is contained in:
Florian Eckert 2017-06-22 11:48:01 +02:00
parent 4aa412183e
commit b6e9debc1b
2 changed files with 11 additions and 0 deletions

View file

@ -38,6 +38,7 @@ if [ "$ACTION" == "ifup" ]; then
[ -n "$gateway" ] || exit 9
fi
mwan3_lock
$LOG notice "$ACTION interface $INTERFACE (${DEVICE:-unknown})"
case "$ACTION" in
@ -64,4 +65,6 @@ case "$ACTION" in
;;
esac
mwan3_unlock
exit 0

View file

@ -8,6 +8,14 @@ IPT6="ip6tables -t mangle -w"
LOG="logger -t mwan3 -p"
CONNTRACK_FILE="/proc/net/nf_conntrack"
mwan3_lock() {
lock /var/run/mwan3.lock
}
mwan3_unlock() {
lock -u /var/run/mwan3.lock
}
mwan3_get_iface_id()
{
local _tmp _iface _iface_count