From fc1e2c53b9c6d80e8632c11f7378dcc76b03a5b9 Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Tue, 16 Oct 2018 09:31:52 +0200 Subject: [PATCH 1/5] luci-app-mwan3: declare variables in globalsconfig.lua local It is best practice to declar module variables local. Signed-off-by: Florian Eckert --- .../luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua index d8f90e1e25..dba1998fd4 100644 --- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua @@ -3,6 +3,7 @@ local net = require "luci.model.network".init() +local s, m, n, mask m = Map("mwan3", translate("MWAN - Globals")) From 29ab12650c2118362e2aeb0c2eaf5433b63ee617 Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Tue, 16 Oct 2018 09:34:28 +0200 Subject: [PATCH 2/5] luci-app-mwan3: rename variable in globalsconfig.lua Name variables as the options name in uci. Signed-off-by: Florian Eckert --- .../luasrc/model/cbi/mwan/globalsconfig.lua | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua index dba1998fd4..f8dd741fb7 100644 --- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua @@ -3,23 +3,24 @@ local net = require "luci.model.network".init() -local s, m, n, mask +local s, m, local_source, mask m = Map("mwan3", translate("MWAN - Globals")) s = m:section(NamedSection, "globals", "globals", nil) -n = s:option(ListValue, "local_source", + +local_source = s:option(ListValue, "local_source", translate("Local source interface"), translate("Use the IP address of this interface as source IP " .. "address for traffic initiated by the router itself")) -n:value("none") -n.default = "none" +local_source:value("none") +local_source.default = "none" for _, net in ipairs(net:get_networks()) do if net:name() ~= "loopback" then - n:value(net:name()) + local_source:value(net:name()) end end -n.rmempty = false +local_source.rmempty = false mask = s:option( Value, From 8517a25a80aa1b2f5e055d9ed8d61f33b1062749 Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Tue, 16 Oct 2018 09:45:41 +0200 Subject: [PATCH 3/5] luci-app-mwan3: add rtmon interval option Add the configuration option rtmon to luci. With this parameter we could adjust how often the routing table get synced between main routing table and the interface routing table. Signed-off-by: Florian Eckert --- .../luasrc/model/cbi/mwan/globalsconfig.lua | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua index f8dd741fb7..aa08d25f6c 100644 --- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua @@ -3,7 +3,7 @@ local net = require "luci.model.network".init() -local s, m, local_source, mask +local s, m, local_source, mask, rtmon m = Map("mwan3", translate("MWAN - Globals")) @@ -30,4 +30,17 @@ mask = s:option( mask.datatype = "hex(4)" mask.default = "0xff00" +rtmon = s:option( + Value, + "rtmon_interval", + translate("Update interval"), + translate("How often should rtmon update the interface routing table")) +rtmon.datatype = "integer" +rtmon.default = "5" +rtmon:value("1", translatef("%d second", 1)) +rtmon:value("3", translatef("%d seconds", 3)) +rtmon:value("5", translatef("%d seconds", 5)) +rtmon:value("7", translatef("%d seconds", 7)) +rtmon:value("10", translatef("%d seconds", 10)) + return m From 6ec540c46d19c83e65df990db6000a86e245d463 Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Tue, 16 Oct 2018 12:43:18 +0200 Subject: [PATCH 4/5] luci-app-mwan3: add rt_table_lookup option Make list option rt_table_lookup configurable in luci. With this option we could define additional routing tables which get scanned by mwan3 and then get added to the connected ipset. The entries will be treated as connected network and will not get mangeld by mwan3. Signed-off-by: Florian Eckert --- .../luasrc/model/cbi/mwan/globalsconfig.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua index aa08d25f6c..33faa1523c 100644 --- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua @@ -3,7 +3,7 @@ local net = require "luci.model.network".init() -local s, m, local_source, mask, rtmon +local s, m, local_source, mask, rtmon, rtlookup m = Map("mwan3", translate("MWAN - Globals")) @@ -43,4 +43,13 @@ rtmon:value("5", translatef("%d seconds", 5)) rtmon:value("7", translatef("%d seconds", 7)) rtmon:value("10", translatef("%d seconds", 10)) +rtlookup = s:option(DynamicList, + "rt_table_lookup", + translate("Routing table lookup"), + translate("Also scan this Routing table for connected networks")) +rtlookup.datatype = "integer" +rtlookup:value("1", translatef("Routing table %d", 1)) +rtlookup:value("2", translatef("Routing table %d", 2)) +rtlookup:value("220", translatef("Routing table %d", 220)) + return m From 8938f53f1b8d5bebaeea0ca8c3f621f65f0d4056 Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Thu, 8 Nov 2018 09:52:54 +0100 Subject: [PATCH 5/5] luci-app-mwan3: remove deprecated local_source option Remove deprecated local_source option which is not supported/needed anymore. Signed-off-by: Florian Eckert --- .../luasrc/model/cbi/mwan/globalsconfig.lua | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua index 33faa1523c..f54b6e76c3 100644 --- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua @@ -3,25 +3,12 @@ local net = require "luci.model.network".init() -local s, m, local_source, mask, rtmon, rtlookup +local s, m, mask, rtmon, rtlookup m = Map("mwan3", translate("MWAN - Globals")) s = m:section(NamedSection, "globals", "globals", nil) -local_source = s:option(ListValue, "local_source", - translate("Local source interface"), - translate("Use the IP address of this interface as source IP " .. - "address for traffic initiated by the router itself")) -local_source:value("none") -local_source.default = "none" -for _, net in ipairs(net:get_networks()) do - if net:name() ~= "loopback" then - local_source:value(net:name()) - end -end -local_source.rmempty = false - mask = s:option( Value, "mmx_mask",