luci-mod-admin-full: fallback to generic switch topology

Use a generic default topology if we cannot infer switch information from
board.json and display an error message in this case. Should fix #779 and
similar issues.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2016-08-18 09:23:28 +02:00
parent 4a5635cafa
commit c390a09cea

View file

@ -30,9 +30,23 @@ m.uci:foreach("network", "switch",
local topo = topologies[switch_name]
if not topo then
m.message = translatef("Switch %q has an unknown topology - the VLAN settings might not be accurate.", switch_name)
topo = {
ports = {
{ num = 0, label = "Port 1" },
{ num = 1, label = "Port 2" },
{ num = 2, label = "Port 3" },
{ num = 3, label = "Port 4" },
{ num = 4, label = "Port 5" },
{ num = 5, label = "CPU (eth0)", tagged = false }
}
}
end
-- Parse some common switch properties from swconfig help output.
local swc = io.popen("swconfig dev %q help 2>/dev/null" % switch_name)
if swc and topo then
if swc then
local is_port_attr = false
local is_vlan_attr = false