Skip to content
Snippets Groups Projects
Unverified Commit 6dcee2e3 authored by Matthias Schiffer's avatar Matthias Schiffer
Browse files

gluon-web-network: update wired mesh settings for new role-based configuration

parent 316e96a4
No related branches found
No related tags found
No related merge requests found
...@@ -28,6 +28,9 @@ msgstr "PoE-Passthrough aktivieren" ...@@ -28,6 +28,9 @@ msgstr "PoE-Passthrough aktivieren"
msgid "Enable PoE Power Port %s" msgid "Enable PoE Power Port %s"
msgstr "PoE-Ausgabe auf Port %s aktivieren" msgstr "PoE-Ausgabe auf Port %s aktivieren"
msgid "Enable meshing on the Ethernet interface"
msgstr "Mesh auf dem Ethernet-Port aktivieren"
msgid "Enable meshing on the LAN interface" msgid "Enable meshing on the LAN interface"
msgstr "Mesh auf dem LAN-Port aktivieren" msgstr "Mesh auf dem LAN-Port aktivieren"
......
...@@ -28,6 +28,9 @@ msgstr "" ...@@ -28,6 +28,9 @@ msgstr ""
msgid "Enable PoE Power Port %s" msgid "Enable PoE Power Port %s"
msgstr "" msgstr ""
msgid "Enable meshing on the Ethernet interface"
msgstr ""
msgid "Enable meshing on the LAN interface" msgid "Enable meshing on the LAN interface"
msgstr "Activer le réseau MESH sur le port LAN" msgstr "Activer le réseau MESH sur le port LAN"
......
...@@ -19,6 +19,9 @@ msgstr "" ...@@ -19,6 +19,9 @@ msgstr ""
msgid "Enable PoE Power Port %s" msgid "Enable PoE Power Port %s"
msgstr "" msgstr ""
msgid "Enable meshing on the Ethernet interface"
msgstr ""
msgid "Enable meshing on the LAN interface" msgid "Enable meshing on the LAN interface"
msgstr "" msgstr ""
......
...@@ -76,36 +76,37 @@ end ...@@ -76,36 +76,37 @@ end
s = f:section(Section) s = f:section(Section)
local mesh_wan = s:option(Flag, "mesh_wan", translate("Enable meshing on the WAN interface")) local wired_mesh_help = {
mesh_wan.default = not uci:get_bool("network", "mesh_wan", "disabled") single = translate('Enable meshing on the Ethernet interface'),
wan = translate('Enable meshing on the WAN interface'),
function mesh_wan:write(data) lan = translate('Enable meshing on the LAN interface'),
uci:set("network", "mesh_wan", "disabled", not data) }
end
local function wired_mesh(iface)
if sysconfig.lan_ifname then if not sysconfig[iface .. '_ifname'] then return end
s = f:section(Section) local iface_roles = uci:get_list('gluon', 'iface_' .. iface, 'role')
local mesh_lan = s:option(Flag, "mesh_lan", translate("Enable meshing on the LAN interface")) local option = s:option(Flag, 'mesh_' .. iface, wired_mesh_help[iface])
mesh_lan.default = not uci:get_bool("network", "mesh_lan", "disabled") option.default = util.contains(iface_roles, 'mesh') ~= false
function mesh_lan:write(data) function option:write(data)
uci:set("network", "mesh_lan", "disabled", not data) local roles = uci:get_list('gluon', 'iface_' .. iface, 'role')
if data then
local interfaces = uci:get_list("network", "client", "ifname") util.add_to_set(roles, 'mesh')
else
for lanif in sysconfig.lan_ifname:gmatch('%S+') do util.remove_from_set(roles, 'mesh')
if data then
util.remove_from_set(interfaces, lanif)
else
util.add_to_set(interfaces, lanif)
end
end end
uci:set_list('gluon', 'iface_' .. iface, 'role', roles)
uci:set_list("network", "client", "ifname", interfaces) -- Reconfigure on next reboot
uci:set('gluon', 'core', 'reconfigure', true)
end end
end end
wired_mesh('single')
wired_mesh('wan')
wired_mesh('lan')
local section local section
uci:foreach("system", "gpio_switch", function(si) uci:foreach("system", "gpio_switch", function(si)
if si[".name"]:match("poe") then if si[".name"]:match("poe") then
...@@ -160,7 +161,7 @@ function f:write() ...@@ -160,7 +161,7 @@ function f:write()
uci:delete("network", "wan6", "ip6gw") uci:delete("network", "wan6", "ip6gw")
end end
uci:commit('gluon')
uci:commit("network") uci:commit("network")
uci:commit('system') uci:commit('system')
end end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment