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
|
||||
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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue