luci-app-mwan3: honor dynamic interface to get gateway ip
authorFlorian Eckert <fe@dev.tdt.de>
Wed, 9 May 2018 11:13:20 +0000 (13:13 +0200)
committerFlorian Eckert <fe@dev.tdt.de>
Wed, 9 May 2018 12:19:58 +0000 (14:19 +0200)
If a logical interface setup and adds in the protocol handler a dynamic
interface then the gateway is configured in the dynamic interface and the
setting up logical interface does not have a gateway specified.
To fix this check first if a dynamic interface is present and use this
gateway ip if found and if no dynamich interface is set then check for a
gateway in the logical interface.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
applications/luci-app-mwan3/luasrc/controller/mwan3.lua

index d5fc4a3edefcdd0f9fbafddce64840b266815ecd..01e40d9948169d72baf1c5d75dd454969888cad9 100644 (file)
@@ -114,8 +114,14 @@ function diagnosticsData(interface, task)
        end
 
        function get_gateway(inteface)
-               local dump = require("luci.util").ubus("network.interface.%s" % interface, "status", {})
-               local gateway
+               local gateway = nil
+               local dump = nil
+
+               dump = require("luci.util").ubus("network.interface.%s_4" % interface, "status", {})
+               if not dump then
+                       dump = require("luci.util").ubus("network.interface.%s" % interface, "status", {})
+               end
+
                if dump and dump.route then
                        local _, route
                        for _, route in ipairs(dump.route) do