# mwan3's MARKing mask (at least 3 bits should be set)
if [ -e "${MWAN3_STATUS_DIR}/mmx_mask" ]; then
- MMX_MASK=$(cat "${MWAN3_STATUS_DIR}/mmx_mask")
+ readfile MMX_MASK "${MWAN3_STATUS_DIR}/mmx_mask"
MWAN3_INTERFACE_MAX=$(uci_get_state mwan3 globals iface_max)
else
config_get MMX_MASK globals mmx_mask '0x3F00'
}
get_uptime() {
- local uptime=$(cat /proc/uptime)
+ local uptime
+ readfile uptime /proc/uptime
echo "${uptime%%.*}"
}
get_online_time() {
local time_n time_u iface
iface="$1"
- time_u="$(cat "$MWAN3TRACK_STATUS_DIR/${iface}/ONLINE" 2>/dev/null)"
+ readfile time_u "$MWAN3TRACK_STATUS_DIR/${iface}/ONLINE" 2>/dev/null
[ -z "${time_u}" ] || [ "${time_u}" = "0" ] || {
time_n="$(get_uptime)"
echo $((time_n-time_u))
interface="$1"
ifdown="$2"
[ -f $MWAN3TRACK_STATUS_DIR/$interface/STATUS ] && {
- status=$(cat $MWAN3TRACK_STATUS_DIR/$interface/STATUS)
+ readfile status $MWAN3TRACK_STATUS_DIR/$interface/STATUS
}
[ "$status" != "online" ] && [ "$ifdown" != 1 ] && return
mwan3_get_iface_hotplug_state() {
local iface=$1
-
- cat "$MWAN3_STATUS_DIR/iface_state/$iface" 2>/dev/null || echo "offline"
+ local state=offline
+ readfile state "$MWAN3_STATUS_DIR/iface_state/$iface"
+ echo "$state"
}
mwan3_report_iface_status()
fi
if [ -f "$MWAN3TRACK_STATUS_DIR/${1}/STATUS" ]; then
- status="$(cat "$MWAN3TRACK_STATUS_DIR/${1}/STATUS")"
+ readfile status "$MWAN3TRACK_STATUS_DIR/${1}/STATUS"
else
status="unknown"
fi
get_age() {
local time_p time_u
iface="$1"
- time_p="$(cat "$MWAN3TRACK_STATUS_DIR/${iface}/TIME")"
+ readfile time_p "$MWAN3TRACK_STATUS_DIR/${iface}/TIME"
[ -z "${time_p}" ] || {
time_n="$(get_uptime)"
echo $((time_n-time_p))
get_offline_time() {
local time_n time_d iface
iface="$1"
- time_d="$(cat "$MWAN3TRACK_STATUS_DIR/${iface}/OFFLINE")"
+ readfile time_d "$MWAN3TRACK_STATUS_DIR/${iface}/OFFLINE"
[ -z "${time_d}" ] || [ "${time_d}" = "0" ] || {
time_n="$(get_uptime)"
echo $((time_n-time_d))
local age=0
local online=0
local offline=0
- local enabled time_p time_n time_u time_d status track_status up uptime
+ local enabled time_p time_n time_u time_d status track_status up uptime temp
if [ "${iface}" != "${iface_select}" ] && [ "${iface_select}" != "" ]; then
return
if [ -f "$MWAN3TRACK_STATUS_DIR/${iface}/STATUS" ]; then
network_get_uptime uptime "$iface"
network_is_up "$iface" && up="1"
- status="$(cat "$MWAN3TRACK_STATUS_DIR/${iface}/STATUS")"
+ readfile status "$MWAN3TRACK_STATUS_DIR/${iface}/STATUS"
else
uptime=0
up=0
json_add_int online "${online}"
json_add_int offline "${offline}"
json_add_int uptime "${uptime}"
- json_add_int "score" "$(cat "$MWAN3TRACK_STATUS_DIR/${iface}/SCORE")"
- json_add_int "lost" "$(cat "$MWAN3TRACK_STATUS_DIR/${iface}/LOST")"
- json_add_int "turn" "$(cat "$MWAN3TRACK_STATUS_DIR/${iface}/TURN")"
+ readfile temp "$MWAN3TRACK_STATUS_DIR/${iface}/SCORE"
+ json_add_int "score" "$temp"
+ readfile temp "$MWAN3TRACK_STATUS_DIR/${iface}/LOST"
+ json_add_int "lost" "$temp"
+ readfile temp "$MWAN3TRACK_STATUS_DIR/${iface}/TURN"
+ json_add_int "turn" "$temp"
json_add_string "status" "${status}"
json_add_boolean "enabled" "${enabled}"
json_add_boolean "running" "${running}"
track="${file#*/TRACK_}"
json_add_object
json_add_string ip "${track}"
- json_add_string status "$(cat "${file}")"
- json_add_int latency "$(cat "$MWAN3TRACK_STATUS_DIR/${iface}/LATENCY_${track}")"
- json_add_int packetloss "$(cat "$MWAN3TRACK_STATUS_DIR/${iface}/LOSS_${track}")"
+ readfile temp "${file}"
+ json_add_string status "$temp"
+ readfile temp "$MWAN3TRACK_STATUS_DIR/${iface}/LATENCY_${track}"
+ json_add_int latency "$temp"
+ readfile temp "$MWAN3TRACK_STATUS_DIR/${iface}/LOSS_${track}"
+ json_add_int packetloss "$temp"
json_close_object
done
json_close_array