From 076e5672adba3a7c1dca3a9e6651d5a65092e426 Mon Sep 17 00:00:00 2001
From: Rosy Song <rosysong@rosinson.com>
Date: Sat, 29 Dec 2018 17:31:12 +0800
Subject: luci-app-nft-qos: fix monitor doesn't work when there no ipv6
 support.

Signed-off-by: Rosy Song <rosysong@rosinson.com>
---
 applications/luci-app-nft-qos/luasrc/controller/nft-qos.lua | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

(limited to 'applications/luci-app-nft-qos/luasrc/controller/nft-qos.lua')

diff --git a/applications/luci-app-nft-qos/luasrc/controller/nft-qos.lua b/applications/luci-app-nft-qos/luasrc/controller/nft-qos.lua
index 42043505dc..f7e399352f 100644
--- a/applications/luci-app-nft-qos/luasrc/controller/nft-qos.lua
+++ b/applications/luci-app-nft-qos/luasrc/controller/nft-qos.lua
@@ -17,7 +17,12 @@ function index()
 end
 
 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
 		for l in c:lines() do
 			local _, i, p, b = l:match('^%s+ip ([^%s]+) ([^%s]+) counter packets (%d+) bytes (%d+)')
-- 
cgit v1.2.3