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:
parent
4aa412183e
commit
b6e9debc1b
2 changed files with 11 additions and 0 deletions
|
@ -38,6 +38,7 @@ if [ "$ACTION" == "ifup" ]; then
|
||||||
[ -n "$gateway" ] || exit 9
|
[ -n "$gateway" ] || exit 9
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
mwan3_lock
|
||||||
$LOG notice "$ACTION interface $INTERFACE (${DEVICE:-unknown})"
|
$LOG notice "$ACTION interface $INTERFACE (${DEVICE:-unknown})"
|
||||||
|
|
||||||
case "$ACTION" in
|
case "$ACTION" in
|
||||||
|
@ -64,4 +65,6 @@ case "$ACTION" in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
mwan3_unlock
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -8,6 +8,14 @@ IPT6="ip6tables -t mangle -w"
|
||||||
LOG="logger -t mwan3 -p"
|
LOG="logger -t mwan3 -p"
|
||||||
CONNTRACK_FILE="/proc/net/nf_conntrack"
|
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()
|
mwan3_get_iface_id()
|
||||||
{
|
{
|
||||||
local _tmp _iface _iface_count
|
local _tmp _iface _iface_count
|
||||||
|
|
Loading…
Reference in a new issue