net/mwan3: fixup parse json_load an null message
If a interface is down, call ubus will return an null message which is used to json_load, it causes json_get_vars gets value from last load and l3_device various is nonzero. Signed-off-by: Kyson Lok <kysonlok@gmail.com>
This commit is contained in:
parent
ac2e6dfc0c
commit
8c0ed00c39
1 changed files with 10 additions and 5 deletions
|
@ -43,7 +43,7 @@ ifdown()
|
||||||
|
|
||||||
ifup()
|
ifup()
|
||||||
{
|
{
|
||||||
local device enabled up l3_device
|
local device enabled up l3_device status
|
||||||
|
|
||||||
config_load mwan3
|
config_load mwan3
|
||||||
config_get_bool enabled globals 'enabled' 0
|
config_get_bool enabled globals 'enabled' 0
|
||||||
|
@ -67,13 +67,18 @@ ifup()
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
json_load $(ubus -S call network.interface.$1 status)
|
status=$(ubus -S call network.interface.$1 status)
|
||||||
json_get_vars up l3_device
|
[ -n "$status" ] && {
|
||||||
|
json_load $status
|
||||||
|
json_get_vars up l3_device
|
||||||
|
}
|
||||||
|
|
||||||
config_get enabled "$1" enabled 0
|
config_get enabled "$1" enabled 0
|
||||||
|
|
||||||
if [ "$up" -eq 1 ] \
|
|
||||||
|
if [ "$up" = "1" ] \
|
||||||
&& [ -n "$l3_device" ] \
|
&& [ -n "$l3_device" ] \
|
||||||
&& [ "$enabled" -eq 1 ]; then
|
&& [ "$enabled" = "1" ]; then
|
||||||
ACTION=ifup INTERFACE=$1 DEVICE=$l3_device /sbin/hotplug-call iface
|
ACTION=ifup INTERFACE=$1 DEVICE=$l3_device /sbin/hotplug-call iface
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue