luci-app-nft-qos: fix monitor doesn't work when there no ipv6 support.

Signed-off-by: Rosy Song <rosysong@rosinson.com>
This commit is contained in:
Rosy Song 2018-12-29 17:31:12 +08:00
parent 39aa247dd2
commit 076e5672ad

View file

@ -17,7 +17,12 @@ function index()
end end
function _action_rate(rv, n) function _action_rate(rv, n)
local c = io.popen("nft list chain inet nft-qos-monitor " .. n .. " 2>/dev/null") local has_ipv6 = nixio.fs.access("/proc/net/ipv6_route")
if has_ipv6 then
local c = io.popen("nft list chain inet nft-qos-monitor " .. n .. " 2>/dev/null")
else
local c = io.popen("nft list chain ip nft-qos-monitor " .. n .. " 2>/dev/null")
end
if c then if c then
for l in c:lines() do for l in c:lines() do
local _, i, p, b = l:match('^%s+ip ([^%s]+) ([^%s]+) counter packets (%d+) bytes (%d+)') local _, i, p, b = l:match('^%s+ip ([^%s]+) ([^%s]+) counter packets (%d+) bytes (%d+)')