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
if sysconfig.lan_ifname then
s = f:section(Section)
local mesh_lan = s:option(Flag, "mesh_lan", translate("Enable meshing on the LAN interface"))
mesh_lan.default = not uci:get_bool("network", "mesh_lan", "disabled")
function mesh_lan:write(data) local function wired_mesh(iface)
uci:set("network", "mesh_lan", "disabled", not data) if not sysconfig[iface .. '_ifname'] then return end
local iface_roles = uci:get_list('gluon', 'iface_' .. iface, 'role')
local interfaces = uci:get_list("network", "client", "ifname") local option = s:option(Flag, 'mesh_' .. iface, wired_mesh_help[iface])
option.default = util.contains(iface_roles, 'mesh') ~= false
for lanif in sysconfig.lan_ifname:gmatch('%S+') do function option:write(data)
local roles = uci:get_list('gluon', 'iface_' .. iface, 'role')
if data then if data then
util.remove_from_set(interfaces, lanif) util.add_to_set(roles, 'mesh')
else else
util.add_to_set(interfaces, lanif) util.remove_from_set(roles, 'mesh')
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.
Please register or to comment